【问题标题】:How to open a publicly accessible port?如何打开可公开访问的端口?
【发布时间】:2021-08-05 13:28:47
【问题描述】:

我在我的电脑上运行一个服务器 (Photon),它使用端口 9090。

我可以使用本地 IP 地址访问它,使用内部路由器网络的 IP 地址而不是公共 IP 地址。即使通过这个公共 IP 地址也能完美地 ping。

要公开运行服务器,我不使用路由器而是直接连接。所有可能的防火墙都被禁用,没有防病毒,入站规则中的所有端口都打开(以防万一)。但是telnet xxx.xxx.xxx.xx 9090 还是给了我Could not open connection to the host, on port 9090: Connect failed

如果我在 cmd 中输入netstat -aonb,我会看到

TCP   0.0.0.0:9090              监听

这意味着它必须在端口 9090 上监听任何 IP 地址 (0.0.0.0),据我了解

但正如在线服务所说,9090 端口仍然关闭。如果我尝试从客户端连接到服务器(因为它适用于内部网络)我得到Error: 1004 Master peer error timeout

我还能做些什么来打开这个端口并最终通过公共网络访问它?

我使用 Windows。

【问题讨论】:

标签: server port hosting firewall windows-firewall


【解决方案1】:

问题的描述似乎不一致。最有可能的是,“所有可能的防火墙都已禁用 [...并且] 入站规则中的所有端口都已打开”的说法是错误的或具有误导性的一个或两个。

如果

  • 测试客户端可以成功 ping 目标机器,并且
  • netstat 表明客户端正在侦听目标计算机上的 0.0.0.0:9090 / TCP,但是
  • 测试客户端无法连接到同一地址的9090端口,并且
  • 测试客户端可以通过之前和之后的其他地址成功连接到目标计算机上的端口 9090

那么到目前为止,最可能的情况是失败的连接尝试被防火墙阻止。即使服务器本身上根本没有运行防火墙,也可能在客户端和服务器之间的网络路径上的路由器上运行一个防火墙。请注意,路由器防火墙通常区分内部流量和外部流量,对后者应用更严格的控制。有些对两者有完全不同的规则集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多