bond0:接口 ens192 未定义

bond0:接口 ens192 未定义

我安装了 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 文件配置不正确。bondsethernets块需要处于同一级别。

另外,我在您的文件中没有看到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

相关内容