ubuntu18配置静态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应该是第五层
正确的层数如下:
第一层-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、按照上面的办法解决后如下图执行netplan apply又报错:Error in network definition //etc/netplan/01-netcfg.yaml line 8 column 16: expected scalar
解决办法:gateway4的地址没有中括号,修改后重启网络服务就正常了(netplan apply)
 
所以正确的配置格式应该如下:这样就成功配置了静态ip
 
我没遇到的报错:
出现类似错误:line8 column 6:cloud not find expected ':'  #提示是冒号:后面没加空格
出现类似错误:netplan found character that cannot start any token,#提示是没有按五个层次写配置文档,一定要下一层比上一层多空一格或以上。
总之:这里重启网络时报错,大多是层次不对、格式不对、没有空格
正确的配置文件如下:
/etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
ethernets:
eth0:
addresses: [10.10.31.187/24]
gateway4: 10.10.31.254
dhcp4: no
optional: true
nameservers:
addresses: [10.10.2.1]
addresses: [114.114.114.114]
version: 2
 
netstat -ntpul | grep 177 查看端口
posted @ 2020-07-10 10:23  会飞的老虎  阅读(516)  评论(0编辑  收藏  举报