CentOS 8使用nmcli命令添加网桥(br0)
如何配置CentOS 8并使用nmcli命令添加网桥(br0)?
如何在CentOS Linux 8服务器上为KVM(基于内核的虚拟机)创建Linux网桥?
网桥不过是将两个本地网络连接到一个网络中的设备。
它在数据链路层(OSI模型的第2层)工作。
经常与虚拟化软件一起使用的网桥。
例如,诸如KVM,LXD或Docker用户之类的流行软件可以配置网桥,而不是基于NAT的网络。
nmcli命令行工具可以创建持久的网桥配置,而无需编辑任何文件。
本页面显示了如何使用CentOS 8 Enterprise Linux上的网络管理器命令行工具nmcli创建网桥接口。
CentOS 8使用nmcli添加网桥(br0)
当您要使用网络管理器时,在CentOS 8上创建和添加桥接口的过程如下:
- 打开终端应用程序或使用[nixmcd name = ssh]登录
- 查找有关当前CentOS 8网络连接的信息:sudo nmcli con show
- 然后,添加一个名为br0的新网桥:sudo nmcli con添加类型为ifif br0的网桥
- 为br0创建一个从属接口:sudo nmcli con add type bridge-slave ifname eno1 master br0
- 打开br0接口以通过DHCP获取IP:sudo nmcli con up br0
- 下面针对br0接口讨论静态IP设置
让我们详细查看在CentOS 8中创建网桥的所有示例和说明。
警告:这些说明对现有服务器进行了重要的网络更改,错误的命令可能会丢失与服务器的网络/SSH连接。
因此,不建议在基于ssh的会话上运行这些命令。
此外,您可能需要更新防火墙规则以匹配网桥设置。
对于远程服务器,我建议使用基于IP或IPMI的KVM远程会话。
在CentOS 8上创建Linux网桥的前提条件
首先,获取有关当前CentOS Linux 8接口和IP地址的信息,因为稍后我们需要此信息。
因此,键入以下命令:
$ nmcli con show $ nmcli connection show --active
输出:
NAME UUID TYPE DEVICE eno1 71a189f2-9cb9-49f0-8464-37a6801740e3 ethernet eno1
所以我的服务器有一个使用eno1以太网接口的eno1。
我将设置一个名为br0的网桥接口,并将接口添加(奴役)到eno1中。
步骤1创建一个名为br0的网桥
语法为:
$ sudo nmcli con add ifname br0 type bridge con-name br0 $ sudo nmcli con add type bridge-slave ifname eno1 master br0 $ nmcli connection show
步骤2为网桥禁用或启用STP
生成树协议(STP)的主要目的是确保当网络中有冗余路径时,您不会创建环路。
我们可以为br0禁用STP或启用以下功能:
$ sudo nmcli con modify br0 bridge.stp no ## CentOS 8 nmcli command to enable STP with br0 ## $ sudo nmcli con modify br0 bridge.stp yes ## Verification ## $ nmcli con show $ nmcli -f bridge con show br0
输出:
bridge.mac-address: - bridge.stp: no bridge.priority: 32768 bridge.forward-delay: 15 bridge.hello-time: 2 bridge.max-age: 20 bridge.ageing-time: 300 bridge.group-forward-mask: 0 bridge.multicast-snooping: yes bridge.vlan-filtering: no bridge.vlan-default-pvid: 1 bridge.vlans: -
步骤3为网桥接口设置静态或基于DHCP的IP
我们尚未为br0接口分配任何静态IP地址。
因此,如果DHCP服务器可用,则应提供IP地址和其他设置。
但是,在服务器上,我们通常会设置一个静态IP地址。
在此示例中,我将现有的eno1 IP网络设置转换为br0设置,如下所示:
IPv4 br0设置
$ sudo nmcli connection modify br0 ipv4.addresses '192.168.2.19/24' $ sudo nmcli connection modify br0 ipv4.gateway '192.168.2.254' $ sudo nmcli connection modify br0 ipv4.dns '192.168.2.254' $ sudo nmcli connection modify br0 ipv4.dns-search 'sweet.home' $ sudo nmcli connection modify br0 ipv4.method manual
IPv6 br0设置
$ sudo nmcli connection modify bridge0 ipv6.addresses 'Your-Static-IPv6-Address' $ sudo nmcli connection modify br0 ipv6.gateway 'Your-Static-IPv6-Gateway-Address' $ sudo nmcli connection modify br0 ipv6.dns 'Your-Static-IPv6-DNS' $ sudo nmcli connection modify br0 ipv6.dns-search 'sweet.home' $ sudo nmcli connection modify br0 ipv6.method manual
步骤4在CentOS 8上启用br0网桥接口
到目前为止,我们已经配置了必需的网络设置。
现在该打开我们的br0了:
$ sudo nmcli con up br0 $ nmcli con show
等待一段时间以激活设置。
步骤5验证网桥设置
使用ip命令查看br0的IP设置:
$ ip a s $ ip a s br0
您可以删除eno1,因为br0本身具有静态IP地址,因为eno1将处于转发状态:
$ sudo nmcli connection delete eno1
使用ip命令的外观如下:
$ nmcli connection show $ ip a show br0 $ nmcli device ## interface active and works with br0 ## $ ip a show eno1 $ ip r ## Check Internet and local LAN connectivity using ping command ## $ ping -c 4 www.theitroad.local $ ping -c 4 192.168.2.25
显示CentOS 8 Linux机器上以太网设备和桥接设备的链接状态:
$ ip link show master br0 $ bridge link show $ bridge link show dev eno1