没有人能够再从互联网连接到我的计算机,因为我的 ISP 几天前开始使用对称 NAT。以前没有任何问题,我可以从互联网启动到我的计算机的连接,如果某些计算机上正在运行服务器应用程序,则可以建立连接,因为我的路由器中正确配置了端口转发。现在,数据包根本无法到达我的路由器。
我注意到了哪些变化:
-我在 google 或 IP whois 网站上看到的公共 IPv4 地址与路由器到 ISP 的链接(我的路由器的“WAN”链接)上设置的地址不同。我通过路由器的 Web 界面页面检查了路由器“WAN”接口的 IP 地址(这是一个简单的家用 TPLink 路由器)。
-我的 ISP 更改了来自我的计算机的数据包的源端口号。例如,客户端应用程序绑定到端口号 50000 udp。我的路由器发送源端口号为 50000 的数据包。我的 ISP 将此源端口号更改为任意源端口号(例如 13418)。
问题
1) 如果我的计算机上运行着一个服务器应用程序,我无法从互联网向它发送数据,因为该端口未在我的 ISP 的对称 NAT 上打开。例如,服务器在我的其中一台计算机上监听端口 30000。该端口未在我的 ISP 的对称 NAT 上打开,如果我尝试从互联网发送数据,数据包将无法到达我的路由器。
2) 我使用一款名为 Voobly 的应用程序玩游戏 - 主要玩帝国时代 2。连接的工作方式如下:您为 Voobly 客户端设置一个监听端口(例如 udp 16000)。Voobly 将该端口提供给其他玩家,以便与我建立直接连接。因此,我的 Voobly 客户端发送源端口为 16000 的 udp 数据包,我的 TPLink 路由器执行 NAT 并保留 udp 源端口 16000,但当数据包试图离开我的 ISP 网络时,它们会将源端口更改为 13000 之类的端口。所以我很倒霉,UDP 打洞很难实现,我甚至无法连接到住在我隔壁国家的人。
结论
我知道这是绝望的尝试。我对此无能为力(除非更换 ISP)。我希望奇迹发生。在此先感谢任何向我提供信息的人。
答案1
我认为解决这个问题的唯一方法是使用可以为您提供公共 IP 地址的 VPN。如果没有任何商用 VPN 服务提供此功能(我不知道),那么您可以租用虚拟专用服务器 (VPS) 并建立 VPN。但不确定这是否有助于降低在线游戏的延迟。
答案2
我认为您只能使用 VPS 并在您的 vps 上设置 vpn 服务器。
然后在 VPS 上设置端口转发。或者简单地使用 ssh 反向隧道连接到您的 VPS。
您的描述听起来不像是对称 NAT。锥形 NAT 也会更改您的端口。
对称 NAT 意味着如果你连接到不同的服务器,NAT 会将你的端口更改为不同的随机端口。如果你的 ISP 使用锥形 NAT,当你连接到不同的服务器时,你的源端口将更改为随机的,但端口相同。
我认为向您的 ISP 发送电子邮件是最简单的方法。