woj*_*h_k 6 linux udp linux-networking
我在 RHEL6 服务器上接收 UDP 流量时遇到问题。使用 tcpdump 捕获流量时,数据包是可见的(校验和正确,目标 IP 和 MAC 与机器的匹配)。然而,侦听特定端口的应用程序无法看到任何数据,即使套接字已成功打开并显示在 netstat -panu 输出中。我尝试了一个简单的 perl UDP 服务器脚本 ( http://www.perlmonks.org/?node_id=659588 ) 而不是实际的应用程序,但结果是一样的(套接字打开,没有收到数据)。
没有配置防火墙规则。这是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
Run Code Online (Sandbox Code Playgroud)
还netstat -s -u没有显示系统所接收的任何UDP数据包:
Udp:
0 packets received
0 packets to unknown port received.
0 packet receive errors
0 packets sent
Run Code Online (Sandbox Code Playgroud)
这是一些安全的客户环境,我无法登录到网络中的另一台机器来尝试手动发送测试 UDP 数据包。
谁能指出我进一步排除故障的方向?
小智 2
检查这是否有帮助。 Linux 内核不传递多播 UDP 数据包 基本上,如果 net.ipv4.all.rp_filter = 1,则内核执行严格反向路径验证。更多文档可以在https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt找到
| 归档时间: |
|
| 查看次数: |
19341 次 |
| 最近记录: |