怎样在linux(RedHat)上实现802.1Q VLAN
最近刚做完这么一件事情,做的过程中从网上没找到非常详细、具体的文档,自己摸索着搞定。特写出来,哪位如果再有相同的需求的话,再做就非常容易了。

环境:
一台linux(RedHat)的机器

公网eth0
私网eth1
以前私网是接的192.168.10网段的,vlan id为10
现在想把私网在保留原来10网段的同时,还想加一个192.168.240网段,vlan id为240

其实这个题目的答案非常简单
就是用vconfig嘛
vconfig add eth1 10
vconfig add eth1 240
然后再ifconfig eth1.10配ip,ifconfig eth1.240配ip地址,用vconfig大家应该都差不多能解决这个问题。

当然,在交换机上得把这个端口配成trunk模式,既在vlan-id为10的网段,又在vlan-id为240的网段。

我这里主要讲的是怎样“配置”,就是说不用写启动脚本,不用改原有的启动流程,就是说重起机器(或者是/etc/rc.d/init.d/network restart)之后,系统的网络设备就已经ok,既能直通192.168.10网段,又能直通192.168.240网段。

我仔细看了启动流程的脚本文件,发现其实非常简单:
1.编辑文件/etc/sysconfig/network
在里面添加一行:
VLAN=yes
2.再生成网卡设备的配置文件ifcfg-eth1.10和ifcfg-eth1.240
cd /etc/sysconfig/network-scripts
cp ifcfg-eth1 ifcfg-eth1.10
cp ifcfg-eth1 ifcfg-eth1.240
3.编辑文件ifcfg-eth1.10和ifcfg-eth1.240
在里面类似于写ifcfg-eth1的语法配上此服务器在192.168.10网段和192.168.240网段的ip地址、netmask、network等等
注意:这两个文件的DEVICE得分别改成eth1.10和eth1.240(这两个文件都是由ifcfg-eth1复制过来,故原来应该是eth1)
4.再编辑ifcfg-eth1
vi ifcfg-eth1
删掉IPPADDRESS、NETMASK、NETWORK这跟ip地址相关的几行

一切OK了。无论现在是/etc/rc.d/init.d/network restart,还是reboot,你将得到的系统将既跟192.168.10网段直通、又跟192.168.240网段直通。