說明:
因?yàn)楹芏鄿y試環(huán)境在這個Ubuntu系統(tǒng)上裝著僻焚,卻由于虛擬服務(wù)器的重啟允悦、斷電,每次Ip發(fā)生變化虑啤,就得更新環(huán)境隙弛,所以需要把該環(huán)境的ip配置成靜態(tài)的,一勞永逸狞山。
根據(jù)以往配置Ubuntu靜態(tài)ip的經(jīng)驗(yàn)全闷,直接 vi /etc/network/interfaces 在該文件下配置了靜態(tài)ip,重置網(wǎng)絡(luò)后發(fā)現(xiàn)并沒有生效
所以查了ubuntu版本萍启,是18.04总珠,然后百度,發(fā)現(xiàn)“ubuntu從17.10開始,已放棄在/etc/network/interfaces里固定IP的配置姚淆,即使配置也不會生效孕蝉,而是改成netplan方式 ,配置寫在/etc/netplan/01-netcfg.yaml或者類似名稱的yaml文件里”腌逢,所以根據(jù)查到的方法進(jìn)行配置降淮,結(jié)果遇到好多報錯,差點(diǎn)吐血搏讶,這里記下自己遇到的報錯
1佳鳖、剛開始的配置如下:在執(zhí)行netplan apply發(fā)生報錯信息Invalid YAML at //etc/netplan/01-netcfg.yaml line 11 column 11: mapping values are not allowed in this context
解決辦法:yaml是層次結(jié)構(gòu),需要縮進(jìn)媒惕,冒號(:)表示字典系吩,連字符(-)表示列表,冒號出現(xiàn)的后面一定要空一格
2妒蔚、冒號后添加空格后(如下圖)再執(zhí)行netplan apply又報錯:Invalid YAML at //etc/netplan/01-netcfg.yaml line 11 column 6: did not find expected key
解決辦法:nameservers應(yīng)該和gateway4一樣是第四層穿挨,nameservers后的addresses應(yīng)該是第五層
正確的層數(shù)如下:
第一層-network:
第二層-- ethernets:
第三層--- ens33:
第四層----addresses: [172.18.0.31/24]
第四層----gateway4: 172.18.0.1
第四層----nameservers:
第五層-----addresses: [114.114.114.114, 8.8.8.8]
3、按照上面的辦法解決后如下圖執(zhí)行netplan apply又報錯:Error in network definition //etc/netplan/01-netcfg.yaml line 8 column 16: expected scalar
解決辦法:gateway4的地址沒有中括號肴盏,修改后重啟網(wǎng)絡(luò)服務(wù)就正常了(netplan apply)
所以正確的配置格式應(yīng)該如下:這樣就成功配置了靜態(tài)ip
我沒遇到的報錯:
出現(xiàn)類似錯誤:line8 column 6:cloud not find expected ':' #提示是冒號:后面沒加空格
出現(xiàn)類似錯誤:netplan found character that cannot start any token科盛,#提示是沒有按五個層次寫配置文檔,一定要下一層比上一層多空一格或以上菜皂。
總之:這里重啟網(wǎng)絡(luò)時報錯贞绵,大多是層次不對、格式不對恍飘、沒有空格