有或没有 ISP CGN/NAT 的端口转发

有或没有 ISP CGN/NAT 的端口转发

让我们想象一个由 ISP -> 路由器 -> 主机组成的简单家庭网络。主机有一个监听端口 12345 和一个监听端口 443。为了完整起见,端口 12345 由 P2P 应用程序(torrent,用于下载/上传合法的 unix 发行版)通过 TCP 端口使用,而 443 是 Web 服务器。

我的路由器配置为启用 NAT 并禁用 UPNP。此外,P2P 应用程序有设置,我有一个漂亮的复选框,显示“UPNP 和 NAT-PMP”已禁用。

我可以要求 ISP 将我放入 NAT 池(并在我的 WAN 路由器接口上显示私有 IP)或 dyn 公共地址池(并在我的 WAN 路由器接口上显示公共 IP)。

如果我获得公共 IP,我必须将路由器设置为将端口 12345 转发到主机的 IP。否则互联网上的人们将无法连接到它。443 也是一样。

但是如果我获得 NAT IP,即使没有任何端口转发,外部人员也可以连接到我主机上的端口 12345。但不能连接到 443。

问题是:第二种情况(NAT)如何工作?为什么 12345 可以工作而 443 不行?人们如何能够访问我的主机?即使我是唯一一个在 nat 公共 IP 上使用端口 12345 的人X那么 ISP 究竟如何知道应该将数据包转发到我的路由器,然后再将我的路由器转发到主机呢?

谢谢!

答案1

您所描述的情况是不可能的。最有可能的情况是(假设您的路由器按要求设置)另一台不属于您网络的设备正在端口 12345 上应答,而您误认为它是您的设备。

另一种可能性是,您的 PC 正在建立出站连接,但您误将其当作入站连接。

相关内容