在 RHEL/CentOS 8 中创建网桥的 3 种方法
网桥是一种数据链路层设备,用于互连两个或多个网段,提供它们之间的通信。它创建单个网络接口来设置来自多个网络或网段的单个聚合网络。它根据主机的 MAC 地址(存储在 MAC 地址表中)转发流量。
Linux 操作系统,例如 RHEL (Red Hat Enterprise Linux) 和 CentOS 8,支持实现基于软件的网桥来模拟硬件桥。网桥的功能与网络交换机类似;它或多或少就像一个虚拟网络交换机。
网络桥接有多种用例,一种实际应用是在虚拟化环境中创建虚拟网络交换机,用于将虚拟机 (VM) 连接到与主机相同的网络。
本指南介绍了在 RHEL/CentOS 8 中设置网桥的多种方法,并使用它在 Oracle VirtualBox 和 KVM 下以桥接模式设置虚拟网络,将虚拟机连接到与主人。
在本页面:
- 使用 nmcli 工具创建网桥
- 通过 Cockpit Web 控制台创建网桥
- 使用 nm-connection-editor 创建网桥
- 如何在虚拟化软件中使用网桥
使用 nmcli 工具设置网桥
nmcli 是一种广泛使用、可编写脚本且功能强大的命令行工具,用于控制 NetworkManager 并报告网络状态。它直接与 NetworkManager 通信并仅控制系统范围的连接。重要的是,它允许用户使用缩写,只要它们是可能选项集中的唯一前缀即可。
首先,使用 IP 命令识别当前连接到您的计算机的网络接口(物理和虚拟)以及它们所连接的网络。
ip add
从上面命令的输出来看,以太网接口名为enp2s0,我们将这个接口作为从属接口添加到网桥中。
接下来,要列出测试系统上的活动网络连接,请使用以下 nmcli 命令。
nmcli conn show --active
重要:如果安装并启动了 libvirtd 守护进程 (libvirtd),则代表该进程的默认网络接口网桥(虚拟网络交换机)是virbr0,如上面的屏幕截图所示。它被配置为在 NAT 模式下运行。
接下来,使用以下nmcli命令创建网桥接口,其中conn或con代表连接,连接名称为 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-editor是NetworkManager的图形化网络连接编辑器,用于添加、删除和修改NetworkManager存储的网络连接。任何修改仅在 NetworkManager 运行时才有效。
要启动它,请在命令行中以 root 身份运行 nm-connection-editor 命令或从系统菜单中打开它。
nm-connection-editor
打开后,单击加号以添加新连接,如以下屏幕截图中突出显示的那样。
在弹出窗口中,从下拉列表中选择连接类型(本例中为桥接),然后单击创建。
接下来,设置桥接连接和接口名称,然后单击添加添加桥接端口。选择以太网作为连接类型。然后点击创建。
接下来,编辑端口设备连接详细信息并单击保存。
现在桥接端口应添加到桥接连接列表中。然后点击保存。
从连接编辑器的主界面中,您应该能够看到新的桥接连接和桥接界面,如下图所示。
现在继续使用 nmcli 工具从命令行激活桥接连接并停用有线连接,如前所示。
nmcli conn up br0
nmcli conn down Wired\ connection\ 1
如何在虚拟化软件中使用网桥
在本节中,我们将在 Oracle VirtualBox 和 KVM 下展示如何使用网桥将虚拟机连接到主机网络,如下所述。
在 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 文档中找到有关了解虚拟网络和配置网桥的更多详细信息。