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