在Linux上使用Netplan進(jìn)行網(wǎng)絡(luò)配置
譯文【51CTO.com快譯】Netplan是一個(gè)命令行程序,用于在某些Linux發(fā)行版上配置網(wǎng)絡(luò);下面展示了它的使用方法。
多年來(lái),Linux管理員和用戶一直都在以一種固定的方式配置了他們的網(wǎng)絡(luò)接口。例如,如果你是一個(gè)Ubuntu用戶,你可以通過(guò)桌面GUI或者從/etc/network/interfaces文件配置網(wǎng)絡(luò)連接。這種方法簡(jiǎn)單而且也很好用。interfaces文件中的配置可能是這樣的:
- 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)閉該文件后,可以使用以下命令重新啟動(dòng)網(wǎng)絡(luò):
- sudo systemctl restart networking
或者,如果您使用的是非systemd的發(fā)行版,您可以像這樣重新啟動(dòng)網(wǎng)絡(luò):
- sudo /etc/init.d/networking restart
您的網(wǎng)絡(luò)將重新啟動(dòng),新配置的接口也能工作的很好。
這就是多年來(lái)的做法。但是現(xiàn)在不同了。在某些發(fā)行版(如Ubuntu 18.04)中,網(wǎng)絡(luò)的配置和控制發(fā)生了很大的變化。我們現(xiàn)在需要轉(zhuǎn)向Netplan,而不是使用接口文件和/etc/init.d/networking腳本。Netplan是一個(gè)命令行程序,用于配置某些Linux發(fā)行版上的網(wǎng)絡(luò)。Netplan使用YAML描述文件來(lái)配置網(wǎng)絡(luò)接口,并從這些描述中為任何給定的工具生成必要的配置選項(xiàng)。
我將向您展示如何在Linux上使用Netplan來(lái)配置靜態(tài)IP地址和DHCP地址。我將在Ubuntu Server 18.04上進(jìn)行演示。需要提醒的是,你為Netplan創(chuàng)建的.yaml文件必須在間距上保持一致,否則它們將無(wú)法工作。你不必為每行使用特定的間距,只要保持一致就行了。
創(chuàng)建新的配置文件
打開(kāi)一個(gè)終端窗口(或者通過(guò)SSH登錄到你的Ubuntu Server)。您將在/etc/netplan目錄中找到Netplan的新配置文件。使用命令cd /etc/netplan切換到該目錄。進(jìn)入該目錄后,您可能只會(huì)看到一個(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
有了備份,就可以進(jìn)行配置了。
網(wǎng)絡(luò)設(shè)備名稱
在配置靜態(tài)IP地址之前,需要知道要配置的設(shè)備的名稱。為此,您可以使用命令ip a來(lái)找出要使用的設(shè)備(如下圖)。
我將為設(shè)備ens5配置靜態(tài)IP地址。
配置靜態(tài)IP地址
使用以下命令打開(kāi)原始.yaml文件進(jìn)行編輯:
- sudo nano /etc/netplan/01-netcfg.yaml
該文件的布局如下所示:
- network:
- Version: 2
- Renderer: networkd
- ethernets:
- DEVICE_NAME:
- Dhcp4: yes/no
- Addresses: [IP/NETMASK]
- Gateway: GATEWAY
- Nameservers:
- Addresses: [NAMESERVER, NAMESERVER]
其中:
- DEVICE_NAME是要配置的實(shí)際設(shè)備名稱。
- yes/no是啟用或禁用dhcp4的選項(xiàng)。
- IP是設(shè)備的IP地址。
- NETMASK是IP地址的網(wǎng)絡(luò)掩碼。
- GATEWAY是您網(wǎng)關(guān)的地址。
- NAMESERVER是用逗號(hào)分隔的DNS服務(wù)器列表。
下面是一個(gè).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]
你可以根據(jù)自己的實(shí)際情況編輯以上內(nèi)容以滿足您的網(wǎng)絡(luò)需求。保存并關(guān)閉該文件。
請(qǐng)注意,網(wǎng)絡(luò)掩碼不再以255.255.255.0的形式配置。網(wǎng)絡(luò)掩碼被添加到了IP地址后面。
測(cè)試配置
在應(yīng)用更改之前,讓我們測(cè)試一下配置。為此,使用以下命令:
- sudo netplan try
上述命令將在應(yīng)用之前驗(yàn)證配置。如果成功,您將看到新配置被接受。換句話說(shuō),Netplan將嘗試將新設(shè)置應(yīng)用于正在運(yùn)行的系統(tǒng)。如果新的配置文件測(cè)試失敗,Netplan將自動(dòng)恢復(fù)到以前的工作配置。如果新的配置工作,它將被應(yīng)用。
應(yīng)用新配置
如果您確定您的配置文件,您可以跳過(guò)try選項(xiàng),直接應(yīng)用新配置。對(duì)此的命令是:
- sudo netplan apply
此時(shí),您可以使用命令ip a來(lái)查看您的新地址配置是否已經(jīng)就緒。
配置DHCP
雖然您可能不會(huì)為您的服務(wù)器配置DHCP,但是知道如何做總是很好的。例如,您可能不知道網(wǎng)絡(luò)上當(dāng)前有哪些靜態(tài)IP地址可用。您可以為您的設(shè)備配置DHCP,獲取IP地址,然后將該地址重新配置為靜態(tài)地址。
要在Netplan中使用DHCP,配置文件應(yīng)該如下所示:
- network:
- version: 2
- renderer: networkd
- ethernets:
- ens5:
- Addresses: []
- dhcp4: true
- optional: true
保存并關(guān)閉該文件。然后使用以下命令進(jìn)行測(cè)試:
- sudo netplan try
Netplan應(yīng)該已經(jīng)成功測(cè)試并應(yīng)用DHCP配置。然后,您可以使用ip a命令,獲取動(dòng)態(tài)分配的地址,然后重新配置靜態(tài)地址。或者,您可以將其設(shè)置為使用DHCP(但是考慮到這是一個(gè)服務(wù)器,您可能不想這樣做)。
如果有多個(gè)接口,你可以將第二個(gè).yaml配置文件命名為02-netcfg.yaml。Netplan將按數(shù)字順序應(yīng)用配置文件,因此01將在02之前應(yīng)用。你可以根據(jù)需要為您的服務(wù)器創(chuàng)建盡可能多的配置文件。
這就是全部
信不信由你,這就是使用Netplan的全部?jī)?nèi)容。雖然這對(duì)于我們之前所習(xí)慣的配置網(wǎng)絡(luò)地址的方式來(lái)說(shuō)是一個(gè)重大的改變,但這并不難習(xí)慣??紤]到這種類型的配置將會(huì)在linux中變的越來(lái)越流行,你最終還是需要習(xí)慣它。
原文標(biāo)題:How to Use the Netplan Network Configuration Tool on Linux,作者:JACK WALLEN
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】




























