我安装了 ubuntu 18.04,正在尝试配置 bond 接口
network:
bonds:
bond0:
addresses: [10.11.6.119/24]
gateway4: 10.11.6.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
interfaces:
- ens192
- ens160
parameters:
lacp-rate: fast
mode: 802.3ad
transmit-hash-policy: layer2
ethernets:
ens160:
addresses: []
dhcp4: false
dhcp6: false
ens192:
addresses: []
dhcp4: false
dhcp6: false
version: 2
应用设置后我看到以下错误
root@admin:~# netplan apply
Error in network definition /etc/netplan/50-cloud-init.yaml line 8 column 13: bond0: interface ens192 is not defined
但 ens192 存在:
root@admin:~# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:50:56:94:b5:21 brd ff:ff:ff:ff:ff:ff
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:50:56:94:c0:d2 brd ff:ff:ff:ff:ff:ff
请告诉我我做错了什么。我是新手。
答案1
注释不允许我很好地格式化,因此我将其作为初步答案呈现。我缩进(向右移动)了两行接口名称。另外,我认为最后一行version: 2
应该缩进。
network:
bonds:
bond0:
addresses: [10.11.6.119/24]
gateway4: 10.11.6.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
interfaces:
- ens192 <--- changed
- ens160 <--- changed
parameters:
lacp-rate: fast
mode: 802.3ad
transmit-hash-policy: layer2
ethernets:
ens160:
addresses: []
dhcp4: false
dhcp6: false
ens192:
addresses: []
dhcp4: false
dhcp6: false
version: 2 <--- changed
答案2
您的 Netplan YAML 文件配置不正确。bonds
和ethernets
块需要处于同一级别。
另外,我在您的文件中没有看到renderer
标签。您没有说明您的系统是服务器还是桌面安装。如果是服务器安装,则应包含renderer: networkd
如下所示的内容。否则,如果这是桌面安装,则应将行更改为renderer: NetworkManager
。
network:
version: 2
renderer: networkd
ethernets:
ens160:
dhcp4: false
dhcp6: false
ens192:
dhcp4: false
dhcp6: false
bonds:
bond0:
addresses: [10.11.6.119/24]
nameservers:
addresses: [8.8.8.8,8.8.4.4]
gateway4: 10.11.6.1
interfaces:
- ens160
- ens192
parameters:
lacp-rate: fast
mode: 802.3ad
transmit-hash-policy: layer2
笔记在 Ubuntu 18.04 中,
gateway4
仍然正确。但在更高版本的 Ubuntu 中,gateway4
已被弃用,因此您需要改用routes
。请参阅Netplan YAML 配置了解详情。
配置完成后,应用更改:
sudo netplan try
此外,您还需要安装绑定驱动程序:
sudo modprobe bonding
验证驱动程序安装:
sudo lsmod | grep bonding
输入以下内容在启动时自动加载驱动程序:
echo 'bonding' | sudo tee -a /etc/modules