网站搜索

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


网桥是一种数据链路层设备,用于互连两个或多个网段,提供它们之间的通信。它创建单个网络接口来设置来自多个网络或网段的单个聚合网络。它根据主机的 MAC 地址(存储在 MAC 地址表中)转发流量。

Linux 操作系统,例如 RHEL (Red Hat Enterprise Linux) 和 CentOS 8,支持实现基于软件的网桥来模拟硬件桥。网桥的功能与网络交换机类似;它或多或少就像一个虚拟网络交换机。

网络桥接有多种用例,一种实际应用是在虚拟化环境中创建虚拟网络交换机,用于将虚拟机 (VM) 连接到与主机相同的网络。

本指南介绍了在 RHEL/CentOS 8 中设置网桥的多种方法,并使用它在 Oracle VirtualBox 和 KVM 下以桥接模式设置虚拟网络,将虚拟机连接到与主人。

在本页面:
  1. 使用 nmcli 工具创建网桥
  2. 通过 Cockpit Web 控制台创建网桥
  3. 使用 nm-connection-editor 创建网桥
  4. 如何在虚拟化软件中使用网桥

使用 nmcli 工具设置网桥

nmcli 是一种广泛使用、可编写脚本且功能强大的命令行工具,用于控制 NetworkManager 并报告网络状态。它直接与 NetworkManager 通信并仅控制系统范围的连接。重要的是,它允许用户使用缩写,只要它们是可能选项集中的唯一前缀即可。

首先,使用 IP 命令识别当前连接到您的计算机的网络接口(物理和虚拟)以及它们所连接的网络。

ip add

从上面命令的输出来看,以太网接口名为enp2s0,我们将这个接口作为从属接口添加到网桥中。

接下来,要列出测试系统上的活动网络连接,请使用以下 nmcli 命令。

nmcli conn show --active

重要:如果安装并启动了 libvirtd 守护进程 (libvirtd),则代表该进程的默认网络接口网桥(虚拟网络交换机)是virbr0,如上面的屏幕截图所示。它被配置为在 NAT 模式下运行。

接下来,使用以下nmcli命令创建网桥接口,其中conncon代表连接,连接名称为 br0,接口名称也是br0

nmcli conn add type bridge con-name br0 ifname br0

注意:在桥接模式下,虚拟机可以轻松访问物理网络,它们与主机位于同一子网中,并且可以访问诸如DHCP

如需设置静态IP地址,请运行以下命令设置br0连接的IPv4地址、网络掩码、默认网关和DNS服务器(根据您的环境设置值)。

nmcli conn modify br0 ipv4.addresses '192.168.1.1/24'
nmcli conn modify br0 ipv4.gateway '192.168.1.1'
nmcli conn modify br0 ipv4.dns '192.168.1.1'
nmcli conn modify br0 ipv4.method manual

现在将以太网接口(enp2s0)作为便携式设备添加到网桥(br0)连接,如图所示。

nmcli conn add type ethernet slave-type bridge con-name bridge-br0 ifname enp2s0 master br0

接下来,启动或激活桥接连接,您可以使用连接名称UUID,如图所示。

nmcli conn up br0
OR
nmcli conn up 2f03943b-6fb5-44b1-b714-a755660bf6eb

然后停用或关闭以太网有线连接。

nmcli conn down Wired\ connection\ 1
OR
nmcli conn down e1ffb0e0-8ebc-49d0-a690-2117ca5e2f42

现在,当您尝试列出系统上的活动网络连接时,桥接连接应显示在列表中。

nmcli conn show  --active

接下来,使用以下 bridge 命令显示当前桥接端口配置和标志。

bridge link show

要停用桥接连接并将其删除,请运行以下命令。请注意,您首先必须激活有线连接。

nmcli conn up Wired\ connection\ 1
nmcli conn down br0
nmcli conn del br0
nmcli conn del bridge-br0

有关详细信息,请参阅 nmcli 手册页。

man nmcli

通过 Cockpit Web 控制台创建网桥

主控室是一个轻量级、交互式且易于使用的基于 Web 的服务器管理界面。为了与系统的网络配置进行交互,主控室使用NetworkManager及其提供的DBus API

要添加桥接器,请转至网络,然后单击添加桥接器,如下图突出显示的那样。

将出现一个弹出窗口,其中包含添加新桥的选项。设置网桥名称并选择端口,如下图所示。您可以选择启用STP生成树协议),然后单击应用

接口列表下,现在应该出现新桥,并且以太网接口应该被停用。

要详细查看桥梁,请双击它。有一些选项可以将其删除或删除、向其添加新的端口设备等等。

使用 nm-connection-editor 应用程序创建网桥

nm-connection-editorNetworkManager的图形化网络连接编辑器,用于添加、删除和修改NetworkManager存储的网络连接。任何修改仅在 NetworkManager 运行时才有效。

要启动它,请在命令行中以 root 身份运行 nm-connection-editor 命令或从系统菜单中打开它。

nm-connection-editor

打开后,单击加号以添加新连接,如以下屏幕截图中突出显示的那样。

在弹出窗口中,从下拉列表中选择连接类型(本例中为桥接),然后单击创建

接下来,设置桥接连接和接口名称,然后单击添加添加桥接端口。选择以太网作为连接类型。然后点击创建

接下来,编辑端口设备连接详细信息并单击保存

现在桥接端口应添加到桥接连接列表中。然后点击保存

从连接编辑器的主界面中,您应该能够看到新的桥接连接和桥接界面,如下图所示。

现在继续使用 nmcli 工具从命令行激活桥接连接并停用有线连接,如前所示。

nmcli conn up br0
nmcli conn down Wired\ connection\ 1

如何在虚拟化软件中使用网桥

在本节中,我们将在 Oracle VirtualBoxKVM 下展示如何使用网桥将虚拟机连接到主机网络,如下所述。

在 Oracle VirtualBox 中使用网桥

要将虚拟机配置为使用桥接适配器,请从虚拟机列表中选择它,然后转到其设置,单击网络选项并选择适配器(例如 >适配器1),然后确保选中启用网络适配器选项,将附加到设置为桥接适配器,然后选择桥接接口的名称(br0) 并单击确定

在 KVM 中使用网桥

要使用上面在 KVM 下创建的网桥,请在虚拟机使用命令行界面时使用 --network=bridge=br0 选项,使用 virt -安装命令。

virt-install --virt-type=kvm --name Ubuntu18.04 --ram 1536 --vcpus=4 --os-variant=ubuntu18.04 --cdrom=/path/to/install.iso --network=bridge=br0,model=virtio --graphics vnc --disk path=/var/lib/libvirt/images/ubuntu18.04.qcow2,size=20,bus=virtio,format=qcow2

您还可以创建其他网络并使用 virsh 命令行工具配置它们,并且可以编辑虚拟机的 XML 配置文件以使用这些新桥接网络之一。

在本指南中,我们展示了如何在 RHEL/CentOS 8 中设置网桥,并在 Oracle VirtualBox 下使用它将虚拟机连接到主机的同一网络> 和KVM

与往常一样,如有任何问题或意见,请通过下面的反馈表与我们联系。您可以在 RHEL 8 文档中找到有关了解虚拟网络和配置网桥的更多详细信息。