场景:
所有linux系统通用
服务器有三个网卡:
eth0: 公网ip为: 48.109.90.9x,访问这个ip,系统通过eth0网卡返回数据给客户端
eth1: 公网ip为: 48.109.90.8x,访问这个ip,系统通过eth1网卡返回数据给客户端
eth2: 公网ip为: 48.109.90.7x,访问这个ip,系统通过eth2网卡返回数据给客户端
默认情况下无论访问eth0还是eth1或者eth2,系统都是通过eth0返回数据给客户端。
默认演示如下: 上面演示总结:无论访问三个ip的任何一个ip,系统返回数据包都是通过eth0网卡,并没通过对应网卡返回。
解决方法:
1、查看当前系统路由情况:
显示如图: 分别执行如下命令设置源进源出:route -n
说明:
1、我的服务器是vpc网络,172.20.95.253是对应网关地址。
2、172.20.81.216是网卡对应私网ip,如果您服务器是经典网络,没有私网地址,以实际公网ip为准。
3、101和102是上面查看路由网卡对应的“Metric”值,记得对应修改。
设置eth1:
如图:显示file exists 不影响,说明这条路由已经有了。 设置eth2:ip -4 route add default via 172.20.95.253 dev eth1 metric 101
ip -4 route add default via 172.20.95.253 dev eth1 table 101
ip -4 rule add from 172.20.81.216 lookup 101
设置后在测试如图: 由此可见,源进源出设置正确了。ip -4 route add default via 172.20.95.253 dev eth2 metric 102
ip -4 route add default via 172.20.95.253 dev eth2 table 102
ip -4 rule add from 172.20.81.219 lookup 102
执行如下命令可以看到对应关系:
返回:ip rule list
永久路由配置
上面增加的是临时路由,重启服务器后可能会失效,可以参考如下方法设置永久路由
编辑:/etc/rc.local文件,在文件最后增加如下内容保存即可。
ip -4 route add default via 172.20.95.253 dev eth1 metric 101
ip -4 route add default via 172.20.95.253 dev eth1 table 101
ip -4 rule add from 172.20.81.216 lookup 101
ip -4 route add default via 172.20.95.253 dev eth2 metric 102
ip -4 route add default via 172.20.95.253 dev eth2 table 102
ip -4 rule add from 172.20.81.219 lookup 102
文章评论 本文章有个评论