环境:CentOS 7.9
网络:不同网段VLAN IP
问题项:配置了双IP,内网只能ping通一个,关闭一个后才能ping通另一个
思绪:在安装正式环境碰到后,直接安装虚拟机开始调测,第一反应是不是防火墙上面的问题,因为之前部署window server 2016上出现过,但发现不是。后面就慢慢摸上了从网络路由这条路,果不其然,还真的是linux系统自带机制造成,其原因为:Linux系统默认启用了反向路由检查
也就是说配置好了双网卡后,服务器只能从其中一块网卡发现网关,如果用户一个包从eth0进入,而服务器发现的网关在eth1上,那么包是从eth1直接NG出不去,所以就ping不通,反向路由检查要求从哪里来的才能回哪去的一个概念。
解决办法:
第一步:找到两块网卡名称,再执行关闭反向路由检查(命令中第二及第三项根据实际网卡名来替换)
[root@oracledb etc]# ifconfig
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/网卡名0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/网卡名1/rp_filter
第二步:配置完之后你会发现双IP都能ping通了,但如服务器重启后将会默认开启,所以还要执行下一步骤来防止每次开机自动关闭反向路由检查,将以上命令加入 /etc/rc.local 即可。
[root@oracledb etc]# vi /etc/rc.local
其他:如涉及到此文件权限可以给/etc/rc.local文件添加执行权限即可。
[root@oracledb /]# chmod +x /etc/rc.local