我想转发端口 3002 并允许其他人通过 Internet 连接到它。我设置了一个节点服务器,当进入http://localhost:3002/
我的本地计算机时,我得到一个“Hello world!” 信息。
我网络上托管服务器的计算机正在192.168.0.182
运行 Linux。我在我的 TP-Link A6 Archer 路由器上配置了“虚拟服务器”功能,内部和外部端口设置为 3002,并将 IP 设置为我计算机的本地 IP。
保存更改并转到https://www.yougetsignal.com/tools/open-ports/后,我被告知该端口仍处于关闭状态。虽然路由器设置说屏蔽 ping 数据包被禁用,但我也无法 ping 自己的 IP。
http://192.168.0.182:3002
在我的本地网络上确实让我收到了我托管的服务器的回复。
我听说 ISP 可能会这样做,但这到底是怎么回事?
路由器信息页面:
您的路由器(TP-Link Archer A6)没有公共 IP 地址,因此无法直接从 Internet 访问它,并且其上的虚拟服务器/端口转发规则无助于从公共互联网。
路由器拥有的 IP 地址是
10.0.203.167
私有IP 地址,无法从互联网访问。为了让任何东西都能够(并知道去哪里)开始连接到您的本地设备,它需要一条从 Internet 到您的本地设备的开放路径。
10.0.203.167
在你的情况下,虽然你给了它一条从路由器到服务器的路径(通过在路由器的虚拟服务器中设置它)192.168.0.182
,但仍然没有任何方法可以从你的公共 IP(这是像myip.com 给你,唯一可以在互联网上访问的 IP)到10.0.203.167
.如果 TP-Link 路由器连接到您有权登录的另一台路由器(或调制解调器路由器组合),您可以检查该路由器是否显示公共 IP 地址作为其 WAN 地址,如果是的话您可以在那个设备上进行端口转发(或其他一些设置,如桥接模式或 DMZ。)服务器(有关更多详细信息/想法,请参阅此答案https://superuser.com/a/1258102/368970)