这里我们是通过network.service网络配置脚本方式,通过命令行配置802.1Q VLAN ,也可用通过Network-Manager 进行配置这里就不介绍了
一、加载8021q模块
----------------------------------------------------------
[root@KVM7 ~]# modprobe 8021q ##加载模块
[root@KVM7 ~]# lsmod | grep 8021q ##查看是否加载成功
8021q 33080 0
garp 14384 1 8021q
mrp 18542 1 8021q
[root@KVM7 ~]#
----------------------------------------------------------
二、设置启动时自动加载内核模块(如果开机自启动不需要做这个操作)
----------------------------------------------------------
[root@KVM7 ~] vi /etc/sysconfig/modules/8021q.modules
#!/bin/bash
/sbin/modprobe kvm
----------------------------------------------------------
[root@KVM7 ~] chmod +x 8021q.modules
三、使用 ifcfg 文件设置 802.1Q VLAN 标记
1、在 /etc/sysconfig/network-scripts/ifcfg-ens37 中配置上级接口,其中 ifcfg-ens37 是具体的物理接口,ifcfg-ens37内容如下:
----------------------------------------------------------
[root@KVM7 network-scripts]# vi ifcfg-ens37
DEVICE=ens37
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=no ##不被NetworkManager管理,添加这个防止NetworkManager存在时可能出问题
----------------------------------------------------------
2、在 /etc/sysconfig/network-scripts/ 目录中配置 VLAN 接口。配置文件名应为上级接口加上 . 字符再加上 VLAN ID 号码。例如:如果 VLAN ID 为 200,上级接口为ens37,那么配置文件名应为 ifcfg-ens37.200, ifcfg-ens37.200的内容如下:
----------------------------------------------------------
[root@KVM7 network-scripts]# vi ifcfg-ens37.200
DEVICE=ens37.200
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.10
PREFIX=24
GATEWAY=192.168.1.1
VLAN=yes
NM_CONTROLLED=no
PHYSDEV=ens37 ##vlan端口对应物理硬件名称,不加也可以用,最好加上这个参数
----------------------------------------------------------
如果需要在同一接口ens37 中配置第二个 VLAN,比如 VLAN ID 100,请添加名为 ens37.100 的新文 件,文件中包含 VLAN 配置详情。
3. 重启联网服务以便更改生效。请作为 root 运行以下命令:
----------------------------------------------------------
[root@KVM7 ~]# systemctl restart network
----------------------------------------------------------
四、知识补充:
各种模块模块文件已经存在 /lib/modules/3.10.0-1062.el7.x86_64/kernel/net/ 中,用的时候只需要加载即可
vlan信息文件存在 /proc/net/vlan/ 这里