为了能够让联通和电信用户都可以快速的访问网站,公司服务器托管到了双线双ip机房。服务器使用双线双ip需要对路由表做一些特殊的配置,IDC提供的解决方案是填写静态路由表。方法是使用电信网关做默认的路由,然后自己手工填写所有网通IP地址段的路由规则。
此方法弊端较大:
1、添加规则太多太麻烦,如果漏掉一些网段,那这些网段的用户就访问不了网站。
2、dns智能解析的来路与填写的静态路由网段不同时,用户就会访问不了我们的网站。
3、网段地址的分布总是在不断变化的,必须定期更新路由表。
解决方法:
使用动态路由,服根据用户访问进来的路径设定动态路由,如果用户是通过电信IP地址访问过来的话,那么使用电信网关做路由,返回内容走电信网关;如果用户通过联通IP地址访问过来的话,那么使用联通网关做路由,返回内容走联通的网关。
经过在网站备份服务器上的测试,使用动态路由表的方法可以解决静态路由表的弊玻
具体方法如下:
假如服务器分配的ip地址如下
电信网关:59.83.100.1 ;电信ip:59.83.100.10。
联通网关:221.214.100.1;联通ip:221.214.100.10 。
1、编辑rt_tables文件,添加电信联通路由表
# vi /etc/iproute2/rt_tables # (增加电信和联通两个路由表)
添加电信联通路由表
252 tel
251 cnc
2、编辑rc.local文件,设置电信和网通路由表内容。
# vi /etc/rc.d/rc.local #(设置电信和网通路由表内容)
添加如下内容
ip route replace default via 59.83.100.1 dev eth0 #默认路由线路
ip route flush table tel #刷新tel路由表
ip route add default via 59.83.100.1 dev eth0 src 59.83.100.10 table tel #添加回环地址
ip rule add from 59.83.100.10 table tel #从59.83.100.10过来的,走tel路由
ip route flush table cnc #刷新cnc路由表
ip route add default via 221.214.100.1 dev eth1 src 221.214.100.10 table cnc
ip rule add from 221.214.100.10 table cnc #从221.214.100.10过来的走cnc路由
reboot服务器测试下效果吧!