由于系统需要分别从内外网访问,即外网用户从外网访问服务器,内网用户从内网访问服务器,结果在配置双网关后发现内网不能访问,使用route命令查看路由发现问题原因,重新设置路由解决了问题。
为避免服务器重启后再出现路由问题,在配置文件 /etc/rc.local 添加
route add -net 172.0.0.0 netmask 255.0.0.0 gw 172.31.20.254 dev eth1 #内网路由
route add default gw外网出口ip eth0 #默认路由
route del -net default netmask 0.0.0.0 gw 172.31.20.254 dev eth1 #删除系统自己添加的路由
这样系统重启后就能自动设置正确的静态路由,保证内外网都能正常访问
原理说明:一般来说缺省路由只能有一条,即使加了2条,也只能用metric小的那条,只有当metric小的那条路由不可用(如端口down)时,另一条才会起作用,所以对于不知道远端地址情况(如访问Internet)的那个端口需要指缺省路由,而对于明确知道远端地址分配情况的(一般为内网地址段)端口指静态路由。
下面是网上找的参考资料
http://linux.chinaunix.net/bbs/viewthread.php?tid=911850&extra=&page=1