专栏首页CU技术社区在RHEL / CentOS 8中创建网桥的3种方法

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

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

RHEL(Red Hat Enterprise Linux)和CentOS 8等Linux操作系统支持基于软件的网桥的实现,以模拟硬件桥。网桥的功能类似于网络交换机。它的行为或多或少类似于虚拟网络交换机。

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

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

使用nmcli工具设置网桥

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

首先,使用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控制台创建网桥

cockpit是一个轻量级的、交互式的、易于使用的基于Web的服务器管理界面。为了与系统的网络配置进行交互,cockpit使用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中使用网桥

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

在KVM中使用网桥

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

# 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命令行工具创建其他网络并对其进行配置,并且还可以编辑VM的XML配置文件以使用这些新的桥接网络之一。

在本指南中,我们展示了如何在RHEL / CentOS 8中设置网桥,以及如何在Oracle VirtualBox和KVM下将其用于将VM连接到主机的同一网络。

——更多精彩?——

本文分享自微信公众号 - CU技术社区(ChinaUnix2013),作者:栈栈

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 面试必备:形象理解深度学习中八大类型卷积

    In terms of Neural Networks and Deep Learning: 卷积在神经网络和深度学习方面的特征:

    用户6543014
  • 让你快速上手,从JUnit 4过渡到JUnit 5

    在本教程中,我们将介绍如何创建基本的Spring Boot应用程序并将其从JUnit 4迁移到JUnit 5。

    用户6543014
  • Linux学习笔记:文件的权限了解一下

    Linux 是一个多用户、多任务的系统,常常有多人同时使用一台机工作,为了保护每个人的隐私权,“文件所有者”的角色就显得相当重要了。当Linux用户登录系统之后...

    用户6543014
  • 【重磅】Facebook首次公开内部机器学习平台,启动AI帝国

    【新智元导读】Tensorflow凭“谷歌”“开源”两个标签自2015年底发布以来便名震深度学习圈。而前年底Facebook就打造其专属ML平台FBLearne...

    新智元
  • 算法集锦(11)| 自动驾驶 | 基于HOG和SVM的车辆识别算法

    本文旨在介绍一种基于方向梯度直方图(HOG)和支持向量机(SVM,Support Vector Machines)的车辆检测和跟踪算法。该算法在OpenCV和S...

    用户7623498
  • Stanford机器学习笔记-4. 神经网络Neural Networks (part one)

    4. Neural Networks (part one) Content:   4. Neural Networks (part one)      4.1 ...

    llhthinker
  • Vim 文本对象指南 (1)

    本文还是介绍一些基本内容, 关于插件使用, 可以查看完整配置 space-vim.

    用户1558438
  • 机器学习(4) -- 神经网络

    Content: 4. Neural Networks (part one)   4.1 Non-linear Classification.   4.2 N...

    昱良
  • “用云量”成为数字经济新指标,腾讯数据中心提供坚实支撑

    腾讯数据中心6月15日,第三届腾讯数据中心&云分享日暨DCD腾讯合作伙伴峰会在上海召开,本届分享日的主题是“云集响应,赢粮景从”。数字经济时代,传统行业纷纷开始...

    云资讯小编
  • CMake使用总结

    CMake意为cross-platform make,可用于管理c/c++工程。CMake解析配置文件CMakeLists.txt生成Makefile,相比直...

    bear_fish

扫码关注云+社区

领取腾讯云代金券