Linux IP转发问题

Linux IP转发问题

在我的环境中,大多数服务器都有 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 检查会查看数据包进入时的源地址。如果到该源地址的路由不会从该接口出去,则数据包将被丢弃”

http://lartc.org/howto/lartc.kernel.html

相关内容