在 RHEL CentOS 8 中创建网桥的 3 种方法
网桥是一种软件组件,允许将多个网络连接在一起,创建一个更大的网络,可用于共享资源并在设备之间进行通信。在 Red Hat Enterprise Linux (RHEL) 和 CentOS 8 中,可以通过多种方式实现网络桥接,具体取决于您的需求和偏好。
在本文中,我们将使用示例和分步说明探索在 RHEL/CentOS 8 中创建网桥的三种方法。无论您需要连接虚拟机还是物理设备,这些方法都将帮助您建立满足您要求的桥接器。
方法一:使用nmcli命令行工具
nmcli 命令行工具是 RHEL/CentOS 8 中管理网络连接的强大实用程序。它可用于创建、修改和删除网络连接,包括网桥。以下是如何使用 nmcli 创建网桥 -
第 1 步 - 检查网络接口
在创建网桥之前,您需要确定要桥接的网络接口。您可以使用以下命令列出系统上所有可用的网络接口 -
nmcli device status
此命令将显示网络接口列表及其连接状态和设备类型。
第 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 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 的新网络区域。您可以将 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
在使用网络脚本创建桥之前,您需要安装bridge-utils包。使用以下命令来安装它 -
sudo dnf install bridge-utils
第 2 步 - 编辑 ifcfg 文件
网络脚本使用 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 GUI 或 firewalld 网络区域功能来创建将多个网络和设备连接在一起的桥接器。
无论您选择哪种方法,都必须仔细配置网桥和任何相关设置(例如防火墙规则和 IP 地址),以确保其正常且安全地运行。通过这些方法,您可以创建满足您要求的网桥,并实现网络上设备之间的有效通信和资源共享。