如何在RHEL 8/CentOS 8上创建Linux网络桥

时间:2020-02-23 14:30:28  来源:igfitidea点击:

如何在RHEL 8/CentOS 8 Linux系统上创建Linux网络桥梁?
在今天的教程中,我们将研究如何在RHEL/CentOS 8服务器上创建Linux桥。
在Linux网络中,桥用于连接两个或者更多网络段。
它通常用于虚拟化,通过虚拟机管理程序网卡传递虚拟机流量。
连接到网络桥的所有访客机器都将透明地将其视为物理网络接口。

Linux桥的行为类似于虚拟网络交换机,任何物理或者虚拟设备都可以连接到桥接器。
本文介绍了如何创建包括至少一个以太网设备的网络桥。

使用NMCLI在RHEL 8/CentOS 8上创建Linux网络桥

以下是用于在RHEL/CORCOS 8服务器上创建Linux网络桥的步骤。
用nmcli。

第1步:创建一个Linux桥

使用 nmcli网络管理命令行工具在所需接口上创建Linux桥。
让我们列出可用的连接。

$sudonmcli connection show 
NAME                UUID                                  TYPE      DEVICE 
enp1s0              498869bb-0d88-4a4c-a83a-c491d1040b0b  ethernet  enp1s0 
Wired connection 1  0977f29f-fa2e-3d7f-831c-6f41f8782be3  ethernet  enp7s0

由于我的桥梁将在第二个设备上创建 enp7s0,我将删除现有连接,然后使用此设备创建桥梁。

$sudo nmcli connection delete 0977f29f-fa2e-3d7f-831c-6f41f8782be3
Connection 'Wired connection 1' (0977f29f-fa2e-3d7f-831c-6f41f8782be3) successfully deleted.

1.将桥接相关信息保存到变量。

BR_NAME="br0"
BR_INT="enp7s0"
SUBNET_IP="192.168.122.10/24"
GW="192.168.122.1"
DNS1="8.8.8.8"
DNS2="8.8.4.4"

其中:br_name:要创建的桥的名称.BR_INT:要用作Bridge Slave.subnet_ip:分配给桥的IP地址和子网的物理网络设备已创建.gw:默认gatewaydns1和dns2的IP地址:要使用的DNS服务器的IP地址。 2.定义新的桥接连接。

sudo nmcli connection add type bridge autoconnect yes con-name ${BR_NAME} ifname ${BR_NAME}
Connection 'br0' (be6d4520-0257-49c6-97c2-f515d6554980) successfully added.

3.修改桥梁以添加IP地址,网关和DNS

sudo nmcli connection modify ${BR_NAME} ipv4.addresses ${SUBNET_IP} ipv4.method manual
sudo nmcli connection modify ${BR_NAME} ipv4.gateway ${GW}
sudo nmcli connection modify ${BR_NAME} ipv4.dns ${DNS1} +ipv4.dns ${DNS2}

4.将网络设备添加为Bridge Slave。

sudo nmcli connection delete ${BR_INT}
sudo nmcli connection add type bridge-slave autoconnect yes con-name ${BR_INT} ifname ${BR_INT} master ${BR_NAME}

示例输出。

Connection 'enp7s0' (f033dbc9-a90e-4d4c-83a9-63fd7ec1cdc1) successfully added.

检查连接。

$sudo nmcli connection show 
NAME    UUID                                  TYPE      DEVICE 
br0     be6d4520-0257-49c6-97c2-f515d6554980  bridge    br0    
enp1s0  498869bb-0d88-4a4c-a83a-c491d1040b0b  ethernet  enp1s0 
enp7s0  f033dbc9-a90e-4d4c-83a9-63fd7ec1cdc1  ethernet  enp7s0

第2步:带上网络桥

一旦创建了网络桥接连接,请带上它。

$sudo nmcli connection up br0
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)

通过运行查看桥接详细信息。

sudo nmcli connection show br0

ip addr命令应给出类似于下面的输出。

$ip ad
3: enp7s0:  mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
     link/ether 52:54:00:a2:f6:a8 brd ff:ff:ff:ff:ff:ff
 4: br0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
     link/ether 52:54:00:a2:f6:a8 brd ff:ff:ff:ff:ff:ff
     inet 192.168.122.10/24 brd 192.168.122.255 scope global noprefixroute br0
        valid_lft forever preferred_lft forever
     inet6 fe80::4f2f:ce6d:dc6b:2101/64 scope link noprefixroute 
        valid_lft forever preferred_lft forever

桥梁处于活动状态,现在已准备好使用。
我们可以在Rhel/CentOS 8上使用KVM学习如何使用Linux网络桥接器。

手动在RHEL 8/CentOS 8上创建Linux网络桥

还可以通过在RHEL/CORCOS 8服务器上手动创建网络配置脚本来创建Linux网络桥梁。

桥接网络配置。

$cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
DELAY=0
STP=off
ONBOOT=yes
IPADDR=192.168.122.10
NETMASK=255.255.255.0
GATEWAY=192.168.122.1
BOOTPROTO=none
DEFROUTE=yes
NM_CONTROLLED=no
IPV6INIT=no
DNS1=192.168.122.1
DNS2=8.8.8.8

接口配置文件。

$cat /etc/sysconfig/network-scripts/ifcfg-enp7s0
DEVICE=enp7s0
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0

重新启动系统以确认桥接正在运行。

sudo reboot

重新启动后,使用IP命令验证设置。

sudo ip addr