3.3. 使用 nmcli 配置网络绑定

要在命令行上配置网络绑定,请使用 nmcli 工具。

先决条件

步骤

  1. 创建绑定接口:

    # nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"

    这个命令会创建一个使用 active-backup 模式、名为 bond0 的绑定。

    要额外设置介质独立接口(MII)监控间隔,请在 bond.options 属性中添加 miimon=interval 选项,例如:

    # nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=1000"
  2. 显示网络接口以及您要添加到绑定中的接口名称:

    # nmcli device status
    DEVICE   TYPE      STATE         CONNECTION
    enp7s0   ethernet  disconnected  --
    enp8s0   ethernet  disconnected  --
    bridge0  bridge    connected     bridge0
    bridge1  bridge    connected     bridge1
    ...

    在本例中:

    • 没有配置 enp7s0enp8s0 。要将这些设备用作端口,请在下一步中添加连接配置集。
    • bridge0bridge1 都有现有的连接配置文件。要将这些设备用作端口,请在下一步中修改其配置集。
  3. 为绑定分配接口:

    1. 如果没有配置您要分配给绑定的接口,为其创建新的连接配置集:

      # nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname enp7s0 master bond0
      # nmcli connection add type ethernet slave-type bond con-name bond0-port2 ifname enp8s0 master bond0

      这些命令为 enp7s0enp8s0 创建配置文件,并将它们添加到 bond0 连接中。

    2. 要将现有的连接配置文件分配给绑定:

      1. 将这些连接的 master 参数设为 bond0

        # nmcli connection modify bridge0 master bond0
        # nmcli connection modify bridge1 master bond0

        这些命令将名为 bridge0bridge1 的现有连接配置文件分配给 bond0 连接。

      2. 重新激活连接:

        # nmcli connection up bridge0
        # nmcli connection up bridge1
  4. 配置 IPv4 设置:

    • 要将这个绑定设备用作其它设备的端口,请输入:

      # nmcli connection modify bond0 ipv4.method disabled
    • 要使用 DHCP,不需要进行任何操作。
    • 要为 bond0 连接设置静态 IPv4 地址、网络掩码、默认网关和 DNS 服务器设置,请输入:

      # nmcli connection modify bond0 ipv4.addresses '192.0.2.1/24' ipv4.gateway '192.0.2.254' ipv4.dns '192.0.2.253' ipv4.dns-search 'example.com' ipv4.method manual
  5. 配置 IPv6 设置:

    • 要将这个绑定设备用作其它设备的端口,请输入:

      # nmcli connection modify bond0 ipv6.method disabled
    • 要使用无状态地址自动配置(SLAAC),不需要任何操作。
    • 要为 bond0 连接设置静态 IPv6 地址、网络掩码、默认网关和 DNS 服务器设置,请输入:

      # nmcli connection modify bond0 ipv6.addresses '2001:db8:1::1/64' ipv6.gateway '2001:db8:1::fffe' ipv6.dns '2001:db8:1::fffd' ipv6.dns-search 'example.com' ipv6.method manual
  6. 可选:如果要对绑定端口设置任何参数,请使用以下命令:

    # nmcli connection modify bond0-port1 bond-port.<parameter> <value>
  7. 激活连接:

    # nmcli connection up bond0
  8. 验证端口是否已连接,并且 CONNECTION 列是否显示端口的连接名称:

    # nmcli device
    DEVICE   TYPE      STATE      CONNECTION
    ...
    enp7s0   ethernet  connected  bond0-port1
    enp8s0   ethernet  connected  bond0-port2

    当您激活连接的任何端口时,NetworkManager 也激活绑定,但不会激活它的其它端口。您可以配置 Red Hat Enterprise Linux 在启用绑定时自动启用所有端口:

    1. 启用绑定连接的 connection.autoconnect-slaves 参数:

      # nmcli connection modify bond0 connection.autoconnect-slaves 1
    2. 重新激活桥接:

      # nmcli connection up bond0

验证

  1. 从主机中临时删除网络电缆。

    请注意,无法使用软件工具正确测试链路失败事件。停用连接的工具(如 nmcli ),只显示绑定驱动程序可以处理端口配置的更改,而不是实际的链接失败事件。

  2. 显示绑定状态:

    # cat /proc/net/bonding/bond0