一、背景
Netplan是Ubuntu 17.10中引入的一種新的指令行網絡配置實用程式,用于在
Ubuntu
系統中輕松管理和配置網絡設定。它允許您使用YAML抽象來配置網絡接口。它可與NetworkManager和systemd-networkd網絡守護程式(稱為渲染程式,您可以選擇使用其中的哪一個)一起作為核心的接口。
它讀取
/etc/netplan/*.ymal
中描述的網絡配置,并且可以将所有網絡接口的配置存儲在這些檔案中。
在本文中。我們将解釋如何使用Netplan實用程式在Ubuntu 18.04中為網絡接口配置網絡靜态或動态IP位址。
二、解決方案
列出Ubuntu上的所有活動網絡接口
首先,您需要确定要配置的網絡接口。 您可以使用ifconfig指令列出系統中所有連接配接的網絡接口,如圖所示。
ifconfig -a

檢查Ubuntu中的網絡接口
從上述指令的輸出中,我們有2個連接配接到Ubuntu系統的接口:1個以太網接口和環回接口。
Ubuntu設定靜态IP位址
在這個例子中,我們将
ens33
以太網網絡接口配置一個靜态IP。如圖所示,使用
vim
打開
netplain
配置檔案。
重要提示:如果YAML檔案不是由發行版安裝程式建立的,則可以使用此指令為渲染器生成所需的配置。
sudo netplan generate
另外,自動生成的檔案可能在桌面,伺服器,雲執行個體等(例如01-network-manager-all.ymal或01-netcfg.yaml)上有不同的檔案名,但是
/etc/netplan/*.yaml
下的所有檔案将被
netplan
讀取。
sudo vim /etc/netplan/xxxx.ymal
然後在
ethernet
部分添加以下配置。
network:
ethernets:
ens33:
addresses:
- 192.168.4.254/24
dhcp4: false
gateway4: 192.168.4.2
nameservers:
addresses:
- 8.8.8.8
search: []
version: 2
說明:
- ens33:網絡接口名稱
- dhcp4:接收IPV4接口的dhcp屬性
- dhcp6:接收IPV6接口的dhcp屬性
- addresses:接口的靜态位址序列
- gateway4:預設網關的IPV4位址
- Nameservers:DNS伺服器位址,以,号分割
添加完成後,您的配置檔案應該具有以下内容,如以下螢幕截圖所示。
接口的位址屬性期望有一個序列條目,例如[192.168.4.254/24,"20001: 1 :: 1/64"]或[192.168.1.254/24, ](有關更多資訊,請參考netplan手冊頁)。
在Ubuntu中配置靜态IP
儲存該檔案并退出。然後使用以下
netplan
指令應用最近的網絡更改。
sudo netplan apply
現在再次驗證所有可用的網絡接口,
ens33
以太網接口現在應連接配接到本地網絡,并具有IP位址,如以下截圖所示。
ifconfig -a
在Ubuntu中驗證網絡接口
Ubuntu設定動态IP位址
要将
ens33
以太網接口配置為通過DHCP動态接收IP位址,隻需使用一下配置即可。
network:
ethernets:
ens33:
dhcp6: true
dhcp4: true
version: 2
netplan
sudo netplan apply
ifconfig -a
從現在起,您的系統将從路由器動态擷取IP位址。
你可以通過檢視
netplan
手冊頁找到更多資訊和配置選項。
man netplan
這個時候,你已成功将網絡靜态IP位址配置到你的Ubuntu伺服器。