Ubuntu 18.04 设置固定的静态ip
系统版本:
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,#提示是没有按五个层次写配置文档,一定要下一层比上一层多空一格或以上。
总之:这里重启网络时报错,大多是层次不对、格式不对、没有空格