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弄坏了,所以只能用这个了。
更多详细信息,请看https://netplan.io/examples
配置方法
假设,通过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: true
nameservers:
addresses:
- 8.8.8.8
version: 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
address 172.16.50.100
gateway 172.16.50.254
netmask 255.255.255.0
#broadcast 192.168.1.255
dns-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类地址;
p.s: 子网掩码的相关知识,可以查看这里
生效
sudo netplan apply
参考文献
NetworkManager
http://manpages.ubuntu.com/manpages/bionic/man5/systemd.network.5.html
Netplan design
来源:oschina
链接:https://my.oschina.net/u/4413809/blog/3219088