查看一下我的路由,
/sbin/ip route ls
218.28.172.0/24 dev eth0  proto kernel  scope link  src 218.28.172.x 
202.196.x.0/24 dev eth1  proto kernel  scope link  src 202.196.x.x
169.254.0.0/16 dev eth1  scope link 
default via 202.196.x.1 dev eth0 

这说明我的默认路由是教育网的202.196.x.1,现在我把它改成想要的电信的,
#ip route replace default via 218.28.172.1 dev eth1 table main

/sbin/ip route ls
218.28.172.0/24 dev eth0  proto kernel  scope link  src 218.28.172.x 
202.196.x.0/24 dev eth1  proto kernel  scope link  src 202.196.x.x
169.254.0.0/16 dev eth1  scope link 
default via 218.28.172.1 dev eth1 
这样就行了,默认路由改成电信的了.

然后建立特殊路由表:
#vi /etc/iproute2/rt_table
#
reserved values
#
255    local
254    main
253    default
#0      unspec
200     edu
#
local
#
#1      inr.ruhep

看到没,
200     edu
这一行就是我新加的,自定义编号为200,名字为edu.
下面向edu路由中添加它自己的默认路由
#/sbin/ip route add default via 202.196.x.1 table edu
注意,这个table edu一定不要忘了写,否则写到了主路由表中.

先看看机器当前的ip rule
#/sbin/ip rule ls
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default
可以看到,规则中走了3个路由表,local、main、default
我们平常用route看到的,实际是路由表main
这些规则是按序号大小顺序走的,一个不同,则走下一个,知道通路或走完为止

开始添加我们自己的路由edu到路由表中
#/sbin/ip rule add to 59.76.0.0/16 pref 10000 table edu
这个意思是说,去向IP地址范围为59.76.0.0/16的访问,则启用edu的路由表中的路由规则
而edu的路由规则是什么呢?上面已经设置了,走的是202.196.x.1的路由.
现在再来看一下当前的ip rule
#/sbin/ip rule ls
0:      from all lookup local
10000:  from all to 59.76.0.0/16 lookup edu 
32766:  from all lookup main
32767:  from all lookup default