现有一台Linux服务器,服务器上的两块网卡各设置了一个静态IP 202.65.219.90和152.104.201.58。IP地址202.65.219.90走的是海外路由,方便海外用户可以快速访问到该服务器;IP地址152.104.201.58走的是国内BGP路由,方便国内用户可以快速访问到该服务器。服务器的IP地址配置如下: # ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:50:56:b7:01:ff brd ff:ff:ff:ff:ff:ff inet 202.65.219.90/27 brd 202.65.219.95 scope global eth0 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:50:56:b7:02:00 brd ff:ff:ff:ff:ff:ff inet 10.0.0.104/24 brd 10.0.0.255 scope global eth1 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:50:56:b7:02:01 brd ff:ff:ff:ff:ff:ff inet 152.104.201.58/27 brd 152.104.201.63 scope global eth2 然而,在默认情况下,Linux系统会自动生成一条默认路由,言下之意,第一个IP地址是没有路由的,因此也就无法Ping通IP地址152.104.201.58,这时就需要我们手动来添加一条指向IP地址152.104.201.58的静态路由,操作方法如下: 1. vi /etc/iproute2/rt_tables,添加一条路由表: 252 china 2. 执行下述添加静态路由的shell命令。命令中IP地址及子网掩码根据实际情况进行计算并修改: ip rule add from 152.104.201.58/27 table china ip route add 0/0 via 152.104.201.58 dev eth2 table china 上述命令执行后会即时生效,这时就可以Ping通IP地址152.104.201.58了。不过,上述路由设置并非永久生效,在服务器重启或network服务重启后,路由信息也就失效了,这时也就无法Ping通IP地址152.104.201.58了。因此接下来的两步操作可以解决系统重启后路由失效的这个问题: 3. 在/etc/rc.local增加静态路由添加命令,系统启动时就自动添加路由。 vi /etc/rc.local,插入 ip rule add from 152.104.201.58/27 table china ip route add 0/0 via 152.104.201.58 dev eth2 table china 4. 解决network服务重启后路由失效的问题 vi /etc/sysconfig/network-scripts/route-eth2,新建静态路由配置文件route-eth2,文件命名规则:route-devName,即对应网卡设备名的路由配置文件。然后添加路由信息(注意修改实际情况下的IP地址): 0/0 via 152.104.201.58 dev eth2 table china (责任编辑:IT) |