如何在RHEL/CentOS 7/8和Fedora接口上配置802.1q VLAN标记

时间:2020-02-23 14:38:20  来源:igfitidea点击:

VLAN标记是一种处理网络端口上多个VLAN的方法。 VLAN标记用于告诉哪个数据包属于哪个VLAN,因为数据包遍历网络介质。在本指南中,我们将在RHEL/CentOS和Fedora系统的网络接口中配置802.1q VLAN标记。

要创建VLAN,需要在另一个称为父接口的接口之上创建一个接口。 VLAN接口在通过接口时将使用VLAN ID标记数据包,而返回的数据包将不加标签。

在进行任何配置之前,请确保已加载8021q模块。

sudo modprobe --first-time 8021q
modinfo 8021q

在这个例子中,我将在服务器上配置一个enp6s0接口。

$ip link  show  dev enp6s0
2: enp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> 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接口。配置文件名应该是父接口加上一个字符以及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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
49: theitroad@localhost: <BROADCAST,MULTICAST,UP,LOWER_UP> 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

要在具有VLAN接口VLAN21和ID 21的以太网接口enp6s0上创建802.1Q VLAN接口,请发出以下命令:

$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或者Fedora服务器中的接口上成功配置了VLAN标记。