我在RHEL6服务器上接收UDPstream量时遇到问题。 当使用tcpdump捕获stream量时,数据包是可见的(校验和正确,目标IP和MAC与机器匹配)。 但是,监听特定端口的应用程序无法看到任何数据,即使套接字已成功打开并显示在netstat -panu输出中。 我尝试了一个简单的perl UDP服务器脚本( http://www.perlmonks.org/?node_id=659588 ),而不是实际的应用程序,但结果是一样的(套接字打开,没有收到数据)。
没有configuration防火墙规则。 这是iptables --list output :
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
此外, netstat -s -u不显示系统收到的任何UDP数据包:
Udp: 0 packets received 0 packets to unknown port received. 0 packet receive errors 0 packets sent
这是一些安全的客户环境,我无法login到networking中的另一台机器尝试手动发送testingUDP数据包。
任何人都可以指出我的方向进一步排除故障吗?
检查是否有帮助。 Linux内核不通过多播UDP数据包基本上,如果net.ipv4.all.rp_filter = 1,那么内核将执行严格的反向pathvalidation。 更多文档可以在https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txtfind。