在一台服务器上,我们遇到了各种 UDP 连接失败的问题。相同的应用程序和测试在具有相同操作系统和类似设置的其他服务器上运行正常。
nc -vz -u 83.61.**.** 7092
Connection to 83.61.**.** 7092 port [udp/*] succeeded!
使用 go 应用程序:
read udp 5.9.**.**:49696->83.61.**.**:7092: i/o timeout
我们使用 php 和 golang 应用程序对其进行了测试。
我们也尝试过完全禁用防火墙。
如果 netcat 成功但其他应用程序却不能,可能是什么原因造成的。
答案1
Connection to [...] port [udp/*] succeeded!
是来自 netcat 的误导性消息。netcat 无法知道端口是否使用 UDP 开放,因为与 TCP 不同,这不是一个连接协议。
使用老办法:用 tcpdump 查看另一端的 UDP 数据包是否进来