linux – 使用多宿主服务器丢弃IP流量

linux – 使用多宿主服务器丢弃IP流量,第1张

概述(在详细介绍之前,我以Apache和SSH为例说明了这个问题,但这并不是特定于TCP流量,而是基于TCP和UDP协议的问题.) 我有一个运行Ubuntu 9.04的多链路多宿主服务器,其中eth0连接到外部网络,eth1连接到内部网络.外部网络呈现给“世界其他地方”,内部网络包含所有开发人员工作站和主力服务器.有一个防火墙阻止从“世界其他地方”到内部网络的流量,但不阻止传出请求. $/sbin/i (在详细介绍之前,我以Apache和SSH为例说明了这个问题,但这并不是特定于TCP流量,而是基于TCP和UDP协议的问题.)

我有一个运行Ubuntu 9.04的多链路多宿主服务器,其中eth0连接到外部网络,eth1连接到内部网络.外部网络呈现给“世界其他地方”,内部网络包含所有开发人员工作站和主力服务器.有一个防火墙阻止从“世界其他地方”到内部网络的流量,但不阻止传出请求.

$/sbin/ifconfigeth0  link encap:Ethernet  HWaddr 00:30:18:a5:62:63        inet addr:xxx.yyy.159.36  Bcast:xxx.yyy.159.47  Mask:255.255.255.240      [snip]eth1  link encap:Ethernet  HWaddr 00:02:b3:bd:03:29        inet addr:xxx.zzz.109.65  Bcast:xxx.zzz.109.255  Mask:255.255.255.0      [snip]$route -n Kernel IP routing tableDestination     Gateway         Genmask         Flags Metric Ref    Use Ifacexxx.yyy.159.32  0.0.0.0         255.255.255.240 U     0      0        0 eth0xxx.zzz.109.0   0.0.0.0         255.255.255.0   U     0      0        0 eth10.0.0.0         xxx.yyy.159.33  0.0.0.0         UG    100    0        0 eth0

Apache正在侦听端口80,sshd正在侦听22:

$netstat --tcp -aActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address           Foreign Address         State      tcp        0      0 *:www                   *:*                     ListEN     tcp        0      0 *:ssh                   *:*                     ListEN     [snip]

从我在内部的开发机器xxx.zzz.109.40,我可以连接到内部地址,一切都很好.从外面我可以连接到外部地址,一切都像它应该的那样.

但是对于某些类型的测试,我想从我的开发机器连接到外部地址,但服务器拒绝连接请求.我猜它正在寻找它的路由表,因为传入的数据来自一个应该在eth1上的地址,但是它正在到达eth0,它正在丢弃它,可能是作为安全预防措施.

有没有办法可以放宽这个限制?

奇怪的是,这曾经在8.04上工作,但在8.10或9.04上不起作用,所以在去年的某个时候内核正在做一些额外的检查.为了使连接正常工作,返回路径需要与源路径相同,这意味着来自我的开发机器的消息到达eth0将不得不返回到eth0以便路由回我的机器.

这是一个图表,任何地方都没有NAT.

Diagram http://i25.tinypic.com/ff37yx.png

解决方法 假设您没有任何阻止此 *** 作的iptables规则,则需要禁用返回路径过滤.你可以这样做:
# echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter

您也可以使用特定的接口名称而不是全部,并且还有一个默认值,这将影响新创建的接口.

从:

reverse path filter; it is a check to see if,for a packet arriving on an interface,a packet sent to the original packet’s source address would be sent out on that interface; if not,the arriving packet is dropped. it can be consIDered an attempt at detecting packets with spoofed source addresses.

总结

以上是内存溢出为你收集整理的linux – 使用多宿主服务器丢弃IP流量全部内容,希望文章能够帮你解决linux – 使用多宿主服务器丢弃IP流量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1035857.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存