Linux网桥

系统:centos8 stream

centos8默认使用NetworkManager作为网络管理程序,archlinux默认使用systemd-networkd作为网络管理程序,因此创建网桥和vlan是两者有差异。

查看网络接口

nmcli c show --active                    # 查看活动的网络接口

创建网桥

# (一)使用命令创建网桥
nmcli c add type bridge ifname br0 con-name br0 # 在/etc/sysconfig/network-scirpts/路径下会生成ifcfg-br0网桥文件
# type:类型,常用的vxlan,vlan,bridge,bridge-slave等,用来定义设备的类型;
# ifname:设备名字;
# con-name: 连接名称;
# (二)直接创建ifcfg-br0配置文件
[root@localhost network-scripts]# vi ifcfg-br0
STP=yes                                    # stp协议是否开启
TYPE=Bridge                                # 类型为bridge
BOOTPROTO=none
IPADDR=172.16.1.100
NETMASK=255.255.255.0
GATEWAY=172.16.1.1
NAME=br0                                # 接口名称
DEVICE=br0                                # 设备名称
ONBOOT=yes                                # 开机自启

桥接物理网卡

# (一)使用命令桥接
nmcli connection add type bridge-slave ifname ens37 master br0
# 将物理网卡ens37桥接到网桥br0,在/etc/sysconfig/network-scripts/生成ifcfg-bridge-slave-ens37文件,将桥接的物理网卡IP地址删除,配置br0网卡IP地址,重启网络

# (二)修改配置文件桥接
# 修改物理网卡配置文件,添加BRIDGE=br0到文件中,并将物理网卡IP地址删除,配置br0网卡IP地址,重启网络

启动|关闭网桥

# 启动网桥(删除ens37网卡上的IP地址,启动网桥,添加br0网卡上的IP地址)
nmcli c down ens37 && nmcli c up br0
# 关闭网桥(关闭网桥删除br0上IP地址,启动ens37网卡,添加ens37网卡上的IP地址)
nmcli c down br0 && nmcli c up ens37
# 删除桥接(命令生成的桥接删除桥接文件,创建配置文件生成的桥接删除物理网卡配置中的BRIDGE=br0选项
nmcli c delete bridge-slave-ens37
# 删除网桥
nmcli c delete br0

VLAN


802.1q模块

# 加载802.1q模块
modprobe --first-time 8021q
# 查看802.1q模块,有输出即加载成功
lsmod | grep -i 8021q  或  modinfo 8021q
# 开机自动加载802.1q,将下面脚本放在/etc/sysconfig/modules/下,增加执行权限
vi /etc/sysconfig/modules/8021q.modules
#!/bin/sh
/sbin/modinfo -F filename 8021q > /dev/null 2>&1
if [ $? -eq 0 ]; then
    /sbin/modprobe 8021q
fi 

创建VLAN

一个接口可添加多个vlan

(一)命令创建vlan

# 1.修改以太网卡配置文件
[root@localhost network-scripts]# cat ifcfg-ens37
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
#IPADDR=172.16.2.199                    # 删掉IP
#NETMASK=255.255.255.0
#GATEWAY=172.16.2.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
DEVICE=ens37
ONBOOT=yes
UUID=b1e961c0-ac36-4dc0-8efa-1791bda00f18
# 2.命令创建vlan10文件
# 在ens37接口添加vlan10,会在/etc/sysconfig/network-scripts/生成ifcfg-vlan10文件
nmcli c add type vlan con-name vlan10 ifname vlan10 vlan.parent ens37 vlan.id 10
[root@localhost network-scripts]# cat ifcfg-vlan10
VLAN=yes
TYPE=Vlan
PHYSDEV=ens37
VLAN_ID=10
REORDER_HDR=yes
GVRP=no
MVRP=no
HWADDR=
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=vlan10
UUID=1ee67b20-30f8-4484-983d-f4b1b676a3cd
DEVICE=vlan10
ONBOOT=yes
# 重启网络

(二)创建配置文件

# 1.修改以太网卡配置文件
[root@localhost network-scripts]# cat ifcfg-ens37
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
#IPADDR=172.16.2.199                    # 删掉IP
#NETMASK=255.255.255.0
#GATEWAY=172.16.2.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
DEVICE=ens37
ONBOOT=yes
UUID=b1e961c0-ac36-4dc0-8efa-1791bda00f18
# 2.创建vlan配置文件
[root@localhost network-scripts]# vi ifcfg-ens37.10
TYPE=vlan                                # 类型为vlan
PHYSDEV=ens37                            # 对应的以太网卡名称
VLAN_ID=10                                # vlan id
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=172.16.2.199
NETMASK=255.255.255.0
GATEWAY=172.16.2.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37.10                            # 接口名称
#UUID=b1e961c0-ac36-4dc0-8efa-1791bda00f18 # 删除uuid或者使用uuidgen命令重新生成,不能和以太网卡uuid相同
DEVICE=ens37.10                            # 设备名称
ONBOOT=yes
VLAN=yes                                # 设置允许vlan
# 重启网络

查看是否创建成功

# 查看是否有vlan接口
[root@localhost network-scripts]# ls /proc/net/vlan/
config    ens37.10
# 查看配置文件是否有vlan配置
[root@localhost network-scripts]# cat /proc/net/vlan/config
VLAN Dev name    | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
ens37.10       | 10  | ens37
# 查看vlan接口IP地址
[root@localhost network-scripts]# ip add

标签: yes, IPV6, 网桥, vlan, VLAN, ens37, no, centos8, br0

相关文章推荐

添加新评论,含*的栏目为必填