新聞中心
netplan 是一個(gè)命令行工具,用于在某些 linux 發(fā)行版上配置網(wǎng)絡(luò)。

在宜城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),全網(wǎng)營(yíng)銷(xiāo)推廣,外貿(mào)網(wǎng)站制作,宜城網(wǎng)站建設(shè)費(fèi)用合理。
多年以來(lái) Linux 管理員和用戶(hù)們以相同的方式配置他們的網(wǎng)絡(luò)接口。例如,如果你是 Ubuntu 用戶(hù),你能夠用桌面 GUI 配置網(wǎng)絡(luò)連接,也可以在 /etc/network/interfaces 文件里配置。配置相當(dāng)簡(jiǎn)單且可以奏效。在文件中配置看起來(lái)就像這樣:
auto enp10s0
iface enp10s0 inet static
address 192.168.1.162
netmask 255.255.255.0
gateway 192.168.1.100
dns-nameservers 1.0.0.1,1.1.1.1
保存并關(guān)閉文件。使用命令重啟網(wǎng)絡(luò):
sudo systemctl restart networking
或者,如果你使用不帶 systemd 的發(fā)行版,你可以通過(guò)老辦法來(lái)重啟網(wǎng)絡(luò):
sudo /etc/init.d/networking restart
你的網(wǎng)絡(luò)將會(huì)重新啟動(dòng),新的配置將會(huì)生效。
這就是多年以來(lái)的做法。但是現(xiàn)在,在某些發(fā)行版上(例如 Ubuntu Linux 18.04),網(wǎng)絡(luò)的配置與控制發(fā)生了很大的變化。不需要那個(gè) interfaces 文件和 /etc/init.d/networking 腳本,我們現(xiàn)在轉(zhuǎn)向使用 Netplan。Netplan 是一個(gè)在某些 Linux 發(fā)行版上配置網(wǎng)絡(luò)連接的命令行工具。Netplan 使用 YAML 描述文件來(lái)配置網(wǎng)絡(luò)接口,然后,通過(guò)這些描述為任何給定的呈現(xiàn)工具生成必要的配置選項(xiàng)。
我將向你展示如何在 Linux 上使用 Netplan 配置靜態(tài) IP 地址和 DHCP 地址。我會(huì)在 Ubuntu Server 18.04 上演示。有句忠告,你創(chuàng)建的 .yaml 文件中的縮進(jìn)必須保持一致,否則將會(huì)失敗。你不用為每行使用特定的縮進(jìn)間距,只需保持一致就行了。
新的配置文件
打開(kāi)終端窗口(或者通過(guò) SSH 登錄進(jìn) Ubuntu 服務(wù)器)。你會(huì)在 /etc/netplan 文件夾下發(fā)現(xiàn) Netplan 的新配置文件。使用 cd /etc/netplan 命令進(jìn)入到那個(gè)文件夾下。一旦進(jìn)到了那個(gè)文件夾,也許你就能夠看到一個(gè)文件:
01-netcfg.yaml
你可以創(chuàng)建一個(gè)新的文件或者是編輯默認(rèn)文件。如果你打算修改默認(rèn)文件,我建議你先做一個(gè)備份:
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
備份好后,就可以開(kāi)始配置了。
網(wǎng)絡(luò)設(shè)備名稱(chēng)
在你開(kāi)始配置靜態(tài) IP 之前,你需要知道設(shè)備名稱(chēng)。要做到這一點(diǎn),你可以使用命令 ip a,然后找出哪一個(gè)設(shè)備將會(huì)被用到(圖 1)。
圖 1:使用 ip a 命令找出設(shè)備名稱(chēng)
我將為 ens5 配置一個(gè)靜態(tài)的 IP。
配置靜態(tài) IP 地址
使用命令打開(kāi)原來(lái)的 .yaml 文件:
sudo nano /etc/netplan/01-netcfg.yaml
文件的布局看起來(lái)就像這樣:
network:
Version: 2
Renderer: networkd
ethernets:
DEVICE_NAME:
Dhcp4: yes/no
Addresses: [IP/NETMASK]
Gateway: GATEWAY
Nameservers:
Addresses: [NAMESERVER, NAMESERVER]
其中:
DEVICE_NAME是需要配置設(shè)備的實(shí)際名稱(chēng)。yes/no代表是否啟用 dhcp4。IP是設(shè)備的 IP 地址。NETMASK是 IP 地址的掩碼。GATEWAY是網(wǎng)關(guān)的地址。NAMESERVER是由逗號(hào)分開(kāi)的 DNS 服務(wù)器列表。
這是一份 .yaml 文件的樣例:
network:
version: 2
renderer: networkd
ethernets:
ens5:
dhcp4: no
addresses: [192.168.1.230/24]
gateway4: 192.168.1.254
nameservers:
addresses: [8.8.4.4,8.8.8.8]
編輯上面的文件以達(dá)到你想要的效果。保存并關(guān)閉文件。
注意,掩碼已經(jīng)不用再配置為 255.255.255.0 這種形式。取而代之的是,掩碼已被添加進(jìn)了 IP 地址中。
測(cè)試配置
在應(yīng)用改變之前,讓我們測(cè)試一下配置。為此,使用命令:
sudo netplan try
上面的命令會(huì)在應(yīng)用配置之前驗(yàn)證其是否有效。如果成功,你就會(huì)看到配置被接受。換句話說(shuō),Netplan 會(huì)嘗試將新的配置應(yīng)用到運(yùn)行的系統(tǒng)上。如果新的配置失敗了,Netplan 會(huì)自動(dòng)地恢復(fù)到之前使用的配置。成功后,新的配置就會(huì)被使用。
應(yīng)用新的配置
如果你確信配置文件沒(méi)有問(wèn)題,你就可以跳過(guò)測(cè)試環(huán)節(jié)并且直接使用新的配置。它的命令是:
sudo netplan apply
此時(shí),你可以使用 ip a 看看新的地址是否正確。
配置 DHCP
雖然你可能不會(huì)配置 DHCP 服務(wù),但通常還是知道比較好。例如,你也許不知道網(wǎng)絡(luò)上當(dāng)前可用的靜態(tài) IP 地址是多少。你可以為設(shè)備配置 DHCP,獲取到 IP 地址,然后將那個(gè)地址重新配置為靜態(tài)地址。
在 Netplan 上使用 DHCP,配置文件看起來(lái)就像這樣:
network:
version: 2
renderer: networkd
ethernets:
ens5:
Addresses: []
dhcp4: true
optional: true
保存并退出。用下面命令來(lái)測(cè)試文件:
sudo netplan try
Netplan 應(yīng)該會(huì)成功配置 DHCP 服務(wù)。這時(shí)你可以使用 ip a 命令得到動(dòng)態(tài)分配的地址,然后重新配置靜態(tài)地址。或者,你可以直接使用 DHCP 分配的地址(但看看這是一個(gè)服務(wù)器,你可能不想這樣做)。
也許你有不只一個(gè)的網(wǎng)絡(luò)接口,你可以命名第二個(gè) .yaml 文件為 02-netcfg.yaml 。Netplan 會(huì)按照數(shù)字順序應(yīng)用配置文件,因此 01 會(huì)在 02 之前使用。根據(jù)你的需要?jiǎng)?chuàng)建多個(gè)配置文件。
就是這些了
不管怎樣,那些就是所有關(guān)于使用 Netplan 的東西了。雖然它對(duì)于我們習(xí)慣性的配置網(wǎng)絡(luò)地址來(lái)說(shuō)是一個(gè)相當(dāng)大的改變,但并不是所有人都用的慣。但這種配置方式值得一提……因此你會(huì)適應(yīng)的。
在 Linux Foundation 和 edX 上通過(guò) “Introduction to Linux” 課程學(xué)習(xí)更多關(guān)于 Linux 的內(nèi)容。
分享文章:如何在Linux上使用網(wǎng)絡(luò)配置工具Netplan
分享鏈接:http://www.dlmjj.cn/article/djcopdh.html


咨詢(xún)
建站咨詢(xún)
