一、概述
Ubuntu 从 17.01 开始之后的版本,都已放弃在/etc/network/interfaces 里固定IP的配置,而是改成 netplan 方式,配置文件是:/etc/netplan/01-netcfg.yaml(01-network-manager-all.yaml)(添加规则,打头的两位数字01应该类似于udev中的优先级)
二、Ubuntu Server 与 Ubuntu Desktop
Desktop版本默认安装NetworkManager,并且默认使用NetworkManager管理网络,Ubuntu的Server版本只有终端界面,没有桌面GUI,且Server版本不会安装NetworkManager,需要手动安装:
sudo apt install network-manager
三、yaml文件格式
用缩进来表示层级关系,需要注意冒号之后要有个空格
范例:
network:
version: 2
renderer: NetworkManager
ethernets:
ens33: # 配置的网卡名称,可以使用ifconfig -a查看本机的网卡
dhcp4: no # 关闭动态IP设置,因为要设置固定IP
addresses: [192.168.44.101/24] # 要设置为的固定IP,后面的24为子网掩码的位数
gateway4: 192.168.44.2 # 要设置的网关地址
nameservers:
addresses: [192.168.44.2,8.8.8.8] # 要设置的DNS地址
当设置双网卡的特殊情况时,内网网卡不设置网关地址,不然会产生冲突,导致路由外网映射失败,给连接外网网段的那张网卡设置网关即可:
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
addresses: [192.168.2.67/24] # 内网网卡不设置网关与DNS
dhcp4: no
ens44:
addresses: [192.168.1.67/24]
dhcp4: no
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
使用以下命令使配置生效:
sudo netplan apply