什么是VLAN?
VLAN(Virtual Local Area Network)又称虚拟局域网,是指在交换局域网的基础上,采用网络管理软件构建的可跨越不同网段、不同网络的端到端的逻辑网络。一个VLAN组成一个逻辑子网,即一个逻辑广播域,它可以覆盖多个网络设备,允许处于不同地理位置的网络用户加入到一个逻辑子网中。
使用VLAN优点?
1、控制广播风暴
一个VLAN就是一个逻辑广播域,通过对VLAN的创建,隔离了广播,缩小了广播范围,可以控制广播风暴的产生。
2、提高网络整体安全性
通过路由访问列表和MAC地址分配等VLAN划分原则,可以控制用户访问权限和逻辑网段大小,将不同用户群划分在不同VLAN,从而提高交换式网络的整体性能和安全性。
3、网络管理简单、直观
对于交换式以太网,如果对某些用户重新进行网段分配,需要网络管理员对网络系统的物理结构重新进行调整,甚至需要追加网络设备,增大网络管理的工作量。而对于采用VLAN技术的网络来说,一个VLAN可以根据部门职能、对象组或者应用将不同地理位置的网络用户划分为一个逻辑网段。在不改动网络物理连接的情况下可以任意地将工作站在工作组或子网之间移动。利用虚拟网络技术,大大减轻了网络管理和维护工作的负担,降低了网络维护费用。在一个交换网络中,VLAN提供了网段和机构的弹性组合机制。
广东新支点技术服务有限公司的Linux专家们总结了在Linux上配置VLAN的步骤和注意事项。
一、前提
首先要确认Linux系统内核是否已经支持VLAN功能:
# modinfo 8021q //查看是否有vlan模块
filename: /lib/modules/2.6.18-164.el5/kernel/net/8021q/8021q.ko
version: 1.8
license: GPL
srcversion: 23825F9811A0741C69CF0CF
depends:
vermagic: 2.6.18-164.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
module_sig: 883f3504b5892a7b894a602a5db54e1124ec309f65d42e9251955d8e245e256b34795e293e4c56809d11b7c780b58cc459c32871ccfa247bb56e14c
# lspci //确认网卡驱动是否已经正常加载
二、物理网卡、子网卡、虚拟VLAN网卡的关系:
1.物理网卡:服务器上物理网络接口设备,也就是要配置trunk的具体接口。
2. 子网卡:子网卡并不是网络接口设备,但是可以作为网络接口在系统中出现,如eth0:1、eth1:2这种网络接口。必须要依赖于物理网卡,可以与物理网卡同时在系统中存在并使用不同的IP地址,而且也拥有它们自己的网络接口配置文件。但是所依赖的物理网卡down掉时子网卡也不能工作。
3.虚拟VLAN网卡:虚拟VLAN网卡也不是物理网络接口设备,可以作为网络接口在系统中出现,与子网卡不同的是,没有自己的配置文件。是通过将物理网加入不同的VLAN而生成的VLAN虚拟网卡。如果将一个物理网卡添加到多个VLAN当中去的话,就会有多个VLAN虚拟网卡出现,相关的VLAN信息都是保存在/proc/net/vlan/config这文件中的,以eth0.1、eth1.2命名。
本次测试是将eth0配置成trunk vlan,创建两个vlan网卡,其中vlan ID分别为1,2,具体环境视需求而定。
三、修改物理网卡
确保/etc/sysconfig/network-scripts/ifcfg-eth0配置文件中,以下几项配置值如下:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
设定静态地址,且不配置IP地址。
四、创建vlan
连接vlan的vlan id号要对应才能连接
配置文件/etc/sysconfig/network-scripts/ifcfg-ethx.y
其中:
x表示: 具体物理网卡号,本次为0即eth0
y表示: vlan的vlan号,即vlan ID
配置文件要求:
1. 必须包含VLAN=yes
2. 接口名必须为ethx.y,y表示vlan ID,要与实际的对应
3. MAC地址不需要指定
创建配置文件/etc/sysconfig/network-scripts/ifcfg-eth0.1
文件内容如下:
VLAN=yes
DEVICE=eth0.1
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.2.1 //具体的vlan 接口IP
NETMASK=255.255.255.0
创建配置文件/etc/sysconfig/network-scripts/ifcfg-eth0.2
文件内容如下:
VLAN=yes
DEVICE=eth0.2
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.3.1 //具体的vlan 接口IP
NETMASK=255.255.255.0
五、重启网络
# Service network restart
六、查看vlan信息
查看 /proc/net/vlan/config文件应该有如下信息
[root@localhost Desktop]# cat /proc/net/vlan/config
VLAN Dev name | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth0.1 | 1 | eth0
eth0.2 | 2 | eth0