在 RHEL CentOS 8 中创建网络桥的 3 种方法


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

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

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

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

  • 步骤 1 - 检查网络接口

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

nmcli device status

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

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

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

sudo nmcli connection add type bridge ifname 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 GUI 中,单击“+”按钮添加新连接。选择“桥接”选项,然后单击“创建”。

  • 步骤 3 - 配置桥接连接

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

  • 步骤 4 - 激活桥接连接

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

方法 3:使用 firewalld 网络区域

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

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

  • 步骤 1 - 检查网络接口

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

nmcli device status
  • 步骤 2 - 创建新的网络区域

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

sudo firewall-cmd --permanent --new-zone=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:使用 network-scripts

在 RHEL/CentOS 8 中创建网络桥的另一种方法是使用 network-scripts。此方法涉及手动编辑配置文件以创建桥接并将网络接口分配给它。虽然它可能比以前的方法更复杂,但它也提供了对桥接配置的更大控制和灵活性。

  • 步骤 1 - 安装 bridge-utils

在使用 network-scripts 创建桥接之前,您需要安装 bridge-utils 包。使用以下命令安装它:

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

ifcfg 文件由 network-scripts 用于配置网络接口。要创建桥接,您需要编辑要桥接的网络接口的 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 - 重新启动 network-scripts

编辑 ifcfg 文件后,重新启动 network-scripts 服务以应用更改:

sudo systemctl restart NetworkManager.service

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

sudo brctl show

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

结论

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

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

更新于:2023 年 3 月 28 日

2K+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告