17.6. 在网络绑定上配置网桥,以将虚拟机与网络连接


网桥使用与主机相同的网络连接虚拟机。如果要将一个主机上的虚拟机连接到另一主机或另一个主机上的虚拟机,桥接会在它们之间建立通信。但是,网桥不提供故障转移机制。要处理通信中的故障,网络绑定会在网络接口失败时处理通信。要保持容错和冗余,active-backup 绑定机制决定在绑定中只有一个端口处于活跃状态,且不需要任何交换机配置。如果活动端口失败,则备用端口变为活动状态,以在网络中配置的虚拟机之间的保持通信。

17.6.1. 使用 nmcli 在网络绑定上配置网络接口

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

先决条件

  • 在服务器上安装了两个或多个物理设备,且没有在任何 NetworkManager 连接配置文件中配置它们。

流程

  1. 创建绑定接口:

    # nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
    Copy to Clipboard Toggle word wrap

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

  2. 向绑定分配以太网接口:

    # 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
    Copy to Clipboard Toggle word wrap

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

  3. 配置 IPv4 设置:

    • 要使用 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
      Copy to Clipboard Toggle word wrap
  4. 配置 IPv6 设置:

    • 要使用无状态地址自动配置(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
      Copy to Clipboard Toggle word wrap
  5. 可选:如果要在绑定端口上设置任何参数,请使用以下命令:

    # nmcli connection modify bond0-port1 bond-port.<parameter> <value>
    Copy to Clipboard Toggle word wrap
  6. 配置 Red Hat Enterprise Linux ,以便在绑定启用时自动启用所有端口:

    # nmcli connection modify bond0 connection.autoconnect-ports 1
    Copy to Clipboard Toggle word wrap
  7. 激活网桥:

    # nmcli connection up bond0
    Copy to Clipboard Toggle word wrap

验证

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

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

  2. 显示绑定状态:

    # cat /proc/net/bonding/bond0
    Copy to Clipboard Toggle word wrap

17.6.2. 使用 nmcli 为网络绑定配置网桥

网络绑定的网桥涉及配置一个绑定接口,该接口组合了多个网络接口,以改善流量处理。因此,虚拟机可以使用网桥,通过绑定的网络接口访问网络。nmcli 工具从命令行创建和编辑配置所需的连接文件。

流程

  1. 创建网桥接口:

    # nmcli connection add type bridge con-name br0 ifname br0 ipv4.method disabled ipv6.method disabled
    Copy to Clipboard Toggle word wrap
  2. bond0 绑定添加到 br0 网桥:

    # nmcli connection modify bond0 master br0
    Copy to Clipboard Toggle word wrap
  3. 配置 Red Hat Enterprise Linux ,以便在网桥启用时自动启用所有端口:

    # nmcli connection modify br0 connection.autoconnect-ports 1
    Copy to Clipboard Toggle word wrap
  4. 重新激活桥接:

    # nmcli connection up br0
    Copy to Clipboard Toggle word wrap

验证

  • 使用 ip 工具来显示作为特定网桥端口的以太网设备的链接状态:

    # ip link show master br0
    6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP mode DEFAULT group default qlen 1000
        link/ether 52:54:00:38:a9:4d brd ff:ff:ff:ff:ff:ff
    ...
    Copy to Clipboard Toggle word wrap
  • 使用 bridge 工具来显示作为任意网桥设备端口的以太网设备状态:

    # bridge link show
    6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
    ...
    Copy to Clipboard Toggle word wrap

    要显示特定以太网设备的状态,请使用 bridge link show dev <ethernet_device_name> 命令。

要使虚拟机(VM)使用带有绑定的 br0 网桥,首先将虚拟网络添加到使用此网桥的 libvirtd 服务中。

先决条件

  • 您已安装了 libvirt 软件包。
  • 您已启动并启用了 libvirtd 服务。
  • 您已在 Red Hat Enterprise Linux 中使用绑定配置了 br0 设备。

流程

  1. 使用以下内容创建 ~/bond0-bridge.xml 文件:

    <network>
    	<name>bond0-bridge</name>
    	<forward mode="bridge" />
    	<bridge name="br0" />
    </network>
    Copy to Clipboard Toggle word wrap
  2. 使用 ~/bond0-bridge.xml 文件在 libvirt 中创建一个新的虚拟网络:

    # virsh net-define ~/bond0-bridge.xml
    Copy to Clipboard Toggle word wrap
  3. 删除 ~/bond0-bridge.xml 文件:

    # rm ~/bond0-bridge.xml
    Copy to Clipboard Toggle word wrap
  4. 启动 bond0-bridge 虚拟网络:

    # virsh net-start bond0-bridge
    Copy to Clipboard Toggle word wrap
  5. bond0-bridge 虚拟网络配置为在 libvirtd 服务启动时自动启动:

    # virsh net-autostart bond0-bridge
    Copy to Clipboard Toggle word wrap

验证

  • 显示虚拟网络列表:

    # virsh net-list
    Name              State    Autostart   Persistent
    ----------------------------------------------------
    bond0-bridge      active      yes         yes
    ...
    Copy to Clipboard Toggle word wrap

17.6.4. 将虚拟机配置为使用绑定接口

要将虚拟机配置为使用主机上带有绑定接口的网桥设备,请创建一个使用 bond0-bridge 虚拟网络的新虚拟机,或更新现有虚拟机的设置以使用此网络。

在 RHEL 主机上执行此流程。

先决条件

  • 您已在 libvirtd 中配置了 bond0-bridge 虚拟网络。

流程

  1. 要创建新虚拟机并将其配置为使用 bond0-bridge 网络,请在创建虚拟机时将 --network network:bond0-bridge 选项传给 virt-install 工具:

    # virt-install ... --network network:bond0-bridge
    Copy to Clipboard Toggle word wrap
  2. 要更改现有虚拟机的网络设置:

    1. 将虚拟机的网络接口连接到 bond0-bridge 虚拟网络:

      # virt-xml <example_vm> --edit --network network=bond0-bridge
      Copy to Clipboard Toggle word wrap
  3. 关闭虚拟机,并重新启动它:

    # virsh shutdown <example_vm>
    # virsh start <example_vm>
    Copy to Clipboard Toggle word wrap

验证

  • 显示主机上虚拟机的虚拟网络接口:

    # virsh domiflist <example_vm>
    Interface   Type     Source           Model    MAC
    -------------------------------------------------------------------
    vnet1       bridge   bond0-bridge   virtio   52:54:00:c5:98:1c
    Copy to Clipboard Toggle word wrap
  • 显示附加到 br0 网桥的接口:

    # ip link show master br0
    18: bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 2a:53:bd:d5:b3:0a brd ff:ff:ff:ff:ff:ff
    
    19: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:c5:98:1c brd ff:ff:ff:ff:ff:ff
    ...
    Copy to Clipboard Toggle word wrap

    请注意,libvirtd 服务会动态更新网桥的配置。当您启动使用 bond0-bridge 网络的虚拟机时,主机上相应的 vnet* 设备显示为网桥的端口。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat