rhel5u3的机器
需要在一块网卡(eth0)上设上两个网段的ip地址
(交换机上已经配好,vlan id分别为10和11)
当用命令vconfig add eth0 10
的时候
系统抱错:
ERROR: trying to add VLAN #10 to IF -:eth0:- error: Invalid argument
man vconfig貌似也没有说法
后来查了下资料
才知道vconfig添加vlan
需要网络设备是up状态才行
于是明白了
先ifconfig eth0 up
然后再vconfig add eth0 10
vconfig add eth0 11
就ok了
最后记得在系统里将eth0改成缺省是up状态
(改文件/etc/sysconfig/network-scripts/ifcfg-eth0中的ONBOOT参数为yes)
否则重起就没用了
前面提到实现的策略是从哪儿来的回哪儿去
也就是说从哪个网络设备上来的请求
response的时候还从哪个网络设备上回去
后来
策略改了
改成去教育网ip的流量都走教育网的线路,
也就是连接教育网线路的设备
按照前面的例子,就是eth0.100
其他公网的流量走另外一个网络设备,也就是eth0.101
于是在文件/etc/sysconfig/network-scripts/route-eth0.100中添加:
a.b.c.0/24 dev eth0.100 src a.b.c.d table edu
default via a.b.c.254 table edu
在文件/etc/sysconfig/network-scripts/rule-eth0.100中添加:
from a.b.c.d table edu
to 58.154.0.0/15 table edu
to 58.192.0.0/12 table edu
to 59.64.0.0/12 table edu
to 113.54.0.0/15 table edu
to 114.212.0.0/15 table edu
to 114.214.0.0/16 table edu
to 115.24.0.0/14 table edu
to 115.154.0.0/15 table edu
to 115.156.0.0/15 table edu
to 115.158.0.0/16 table edu
to 116.13.0.0/16 table edu
to 116.56.0.0/15 table edu
to 118.202.0.0/15 table edu
to 118.228.0.0/15 table edu
to 118.230.0.0/16 table edu
to 120.94.0.0/15 table edu
to 121.48.0.0/15 table edu
to 121.52.160.0/19 table edu
to 121.192.0.0/14 table edu
to 121.248.0.0/14 table edu
to 122.204.0.0/14 table edu
to 125.216.0.0/13 table edu
to 162.105.0.0/16 table edu
to 166.111.0.0/16 table edu
to 202.4.128.0/19 table edu
to 202.38.64.0/18 table edu
to 202.38.140.0/23 table edu
to 202.38.184.0/21 table edu
to 202.38.192.0/18 table edu
to 202.112.0.0/13 table edu
to 202.120.0.0/15 table edu
to 202.127.216.0/21 table edu
to 202.127.224.0/19 table edu
to 202.179.240.0/20 table edu
to 202.192.0.0/12 table edu
to 203.91.120.0/21 table edu
to 210.25.0.0/17 table edu
to 210.25.128.0/18 table edu
to 210.26.0.0/15 table edu
to 210.28.0.0/14 table edu
to 210.32.0.0/12 table edu
to 211.64.0.0/13 table edu
to 211.80.0.0/13 table edu
to 218.192.0.0/13 table edu
to 219.216.0.0/13 table edu
to 219.224.0.0/13 table edu
to 219.242.0.0/15 table edu
to 219.244.0.0/14 table edu
to 222.16.0.0/12 table edu
to 222.192.0.0/12 table edu
以上to的ip地址段都是教育网的ip地址
同样,在文件/etc/sysconfig/network-scripts/route-eth0.101添加:
e.f.g.0/24 dev eth1.470 src e.f.g.h table other
default via e.f.g.254 table other
在文件/etc/sysconfig/network-scripts/rule-eth0.101中添加:
from e.f.g.h table other
还有
在/etc/sysconfig/network里写的
GATEWAY=e.f.g.254
也就是写的是缺省的公网网关
最近刚做完这么一件事情
做的过程中从网上没找到非常详细、具体的文档
自己摸索着搞定
特写出来
哪位如果再有相同的需求的话
再做就非常容易了
我的环境非常简单
一台linux(RedHat as3)的机器(kernel 2.4.21)
公网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
再生成网卡设备的配置文件ifcfg-eth1.10和ifcfg-eth1.240
2,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网段直通
在RedHat enterprise advance server 3上测试过
RedHat 9上也没问题
近期评论