在工作中偶尔会遇到在1台机器上面配置2个或者2个以上的同一网段公网IP的情况;
在实际配置过程中发现,当配置多个同一网段的公网IP后,只有一个公网IP是通的;
造成这种情况的原因:Linux默认启用了反向路由检查

如果2个网卡在一个Lan里面,那么服务器可能从eth0或者eth1发现网关, 如果一个包从eth0进入了, 而网关在eth1上, 那么从eth1是出不去的, 就不通了. 反向路由检查要求从哪里来的才能回哪去.

解决方法:关闭反向路由检查

echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth2/rp_filter
注:eth1,eth2为我这边配置公网IP的网卡,需要根据自己的情况进行配置

写入/etc/rc.local中,设置开机自动关闭反向路由检查