【问题标题】:Why does TCP port forwarding work but UDP does not?为什么 TCP 端口转发有效,而 UDP 无效?
【发布时间】:2021-03-06 03:27:36
【问题描述】:

这是我在这里的第一个问题,如果它不属于正确的类别或没有得到完美的解释,非常抱歉。我会尽量做到描述性和精确性。

基本上,我已经为游戏以及用于开发的服务器-客户端测试目的进行了一些端口转发。在过去,它总是工作得非常好。然而,最近,我意识到有些事情无缘无故停止工作。

经过一段时间的测试,我注意到这是 UDP 的问题。需要转发 TCP 端口的东西可以正常工作,但需要转发 UDP 端口的东西却不行。我通过使用 TCP 和 UDP 测试完全相同的应用程序(在 Godot 中制作的一个简单的服务器客户端应用程序,只是为了测试这一点)证实了这一点。它通过 TCP 连接正常,但不是 UDP。

这在我过去从未发生过。关于问题可能是什么的任何想法?我已经用谷歌搜索了几个小时,我唯一能找到的是 A. UDP 故障排除显然非常困难(尤其是在 Windows 上)和 B. 有些人含糊地提到它可能是我的 ISP 过滤 UDP 内容的问题。

我已经确定这也不是防火墙问题。不知道我还能尝试什么。我只是在这里遗漏了一些非常明显的东西吗?非常感谢您提供任何可能的想法或建议。

【问题讨论】:

  • 端口转发是 NAT 路由器的一项功能,其配置在 Stack Overflow 上是题外话。您可以考虑在 superuser.com、serverfault.com 或 networkengineering.stackexchange.com 上发布您的问题,但您肯定希望在这样做之前确保您已经完成了充分的研究,并且您的问题尚未得到解答在任何这些网站上。

标签: udp portforwarding


【解决方案1】:

您可能不会收到 UDP 响应,因为服务器可能正在为 TCP 使用该特定端口。

使用不同技术的不同 UDP 扫描程序可能会得出不同的结果。

只有在隐藏 NAT 的情况下,ISP 才有可能过滤 UDP 端口 - 这意味着您将被分配一个公共 IP,但仍会通过不同的 IP (NAT'CEPTION) 访问互联网,请检查我的 ip确认这一点。

您可以在上游设备(防火墙或调制解调器,如果可能)上进行wireshark数据包捕获

【讨论】:

  • 非常感谢您的快速回复。我已经仔细检查了我的公共 IP(如“我的 ip 是什么”和类似站点上所示)与路由器显示的公共 IP 匹配。这应该意味着没有隐藏的 NAT 、 CGNAT 或 NAT-CEPTION 东西。因此,这是一个 ISP 问题的可能性是不可能的,对吧?这是否意味着它必须是防火墙问题?
猜你喜欢
  • 2018-05-08
  • 2022-11-18
  • 1970-01-01
  • 2020-03-09
  • 2011-07-05
  • 2012-01-15
  • 2013-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多