說明:
因為很多測試環境在這個Ubuntu系統上裝着,卻由於虛擬服務器的重啟、斷電,每次Ip發生變化,就得更新環境,所以需要把該環境的ip配置成靜態的,一勞永逸。
根據以往配置Ubuntu靜態ip的經驗,直接 vi /etc/network/interfaces 在該文件下配置了靜態ip,重置網絡后發現並沒有生效
所以查了ubuntu版本,是18.04,然后百度,發現“ubuntu從17.10開始,已放棄在/etc/network/interfaces里固定IP的配置,即使配置也不會生效,而是改成netplan方式 ,配置寫在/etc/netplan/01-netcfg.yaml或者類似名稱的yaml文件里”,所以根據查到的方法進行配置,結果遇到好多報錯,差點吐血,這里記下自己遇到的報錯
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應該是第五層
正確的層數如下:
3、按照上面的辦法解決后如下圖執行netplan apply又報錯:Error in network definition //etc/netplan/01-netcfg.yaml line 8 column 16: expected scalar
解決辦法:gateway4的地址沒有中括號,修改后重啟網絡服務就正常了(netplan apply)
所以正確的配置格式應該如下:這樣就成功配置了靜態ip
我沒遇到的報錯: