第 6 章 配置网络桥接

分类: 365bet投注 时间: 2025-12-29 04:03:48 作者: admin

网络桥接是一个链路层设备,它可根据 MAC 地址列表转发网络间的流量。网桥通过侦听网络流量并了解连接到每个网络的主机来构建 MAC 地址表。例如,您可以使用 Red Hat Enterprise Linux 主机上的软件桥接模拟硬件桥接或在虚拟化环境中,将虚拟机(VM)集成到与主机相同的网络中。

桥接需要在桥接应该连接的每个网络中有一个网络设备。当您配置网桥时,网桥被称为 controller,其使用的设备为 ports。

您可以在不同类型的设备中创建桥接,例如:

物理和虚拟以太网设备

网络绑定

网络团队(team)

VLAN 设备

由于 IEEE 802.11 标准指定在 Wi-Fi 中使用 3 个地址帧以便有效地使用随机时间,您无法通过 Ad-Hoc 或者 Infrastructure 模式中的 Wi-Fi 网络配置网桥。

6.1. 使用 nmcli 配置网桥复制链接链接已复制到粘贴板!

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

先决条件

在服务器中安装两个或者两个以上物理或者虚拟网络设备。

要将以太网设备用作网桥的端口,必须在服务器中安装物理或者虚拟以太网设备。

要使用 team、bond 或 VLAN 设备作为网桥的端口,您可以在创建桥接时创建这些设备,或者预先创建它们,如:

使用 nmcli 配置网络团队

使用 nmcli 配置网络绑定

使用 nmcli 配置 VLAN 标记

流程

创建网桥接口:

nmcli connection add type bridge con-name bridge0 ifname bridge0

# nmcli connection add type bridge con-name bridge0 ifname bridge0

Copy to Clipboard

Copied!

Toggle word wrap

Toggle overflow

此命令创建一个名为 bridge0 的网桥。

显示网络接口,并记录您要添加到网桥中的接口名称:

nmcli device status

DEVICE TYPE STATE CONNECTION

enp7s0 ethernet disconnected --

enp8s0 ethernet disconnected --

bond0 bond connected bond0

bond1 bond connected bond1

...

# nmcli device status

DEVICE TYPE STATE CONNECTION

enp7s0 ethernet disconnected --

enp8s0 ethernet disconnected --

bond0 bond connected bond0

bond1 bond connected bond1

...

Copy to Clipboard

Copied!

Toggle word wrap

Toggle overflow

在本例中:

没有配置 enp7s0 和 enp8s0 。要将这些设备用作端口,请在下一步中添加连接配置集。

bond0 和 bond1 已有连接配置文件。要将这些设备用作端口,请在下一步中修改其配置集。

将接口分配给网桥。

如果没有配置您要分配给网桥的接口,为其创建新的连接配置集:

nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp7s0 master bridge0

nmcli connection add type ethernet slave-type bridge con-name bridge0-port2 ifname enp8s0 master bridge0

# nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp7s0 master bridge0

# nmcli connection add type ethernet slave-type bridge con-name bridge0-port2 ifname enp8s0 master bridge0

Copy to Clipboard

Copied!

Toggle word wrap

Toggle overflow

这些命令为 enp7s0 和 enp8s0 创建配置文件,并将它们添加到 bridge0 连接中。

如果要将现有的连接配置文件分配给网桥:

将这些连接的 master 参数设为 bridge0 :

nmcli connection modify bond0 master bridge0

nmcli connection modify bond1 master bridge0

# nmcli connection modify bond0 master bridge0

# nmcli connection modify bond1 master bridge0

Copy to Clipboard

Copied!

Toggle word wrap

Toggle overflow

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

重新激活连接:

nmcli connection up bond0

nmcli connection up bond1

# nmcli connection up bond0

# nmcli connection up bond1

Copy to Clipboard

Copied!

Toggle word wrap

Toggle overflow

配置 IPv4 设置:

要为 bridge0 连接设置静态 IPv4 地址、网络掩码、默认网关和 DNS 服务器设置,请输入:

nmcli connection modify bridge0 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

# nmcli connection modify bridge0 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

Copied!

Toggle word wrap

Toggle overflow

要使用 DHCP,不需要任何操作。

如果您计划将此网桥设备用作其它设备的端口,则不需要执行任何操作。

配置 IPv6 设置:

要为 bridge0 连接设置静态 IPv6 地址、网络掩码、默认网关和 DNS 服务器设置,请输入:

nmcli connection modify bridge0 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

# nmcli connection modify bridge0 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

Copied!

Toggle word wrap

Toggle overflow

要使用无状态地址自动配置(SLAAC),不需要采取任何操作。

如果您计划将此网桥设备用作其它设备的端口,则不需要执行任何操作。

可选:配置网桥的其他属性。例如,要将 bridge0 的生成树协议(STP)优先级设为 16384,请输入:

nmcli connection modify bridge0 bridge.priority '16384'

# nmcli connection modify bridge0 bridge.priority '16384'

Copy to Clipboard

Copied!

Toggle word wrap

Toggle overflow

默认情况下启用 STP。

激活连接:

nmcli connection up bridge0

# nmcli connection up bridge0

Copy to Clipboard

Copied!

Toggle word wrap

Toggle overflow

验证端口是否已连接,并且 CONNECTION 列是否显示端口的连接名称:

nmcli device

DEVICE TYPE STATE CONNECTION

...

enp7s0 ethernet connected bridge0-port1

enp8s0 ethernet connected bridge0-port2

# nmcli device

DEVICE TYPE STATE CONNECTION

...

enp7s0 ethernet connected bridge0-port1

enp8s0 ethernet connected bridge0-port2

Copy to Clipboard

Copied!

Toggle word wrap

Toggle overflow

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

启用网桥连接的 connection.autoconnect-slaves 参数:

nmcli connection modify bridge0 connection.autoconnect-slaves 1

# nmcli connection modify bridge0 connection.autoconnect-slaves 1

Copy to Clipboard

Copied!

Toggle word wrap

Toggle overflow

重新激活桥接:

nmcli connection up bridge0

# nmcli connection up bridge0

Copy to Clipboard

Copied!

Toggle word wrap

Toggle overflow

验证

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

ip link show master bridge0

3: enp7s0: mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000

link/ether 52:54:00:62:61:0e brd ff:ff:ff:ff:ff:ff

4: enp8s0: mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000

link/ether 52:54:00:9e:f1:ce brd ff:ff:ff:ff:ff:ff

# ip link show master bridge0

3: enp7s0: mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000

link/ether 52:54:00:62:61:0e brd ff:ff:ff:ff:ff:ff

4: enp8s0: mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000

link/ether 52:54:00:9e:f1:ce brd ff:ff:ff:ff:ff:ff

Copy to Clipboard

Copied!

Toggle word wrap

Toggle overflow

使用 bridge 工具来显示作为任意网桥设备端口的以太网设备状态:

bridge link show

3: enp7s0: mtu 1500 master bridge0 state forwarding priority 32 cost 100

4: enp8s0: mtu 1500 master bridge0 state listening priority 32 cost 100

5: enp9s0: mtu 1500 master bridge1 state forwarding priority 32 cost 100

6: enp11s0: mtu 1500 master bridge1 state blocking priority 32 cost 100

...

# bridge link show

3: enp7s0: mtu 1500 master bridge0 state forwarding priority 32 cost 100

4: enp8s0: mtu 1500 master bridge0 state listening priority 32 cost 100

5: enp9s0: mtu 1500 master bridge1 state forwarding priority 32 cost 100

6: enp11s0: mtu 1500 master bridge1 state blocking priority 32 cost 100

...

Copy to Clipboard

Copied!

Toggle word wrap

Toggle overflow

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

其他资源

您系统上的 bridge (8) 和 nm-settings (5) 手册页

重启 NetworkManager 服务后 NetworkManager 复制连接 (红帽知识库)

如何配置具有 VLAN 信息的网桥?(红帽知识库)