3G路由器支持端口转发,但是不行

Har*_*rry 0 router wireless-networking 3g port-forwarding

我的 Linux 工作站正在使用 MTS 3G Wifi USB 加密狗访问 Internet - 该工作站没有其他网络连接。

这个路由器的端口转发管理页面确实让我指定以下每行 4 个值:

---------------------------------------------------------
Config name  | Local port | Wan port | MAC  
---------------------------------------------------------
1. Service A |   8080     |   8888   | aa-bb-cc-dd-ee-ff
2. Service B |   9090     |   9999   | aa-bb-cc-dd-ee-ff
        ...
---------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我在上面指定的 MAC 地址是我从ifconfig. (这是wlan1路由器中的 DHCP 服务器分配给它的本地 IP 地址的接口 - 这就是我识别它的方式。)

当我保存上述值时,相同的管理页面会在底部显示以下只读值:

---------------------------------------
Config Name    |  Port   | IP Address
---------------------------------------
 1. Service A  |   8888  |   a.b.c.d
 2. Service B  |   9999  |   a.b.c.d
       ...
---------------------------------------
Run Code Online (Sandbox Code Playgroud)

这个只读输出似乎表明对我来说,Service A监听本地端口8080可以从公共互联网通过以下方式访问a.b.c.d:8888。但我无法访问Service A。事实上,我什至无法 ping a.b.c.d。(我知道路由器可能故意禁止传入的 ping,a.b.c.d但不确定还可以尝试什么。)

如果我通过像http://www.whatismyip.com/这样的网站检查我的工作站的公共 IP 地址,我会看到我的公共 IP 被报告为e.f.g.h而不是a.b.c.d!

那么,我如何将公共 WAN 端口转发88888080运行的本地端口Service A,然后从公共 Internet 访问服务 A?

编辑:

我的IP地址如下:

  • a.b.c.d = 100.84.c.d
  • e.f.g.h = 163.47.g.h

小智 5

由于您的路由器报告的 IP 与您的公共 IP 不同,因此您的 3G 网络提供商很可能没有为您分配公共 IP,而是执行NAT,这也可以解释为什么端口转发不起作用。

如果 abcd 位于私有 IP 地址范围内,则会确认这一点:从 10.0.0.0 到 10.255.255.255。从 172.16.0.0 到 172.31.255.255。从 192.168.0.0 到 192.168.255.255。

当我遇到这个问题时,我打电话给我的 3G 提供商,他们“将我切换到他们的公共网络”,这意味着我被分配了一个公共 IP 地址并且可以接受传入的连接。虽然这解决了我的特定问题,但我发现 3G IP 地址变化非常快,这可能会导致不支持该问题的软件出现问题。使用TTL非常低(如 1(1 秒))的动态 DNS 服务可能会使其可用。或者您可以获得带有静态 IP 的商业计划。