即使在防火墙中打开端口,端口转发也不起作用

即使在防火墙中打开端口,端口转发也不起作用

我已经尝试了所有方法在路由器上启用端口转发。我在一所大学,大学为我的房间提供了互联网设施,我的房间有自己的路由器。我认为大学封锁了所有外部端口,但我不确定,所以我来这里了。

我已尝试过:

  • 在我的 Tenda 路由器上配置端口转发(内部和外部端口 - 7712)
  • 在防火墙中添加了一条入站规则,以允许外部端口 7712(我已验证此规则之上没有其他规则阻止我的规则)
  • 我有一个 springboot api,它在端口 7712 上公开一个 REST API
  • 我不确定我的大学家长路由器或 ISP 是否阻止了我的 7712 端口(我尽力使用唯一的端口)

观察结果:

  • 当我在大学网络上时,我可以访问 externalIp:port(甚至可以从我朋友的房间访问,他也是这所大学的学生,并使用他们提供的互联网)
  • 当我从手机互联网连接时,我无法访问 externalIp:port(基本上,当我离开大学提供的互联网时)当我尝试检查此端口是否可用时关联,我尝试过的每个端口都显示已被阻止测试我的应用程序运行的 7712 端口

我已经检查过、了解、尝试过但未能解决问题的链接:

除了这些链接之外,我还检查了互联网上的更多资源,但均未找到任何解决方案

基本上,我试图托管一项从家庭到全球的服务,就像家庭数据中心一样。我这里没有大型机器,只有我的笔记本电脑。我这样做是为了托管一个非常小的应用程序,该应用程序可能会在某些将连接到我的笔记本电脑(服务器)的用户手机(客户端)上运行。

到目前为止,我有一个从 ecplise 运行的 springboot 应用程序。一旦我在 eclipse 上启动服务器,我就会尝试从 localhost:ip 进行连接,并且它可以工作,但我希望在进行端口转发配置后可以从 externalIp:port 访问它。请指导我。

答案1

如果您大学里的朋友可以通过他的外部 IP/端口访问,那么这听起来可能是您的路由器或 Windows 防火墙软件。

但是,您首先需要确定您在大学的连接是否使用某种 NAT(运营商级或常规 NAT)。比较路由器和互联网之间的 IP 地址。查看路由器中的 WAN IP,然后访问显示互联网上显示的 IP 的网站(例如 whatismyip.com)。如果两个 IP 地址相同,则说明您没有经过 NAT。如果它们不同和/或路由器的 WAN IP 位于私有 IP 地址范围内(https://en.wikipedia.org/wiki/Private_network),那么您就处于 NAT 之后,并且能做的事情不多。

如果您有真正的外部 IP 且没有 NAT 干扰,您的连接仍有可能被大学在某些端口/服务上防火墙保护,或者只是您的路由器或 Windows 防火墙。下一步是排除路由器问题:

•如果 Tenda 路由器提供 DMZ 功能,请将您的计算机放入 Tenda 上的 DMZ 并开始测试(这通常是通过将 Tenda 分配给您设备的 IP 移到 DMZ 设置中来完成的)。DMZ 应该会绕过所有 NAT 并将您的计算机暴露给互联网。

•将您的计算机直接连接到大学网络,完全避免使用路由器。您必须确定您的 IP 地址是如何分配给路由器的(最有可能是 DHCP 分配的,但可能需要 PPPOE 身份验证)。

下一步是暂时禁用所有 Windows 防火墙软件(警告:这会将您的计算机完全暴露在互联网中),然后确保您的计算机上有端口打开/正在监听,使用类似以下工具检查它们是否打开https://www.portchecktool.com/或其他外部连接到互联网的设备。

如果您可以看到开放的端口,则可以进一步探究这是否是路由器或 Windows 防火墙设置的问题。如果端口未开放,则您可能被大学防火墙保护了。

答案2

我的 ISP 使用的是 NAT。我不得不打电话给他们,让他们手动将我从 NAT 中移除,并打开请求的端口。不过,不知道您是否可以对您的 uni 网络执行此操作。

相关内容