【问题标题】:Can Full Cone NAT router automatically opens dynamic ports initiated by a router using Symmetric NAT?Full Cone NAT 路由器能否自动打开由使用对称 NAT 的路由器发起的动态端口?
【发布时间】:2019-08-16 22:37:48
【问题描述】:

有一种软件使用随机私有动态端口提供对等连接,该软件将获取用户的公共 IP 地址和端口信息,并为每个用户的公共 IP 地址存储其特定的唯一源 IP 和端口。

例如:为了让源 IP 连接到目标 IP,它将从已经存储目标信息的 IP/端口的软件服务器中检索该信息,例如 IP:111.222.333.444 端口:56344,然后成功启动与目标 IP 的连接,在这种情况下大部分时间都应该工作。

为了让事情变得更复杂,假设用户路由器的 NAT 类型设置为对称 NAT,在这种情况下,用户网络信息将作为预定义的源 ip/端口存储在软件中,但由于对称 NAT 的性质有效,在创建与目标 IP 的连接会话时,它不会是相同的启动源 IP/端口,因为它将完全使用不同的源 IP 和端口,并且与预先保存的软件服务器保存的预定义源 IP/端口相矛盾,因此加入会话将失败。

理论上,拥有 Full Cone NAT 路由器的用户应该能够与拥有 Symmetric NAT 路由器的用户通信,因为它将允许任何源/目标端口的任何传入连接。

综上所述,值得一提的是,该软件建议打开端口 3074 以使其正常工作。问题是:如果这个特定端口对 Symmetric NAT 用户(没有端口转发)不起作用,那么为什么软件首先会建议它?

【问题讨论】:

标签: router p2p portforwarding nat


【解决方案1】:

UPnP IGD v1/v2NAT-PMPPCP 是允许私有网络主机请求由网关设备转发给它们的端口的协议。为此,网关设备显然必须至少支持其中一种协议。它通常可用(以促进网络游戏等原因),但并非总是在许多消费设备中启用。由于安全策略,它不太可能在企业环境中被发现

此外,网关还可以将这些端口转发请求转发到 ISP 的 CGNAT,例如当它位于 DSlite AFTR 后面时。

对于完整的锥形 nat(也称为 endpoint independent mappings),您可以简单地使用 UDP hole punching。这不适用于对称 NAT(也称为地址和端口相关映射)。

您也可以尝试使用 IPv6,因为它不会受到 NAT 的影响,但网关可能仍会实施默认阻止传入连接的防火墙,从而导致类似的连接问题。

【讨论】:

    【解决方案2】:

    如果完整锥形 NAT 后面的客户端使用相同的端口进行出站连接和传入连接,
    并且最近还进行了传出连接尝试或已经与任意客户端建立了连接,
    对称 NAT 后面的客户端可以通过该开口进行连接。

    成功进行端口转发将使该特定客户端的 NAT 问题消失,并且任何其他(经过 NAT 的)客户端都可以连接到它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-02
      • 2018-08-15
      • 2017-02-02
      • 2022-01-21
      • 2015-04-06
      相关资源
      最近更新 更多