Ubuntu 18.04 的網路配置
netplan簡介
目前,ubuntu18.04上使用了netplan 作為網路配置工具;在終端上配置網路引數跟之前的版本有比較大的差別
Netplan工作流程如下圖所示;通過讀取 /etc/netplan/*.yaml 下的配置檔案來獲取網路資訊(而不再讀取 /etc/network/interfaces 檔案),從而生成backend config, 這些網路資訊作用於Network Manager 和systemd-networkd。
注意:只是針對ubuntu18.04 Server版,對於18.04 desktop它預設是使用NetworkManger來進行管理,可使用圖形介面進行配置,其網路配置檔案是儲存在:/etc/NetworkManager/system-connections目錄下的,跟Server版區別還是比較大的。本人安裝的是Dsektop版本,不小心把NetworkManger弄壞了,所以只能用這個了。
更多詳細資訊,請看https://netplan.io/examples
配置方法
假設,通過ifconfig等方法得知主機上有乙太網卡 enp129s0f0; 需要對其進行網路配置;
靜態IP 的書寫方式
使用vim開啟 /etc/netplan/01-network-manager-all.yaml 檔案
vim /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system network: ethernets: enp129s0f0: addresses: [172.16.50.100/24] gateway4: 172.16.50.254 #dhcp4: true nameservers: addresses: - 8.8.8.8 version: 2 #renderer: NetworkManager
解析:
為了更好的說明配置檔案,可以對比之前的寫法:
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto enp129s0f0 iface enp129s0f0 inet static address 172.16.50.100 gateway 172.16.50.254 netmask 255.255.255.0 #broadcast 192.168.1.255 dns-nameservers 8.8.8.8
由此可見, ethernets 欄位中需要書寫的是網絡卡名稱(可以寫多塊網絡卡資訊);
在網絡卡名稱enp129s0f0下面,可以配置網絡卡資訊,如果是需要動態網路直接謝 dhcp4:true 即可,其餘的都不需要寫了;
addresses: [XXX.XXX.XXX.XXX/24] 是在說ip地址中前24位是網路地址,後32-24的部分是主機的ip,前24是網路地址的屬於C類地址,由後面的子網掩碼netmask:255.255.255.0 也可以知道屬於C類地址;
p.s: 子網掩碼的相關知識,可以檢視這裡
生效
sudo netplan apply