Linux的路由表与路由策略

ip route 只是基于目的地址的路由选择

ip rule 路由策略,控制路由选择,可根据源地址,源IP等进行路由选择

 

路由策略由选择符合操作组成

ip rule add   添加策略

ip rule delete  删除策略

ip rule show  显示策略

使用路由策略可以更好的控制路由走向,类似于cisco下的 route map

 

下面一个例子显示了使用路由策略的优点:

假设有一台双线服务器

有两张网卡,有电信IP和网通IP地址,实现电信IP访问服务器时,服务器响应使用电信网关,网通IP访问服务器时,服务器响应使用网通网关。

假设电信IP为

222.73.121.100/24 网关 222.73.121..1

网通IP

112.80.1.100/24 网关 112.80.1.1

 

方法1(静态路由方法):

A.      使用电信网关做默认路由,并添加网通的路由条目,并将条目写到/etc/rc.local或者/etc/sysconfig/network里面,以开机时可以加载

在network里面添加GATEWAY=222.73.121.1

添加路由条目如下

 

route add –net 58.16.0.0/13 gw 112.80.1.1

…..

 

 

B.      每网卡路由:假设eth0为222.73.121.100/24,eth1为112..80.1.100/24,新建以下文件

/etc/sysconfig/network-scripts/route-eth1

按如下格式添加路由条目

58.16.0.0/13 via 112.80.1.100

 

缺点是需要添加很多条目的路由条目,并且需要更新,如果有一个网通网段未添加,这个网段的IP就不能访问服务器的

 

方法2(根据用户访问的路径设置静态路由):

 

1. 先在/etc/sysconfig/network里面添加默认路由GATEWAY=222.73.121.1

 

2. 设置ip rule 策略

 

vi /etc/iproute2/rt_tables #添加路由表

 

[root@lamp iproute2]# cat rt_tables

#

# reserved values

#

255     local

254     main

253     default

0       unspec

 

252 dianxin   #电信路由表

251 wangtong   #网通路由表

#

# local

#

#1      inr.ruhep

3. 添加原路返回路由

 

ip  route  flush  table dianxin

ip  route  add  default  via 222.73.121.1 dev  eth0  src 222.73.121.100 table dianxin

ip  rule  add  from  222.73.121.100  table  dianxin

 

ip route flush table wangtong

ip  route  add  default  via 112.80.1.1 dev eth1  src 112.80.1.100 table wangtong

ip  rule  add  from  112.80.1.100  table  wangtong

 

即让从电信IP过来的请求按照电信路由返回,从网通IP过来的请求从网通路由返回

 

将上述命令添加至/etc/rc.local中,以便重启可以生效

 

[root@lamp ~]# ip rule show

0:      from all lookup 255

32764: from 112.80.1.100 lookup wangtong

32765: from 222.73.121.100 lookup dianxin

32766: from all lookup main

32767: from all lookup default

 

重启网络服务可以看到路由策略生效,当然,client的访问到达server之前是需要智能DNS解析的功能来选择不同的到达路径的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/7430e4e4fef33034a0dc7fba57be42e7.html