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

posted @ 2020-01-08 15:55  一个人的孤独自白  阅读(1304)  评论(0编辑  收藏  举报