精简版
0
0
0
云栖社区 > 阿里云支持与服务 > 博客 > 正文
舟翁 2020-02-10 22:49:58 浏览 178
Ubuntu
配置
- DNS
- network
- netplan
展开阅读全文
从 Ubuntu 18.04.2 版本开始, 系统的网络配置改成了新的 netplan.io 方式, 弃用了之前使用的 ifupdown 方式. 所以网络配置文件和配置方式和之前不同, 本文介绍新的配置方式如何使用及与之前的区别.
注: ifupdown 就是用这个脚本 /etc/init.d/networking,systemctl start networking.service 启动网络服务的方式.
和 Ubuntu16.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#properties-for-device-type-ethernets
后续文章: 为 ECS Ubuntu 18.04 实例配置辅助私网 IP 地址
参考资料:
- https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes?_ga=2.95559772.1903006392.1581236894-1245037056.1581236894
- https://netplan.io
来源: https://yq.aliyun.com/articles/744302