镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站
从Ubuntu 18.04.2版本开始,系统的网络配置改成了新的 netplan.io 方式,弃用了之前使用的 ifupdown 方式。所以网络配置文件和配置方式和之前不同,本文介绍新的配置方式如何使用及与之前的区别。
注:ifupdown 就是用这个脚本 /etc/init.d/networking、systemctl start networking.service 启动网络服务的方式。
一、新旧版本对比
- Ubuntu 18.04的DNS解析设置改成了 systemd-resolved,不是在原先的配置文件 /etc/resolv.conf 设置了。
- Ubuntu 18.04默认情况下不再安装ifupdown,因此命令ifup和ifdown也不可用。可以使用ip命令来实现类似的功能,ip link set device up 和 ip link set device down。
- 之前Ubuntu16.04版本里的网卡配置文件 /etc/network/interfaces 不起作用了,改成了netplan方式。
- 如果新的 netplan 目前不能满足用户的网络使用需求,ifupdown 软件包仍然可以在Ubuntu 中使用和支持。
ifupdown安装命令:apt install ifupdown
二、netplan 是什么?
netplan官网说它是一个在Linux系统中简单方便配置网络的程序,使用YAML格式的文件进行配置。
YAML是什么?传送门 https://www.runoob.com/w3cnote/yaml-intro.html
三、netplan 的工作方式
netplan 从配置文件 /etc/netplan/*.yaml
读取网络配置,启动后 netplan 在 /run
目录中生成特定网卡名称后缀的配置文件,然后将网卡设备的控制权移交给特定的网络守护程序。
netplan 目前支持以下两种服务:
NetworkManager
Systemd-networkd
ubuntu18.04系统里查看网卡用netplan配置的信息
root@ubuntu18:~# networkctl status eth0
● 2: eth0
Link File: /lib/systemd/network/99-default.link
Network File: /run/systemd/network/10-netplan-eth0.network
Type: ether
State: routable (configuring)
Path: pci-0000:00:05.0
Driver: virtio_net
Vendor: Red Hat, Inc.
Model: Virtio network device
HW Address: 00:16:3e:2c:b5:e7 (Xensource, Inc.)
Address: 172.17.161.4
Gateway: 172.17.175.253
DNS: 100.100.2.136
100.100.2.138
四、如何使用 netplan
配置文件:/etc/netplan/*.yaml
命令:netplan apply
每个网卡都需要在 /etc/netplan
目录中设置配置文件,在配置中指定网卡ip信息,使用DHCP或者静态ip方式。/etc/netplan/
目录下的配置文件,扩展名为.yaml
(例如 /etc/netplan/config.yaml),然后运行 netplan apply
此命令分析配置信息并将其应用生效。
配置文件示例:
#网卡eth0使用dhcp方式配置ip网络,配置如下。yaml配置是用空格作为缩进对齐,不能使用tab键。
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
dhcp6: no
#网卡eth0使用静态ip方式,用关键字addresses指定ip地址和子网掩码(支持ipv4和ivp6),gateway4指定网关ip,nameservers 指定DNS。
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 10.10.10.2/24
gateway4: 10.10.10.1
nameservers:
search: [mydomain, otherdomain]
addresses: [10.10.10.1, 1.1.1.1]
配置文件里的关键字说明:
renderer:指定后端网络服务,支持networkd(Systemd-networkd) 和 NetworkManager两种,默认是networkd。
ethernets:指定是以太网配置,其他的还包括 wifis 或者 bridges
eth0:以太网网卡名称
dhcp4:开启使用ipv4的DHCP,默认是关闭。
dhcp6:开启使用ipv6的DHCP,默认是关闭。
addresses:对应网卡配置的静态ip地址,是ip/掩码的格式,支持ipv6地址,例如 addresses: [192.168.14.2/24, "2001:1::1/64"]
gateway4, gateway6:指定IPv4/6默认网关,使用静态ip配置时使用。例如IPv4: gateway4: 172.16.0.1 例如IPv6: gateway6: "2001:4::1"
nameservers:设置DNS服务器和搜索域。有两个受支持的字段:addresses:是DNS地址列表,search:是搜索域列表,没有特殊需要可以不配置search这项。
更多配置项可以参考netplan.io文档 https://netplan.io/reference
参考资料:
https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes
https://netplan.io/
“ 阿里巴巴开源镜像站 提供全面,高效和稳定的镜像下载服务。钉钉搜索 ' 21746399 ‘ 加入镜像站官方用户交流群。”