netplan简介
目前,ubuntu18.04上使用了netplan 作为网络配置工具;在终端上配置网络参数跟之前的版本有比较大的差别
Netplan工作流程如下图所示;通过读取 /etc/netplan/*.yaml 下的配置文件来获取网络信息(而不再读取 /etc/network/interfaces 文件),从而生成backend config, 这些网络信息作用于Network Manager 和systemd-networkd。
注意:只是针对ubuntu18.04 Server版,对于18.04 desktop它缺省是使用NetworkManger来进行管理,可使用图形界面进行配置,其网络配置文件是保存在:/etc/NetworkManager/system-connections目录下的,跟Server版区别还是比较大的。本人安装的是Dsektop版本,不小心把NetworkManger弄坏了,所以只能用这个了。
配置方法
假设,通过ifconfig等方法得知主机上有以太网卡 enp129s0f0; 需要对其进行网络配置;
静态IP 的书写方式
使用vim打开 /etc/netplan/01-network-manager-all.yaml 文件
vim /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
ethernets:
enp129s0f0:
addresses: [172.16.50.100/24]
gateway4:172.16.50.254#dhcp4:truenameservers:
addresses:- 8.8.8.8version:2#renderer: NetworkManager
解析:
为了更好的说明配置文件,可以对比之前的写法:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto enp129s0f0
iface enp129s0f0 inet static
address172.16.50.100gateway172.16.50.254netmask255.255.255.0#broadcast192.168.1.255dns-nameservers 8.8.8.8
由此可见, ethernets 字段中需要书写的是网卡名称(可以写多块网卡信息);
在网卡名称enp129s0f0下面,可以配置网卡信息,如果是需要动态网络直接谢dhcp4:true 即可,其余的都不需要写了;
addresses: [XXX.XXX.XXX.XXX/24] 是在说ip地址中前24位是网络地址,后32-24的部分是主机的ip,前24是网络地址的属于C类地址,由后面的子网掩码netmask:255.255.255.0 也可以知道属于C类地址;
生效
sudo netplan apply
参考文献
原文链接:https://blog.csdn.net/weixin_34123197/article/details/116951228