HACK#25 VLAN
本节介绍VLAN(Virtual LAN)的设置方法。
在Linux中安装了802.1Q标签VLAN功能。VLAN是虚拟分配以太网的功能。使用VLAN ID从物理上将一个以太网分割开。在VLAN环境下,具有相同VLAN ID就可以相互通信,但是即使将LAN线连接到相同集线器或交换机上,VLAN ID不同也不能相互通信。
本节将介绍VLAN的设置方法,包括准备配置文件的方法和使用命令行设置的方法。
使用命令进行设置
使用vconfig命令和ip命令可以进行VLAN环境的设置。
使用vconfig命令生成VLAN接口时的操作如下。把VLAN ID设置为100。
vconfg add eth0 100
Added VLAN with VID==100 to IF-:eth0:-
使用ip命令也可以进行同样的设置。
ip link add link eht0 name eth0.100 type vlan id 100
NIC eth0中将生成VLAN ID100的VLAN接口。与一般的网络接口同样可以设置IP地址等。
ifconfg eth0.100 192.168.1.100
ifconfg eth0.100
eth0.100 Link encap:Ethernet HWaddr 00:1B:21:0F:91:8F
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
……
生成的VLAN接口的状态可以使用/proc/net/vlan来确认。
ls/proc/net/vlan/
config eth0.100
head/proc/net/vlan/*
==>/proc/net/vlan/config<==
VLAN Dev name|VLAN ID
Name-Type:VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth0.100|100|eth0
==>/proc/net/vlan/eth0.100<==
eth0.100 VID:100 REORDER_HDR:1 dev->priv_flags:1
total frames received 0
total bytes received 0
Broadcast/Multicast Rcvd 0
total frames transmitted 0
total bytes transmitted 0
total headroom inc 0
total encap on xmit 0
Device:eth0
要删除VLAN接口时,可以执行下列命令。
vconfg rem eth0.100
或者
ip link delete eth0.100
在这个示例中,生成的VLAN接口的名称是物理网络接口+点+VLAN ID(即eth0.<VLAN ID>),但VLAN的接口名有4种,如表4-2所示。
使用vconfig add增加VLAN接口时,需要事先使用vconfig set_name_type<种类>来设置种类。设置了种类后,内核就会按照种类从VLAN接口名来识别ID。
但是在已有配置文件中使用ifup命令的情况,是通过ifup脚本来识别VLAN ID的,因此无须在意VLAN设备名的种类。