有两张网卡,有电信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
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
重启网络服务可以看到路由策略生效。