系統版本:
root@ubuntu:/# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04 LTS Release: 18.04 Codename: bionic root@ubuntu:/#
之前的版本網卡配置信息配置在/etc/network/interfaces文件,可以如下配置,
auto ens33 iface ens33 inet static address 192.168.0.111 netmask 255.255.255.0 gateway 192.168.0.1
在18.04上也是可以用的,只是要重啟才能生效。通過service networking restart無效。
下面介紹一下在18.04上新采用的netplan命令。網卡信息配置在/etc/netplan/01-network-manager-all.yaml文件,需做如下配置,如下配置需使用root賬號權限修改設置
network: ethernets: enp2s0: dhcp4: no addresses: [10.0.17.247/24] gateway4: 10.0.17.1 nameservers: addresses: [8.8.8.8] version: 2
正確例子:
保存退出,依次按:ESC -->:wq
然后使用以下命令使配置即時生效
netplan apply
測試:
ping baidu.com成功
使用上面生效命令可能會報錯,解決方法如下:
1、在執行netplan apply發生報錯信息Invalid YAML at //etc/netplan/01-netcfg.yaml line 11 column 11: mapping values are not allowed in this context
解決辦法:yaml是層次結構,需要縮進,冒號(:)表示字典,連字符(-)表示列表,冒號出現的后面一定要空一格
2、冒號后添加空格后(如下圖)再執行netplan apply又報錯:Invalid YAML at //etc/netplan/01-netcfg.yaml line 11 column 6: did not find expected key
解決辦法:nameservers應該和gateway4一樣是第四層,nameservers后的addresses應該是第五層
正確的層數如下
第一層-network: 第二層-- ethernets: 第三層--- ens33: 第四層----addresses: [172.18.0.31/24] 第四層----gateway4: 172.18.0.1 第四層----nameservers: 第五層-----addresses: [114.114.114.114, 8.8.8.8]
其他出現的類似錯誤:line8 column 6:cloud not find expected ‘:’ #提示是冒號:后面沒加空格
出現類似錯誤:netplan found character that cannot start any token,#提示是沒有按五個層次寫配置文檔,一定要下一層比上一層多空一格或以上。
總之:這里重啟網絡時報錯,大多是層次不對、格式不對、沒有空格