在我的环境中,大多数服务器都有 2 个网卡。一个是应用程序使用的主/用户网卡,另一个是用于备份、批量复制等的辅助/备份适配器。
我刚刚设置了一台新服务器,但在从仅具有主/用户适配器的客户端 ping 其辅助适配器时遇到了问题。
从我的测试客户端,我能够在其他服务器的主/辅适配器上 ping 通它们。
网络:
192.168.151.0 == 用户网络与我的服务器
192.168.147.0 == 用户网络与我的客户端
192.168.245.0 == 备份网络
计算机:
newServer (rhel 6) [ 又名麻烦制造者]
eth0:192.168.151.180(用户网络)
eth1:192.168.245.187(备份网络)
旧服务器(rhel 5)
eth0:192.168.151.203(用户网络)
eth1:192.168.245.236(备份网络)
pubClient (rhel5) [仅具有用户界面的客户端系统]
- eth0:192.168.147.118(用户)
从 pubClient 我可以在 eth0 或 eth1 ip 地址上 ping oldServer。我注意到 (tcpdump) 当我 ping eth1 时,ping 的返回路径是 oldServer 的 eth0 接口。
从 pubClient 上,我可以 ping newServer 的 eth0 接口,但当我 ping newServer 的 eth1 适配器时,什么也没有发生。使用 tcpdump,我看到流量进入备份网络接口,但没有流量流出。eth1 适配器工作正常 - 从 newServer 上,我可以使用 245 接口或 pubClient ping 备份网络上的其他设备,没有任何问题迹象。
两台服务器上的路由表都很简单并且功能相同。
newServer # ip route list
192.168.151.0/24 dev eth0 proto kernel scope link src 192.168.151.180
192.168.245.0/24 dev eth1 proto kernel scope link src 192.168.245.187
default via 192.168.151.5 dev eth0
oldServer # ip route list
192.168.151.0/24 dev eth0 proto kernel scope link src 192.168.151.203
192.168.245.0/24 dev eth1 proto kernel scope link src 192.168.245.236
default via 192.168.151.5 dev eth2
两台服务器上均未运行防火墙。 net.ipv4.ip_forward = 0
新服务器正在运行 RHEL6,我想知道某种网络遍历(如 ip_forward)的默认设置是否已默认禁用?
我的网络人员坚持认为这些机器之间的路由没有任何问题。
如果您能猜测出问题出在哪里,我们将不胜感激。
干杯
-斯科特
答案1
解决了!
谢谢韦恩。
在新的(rhel6 服务器)上
echo "0" >/proc/sys/net/ipv4/conf/eth0/rp_filter
echo "0" >/proc/sys/net/ipv4/conf/eth1/rp_filter
“uRPF 检查会查看数据包进入时的源地址。如果到该源地址的路由不会从该接口出去,则数据包将被丢弃”