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