VLAN Tagging(标记)是一种在网络端口上处理多个VLAN的方法,VLAN标记用于通过数据包遍历网络介质来判断哪个数据包属于哪个VLAN,在本文中,我们将在RHEL、CentOS 7/8和Fedora系统的网络接口中配置802.1q VLAN标记。
前言
要创建VLAN,请在另一个称为父接口的接口之上创建接口,VLAN接口将在通过接口时标记具有VLAN ID的数据包,并且返回的数据包将是未标记的。
在进行任何配置之前,请确保已加载8021q模块:
sudo modprobe --first-time 8021q
modinfo 8021q
在这个例子中,我将在服务器上配置一个enp6s0接口:
$ ip link show dev enp6s0
2: enp6s0: mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 38:90:a5:14:96:54 brd ff:ff:ff:ff:ff:ff
你可以使用网络管理器命令行工具-nmcli来完成此操作或直接编辑网络配置文件。
手动编辑配置文件
编辑父接口配置文件并设置如下:
$ sudo vim /etc/sysconfig/network-scripts/ifcfg-enp6s0
TYPE=Ethernet
NAME=enp6s0
DEVICE=enp6s0
BOOTPROTO=none
ONBOOT=yes
如上所示,我们已将接口设置为启动,我们不在此处分配IP信息。
现在配置VLAN接口,配置文件名应该是父接口加上a,字符加上VLAN ID号,在我的设置中,VLAN ID为21,父接口为enp6s0,因此配置文件名应为:
sudo vim /etc/sysconfig/network-scripts/ifcfg-enp6s0.21
所有网络配置信息都将添加到此文件中:
DEVICE=enp6s0.21
BOOTPROTO=none
ONBOOT=yes
IPADDR=172.10.10.11
GATEWAY=172.10.10.1
DNS1=172.10.10.1
DNS2=8.8.8.8
PREFIX=24
VLAN=yes
进行更改后,重新启动网络服务以使更改生效:
sudo systemctl restart network
或者,手动调出界面:
sudo ifdown enp6s0 && sudo ifup enp6s0
sudo ifup enp6s0.21
确认接口的IP地址信息:
$ ip ad | grep enp6s0
2: enp6s0: mtu 1500 qdisc mq state UP group default qlen 1000
49: enp6s0.21@enp6s0: mtu 1500 qdisc noqueue state UP group default qlen 1000
inet 172.10.10.11/24 brd 172.10.10.255 scope global noprefixroute enp6s0.21
使用NMCLI工具
完全可以从命令行界面完成相同的配置,对于此方法,NetworkManager服务应该正在运行:
$ systemctl status NetworkManager
检查当前网络配置:
$ nmcli con show
要在以太网接口enp6s0上创建802.1Q VLAN接口,并使用VLAN接口VLAN21和ID 21,请输入如下命令:
$ nmcli con add type vlan con-name VLAN21 ifname VLAN21 dev enp6s0 id 21
然后,你可以为VLAN接口分配IP地址:
nmcli connection modify VLAN21 ipv4.addresses 172.10.10.11/24 \
ipv4.method manual ipv4.gateway 172.10.10.1 \
ipv4.dns 172.10.10.1 +ipv4.dns 8.8.8.8
要查看与上面创建的VLAN关联的所有参数,请按如下方式输入命令:
$ nmcli connection show VLAN21
至此,你已在RHEL、CentOS 7/8或Fedora服务器的接口上成功配置了VLAN tagging(标记)。
相关主题