目的
linux用于在同一个网口下跑多个 vlan,同时配置多个网段的地址,实现类似交换机trunk
口功能
准备
802.1q 模块
查看是否有该模块
# modinfo 8021q
filename: /lib/modules/3.10.0-514.el7.x86_64/kernel/net/8021q/8021q.ko
version: 1.8
license: GPL
alias: rtnl-link-vlan
rhelversion: 7.3
srcversion: 7E3D79395FFBC56AFC109DE
depends: mrp,garp
intree: Y
vermagic: 3.10.0-514.el7.x86_64 SMP mod_unload modversions
signer: CentOS Linux kernel signing key
sig_key: D4:88:63:A7:C1:6F:CC:27:41:23:E6:29:8F:74:F0:57:AF:19:FC:54
sig_hashalgo: sha256
加载 8021q 模块
modprobe 8021q
验证:
[root@xxxxx~]# lsmod |grep 8021q
8021q 33104 0
garp 14384 1 8021q
mrp 18542 1 8021q
创建父接口
# cd /etc/sysconfig/network-scripts/
# touch ifcfg-eth2
在里面写入如下信息
DEVICE=eth2
ONBOOT=yes
BOOTPROTO=static
创建子接口
cp ifcfg-eth2 ifcfg-eth2.1000
dot 后面的数字为 VLAN ID。然后修改子接口配置文件
DEVICE=eth2.1000
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.20.0.2
PREFIX=24
NETWORK=172.20.0.0
VLAN=yes
每个子接口配置都在上面基础上修改,根据实际情况修改 IP、掩码和网段信息
验证
# cat /proc/net/vlan/config
VLAN Dev name | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth2.1000 | 1000 | eth2
eth2.1001 | 1001 | eth2
eth2.1002 | 1002 | eth2
然后重启网卡即可生效。
网友评论