在 RHEL/CentOS 8 中创建网桥的三种方法

linuxoperating systemopen source更新于 2026/2/7 12:52:17

网桥是一个软件组件,它允许将多个网络连接在一起,从而创建一个更大的网络,用于共享资源和设备间通信。在 Red Hat Enterprise Linux (RHEL) 和 CentOS 8 中,可以根据您的需求和偏好通过多种方式实现网桥连接。

在本文中,我们将通过示例和分步说明,探讨在 RHEL/CentOS 8 中创建网桥的三种方法。无论您需要连接虚拟机还是物理设备,这些方法都能帮助您设置满足需求的网桥。

方法 1:使用 nmcli 命令行工具

nmcli 命令行工具是 RHEL/CentOS 8 中用于管理网络连接的强大实用程序。它可用于创建、修改和删除网络连接,包括网桥。以下是使用 nmcli 创建网桥的方法 -

  • 步骤 1 - 检查网络接口

在创建网桥之前,您需要确定要桥接的网络接口。您可以使用以下命令列出系统上所有可用的网络接口 -

nmcli 设备状态

此命令将显示网络接口列表,以及它们的连接状态和设备类型。

  • 步骤 2 - 创建新的桥接连接

要创建新的桥接连接,请使用以下命令 -

sudo nmcli connection add type bridge ifname br0

此命令将创建一个名为 br0 的新桥接连接。您可以将 br0 替换为您喜欢的任何名称。请注意,此命令尚未将任何网络接口分配给网桥。

  • 步骤 3 - 将网络接口添加到网桥

要将网络接口添加到网桥,请使用以下命令 -

sudo nmcli connection add type bridge-slave ifname eth0 master br0

将 eth0 替换为您要添加到网桥的网络接口名称。您可以通过多次运行此命令(每次更改接口名称)将多个网络接口添加到桥接中。

  • 步骤 4 - 激活桥接连接

要激活桥接连接,请使用以下命令 -

sudo nmcli connection up br0

此命令将启动并激活桥接连接。现在,任何连接到您添加到网桥的网络接口的设备都将能够与同一网络上的其他设备通信。

方法 2:使用 NetworkManager GUI

如果您更喜欢使用图形用户界面 (GUI) 而不是命令行,则可以使用 NetworkManager GUI 在 RHEL/CentOS 8 中创建网桥。操作方法如下:-

  • 步骤 1 - 打开 NetworkManager GUI

点击系统托盘中的网络图标,然后选择"网络设置"选项,打开 NetworkManager GUI。

  • 步骤 2 - 创建新的桥接连接

在 NetworkManager 图形用户界面中,点击"+"按钮添加新连接。选择"桥接"选项,然后点击"创建"。

  • 步骤 3 - 配置桥接连接

在桥接连接设置中,为桥接连接命名(例如 br0),并选择要添加到桥接的连接网络接口。您还可以根据需要配置其他设置,例如 IP 地址和 DNS 服务器。

  • 步骤 4 - 激活桥接连接

点击切换按钮激活桥接连接。现在,任何连接到您添加到网桥的网络接口的设备都将能够与同一网络上的其他设备通信。

方法 3:使用 firewalld 网络区域

如果您想创建一个受防火墙保护的网桥,您可以使用 RHEL/CentOS 8 中的 firewalld 网络区域功能。

以下是如何使用 firewalld 创建网桥 -

  • 步骤 1 - 检查网络接口

与方法 1 一样,您需要确定要桥接的网络接口。使用以下命令列出所有可用的网络接口 -

nmcli 设备状态
  • 步骤 2 - 创建新的网络区域

要创建包含网桥的新网络区域,请使用以下命令 -

sudo firewall-cmd --permanent --new-zone=brzone

此命令创建一个名为 brzone 的新网络区域。您可以将 brzone 替换为您喜欢的任何名称。

  • 步骤 3 - 将网桥添加到新区域

要将网桥添加到新的网络区域,请使用以下命令 -

sudo firewall-cmd --permanent --zone=brzone --add-interface=br0

此命令将网桥连接 (br0) 添加到 brzone 网络区域。

  • 步骤 4 - 为新区域配置防火墙规则

要为新的网络区域配置防火墙规则,请使用以下命令 -

sudo firewall-cmd --permanent --zone=brzone --add-service=http
sudo firewall-cmd --permanent --zone=brzone --add-service=https

这些命令将 http 和 https 服务添加到 brzone 网络区域。您可以根据需要添加其他服务或端口。

  • 步骤 5 - 重新加载 firewalld

配置防火墙规则后,重新加载 firewalld 以应用更改 -

sudo firewall-cmd --reload

现在,任何连接到您添加到网桥(并分配给 brzone 网络区域)的网络接口的设备都将受到防火墙的保护,并能够与同一网络上的其他设备通信。

方法 4:使用网络脚本

在 RHEL/CentOS 8 中创建网桥的另一种方法是使用网络脚本。此方法需要手动编辑配置文件来创建网桥并为其分配网络接口。虽然它可能比以前的方法更复杂,但它也提供了对桥接配置的更强的控制力和灵活性。

  • 步骤 1 - 安装 bridge-utils

在使用 network-scripts 创建网桥之前,您需要安装 bridge-utils 软件包。使用以下命令进行安装 -

sudo dnf install bridge-utils
  • 步骤 2 - 编辑 ifcfg 文件

network-scripts 使用 ifcfg 文件来配置网络接口。要创建网桥,您需要编辑要桥接的网络接口的 ifcfg 文件,并为网桥本身创建一个新的 ifcfg 文件。

首先,备份原始 ifcfg 文件 −

sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.backup
sudo cp /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth1.backup

然后,为网桥创建一个新的 ifcfg 文件 −

sudo vi /etc/sysconfig/network-scripts/ifcfg-br0

在文件中添加以下行 −

makefile
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes

将 IP 地址、网络掩码和网关替换为适合您网络的值。

接下来,编辑您想要桥接的网络接口的 ifcfg 文件。例如,要桥接 eth0 和 eth1,请按如下方式编辑文件 -

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

在文件中添加以下行 -

makefile
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0

对 eth1 重复此过程 -

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth1

在文件中添加以下行 -

makefile
DEVICE=eth1
ONBOOT=yes
BRIDGE=br0
  • 步骤 3 - 重启网络脚本

编辑 ifcfg 文件后,重启网络脚本服务以应用更改 -

sudo systemctl restart NetworkManager.service

现在,网桥应该已启动并运行,连接您指定的网络接口。您可以使用以下命令验证网桥的状态 -

sudo brctl show

此命令显示系统上所有网桥的状态。输出应包含一行 br0,表示网桥处于活动状态并连接到指定的网络接口。

结论

在 RHEL/CentOS 8 中,有几种创建网桥的方法,具体取决于您的需求和偏好。您可以使用 nmcli 命令行工具、NetworkManager 图形用户界面或 firewalld 网络区域功能来创建连接多个网络和设备的网桥。

无论您选择哪种方法,务必仔细配置网桥及其相关设置(例如防火墙规则和 IP 地址),以确保其正常且安全地运行。使用这些方法,您可以创建满足您需求的网桥,并实现网络上设备之间的有效通信和资源共享。


相关文章


有用资源