从外部 IP 地址访问家庭网络

从外部 IP 地址访问家庭网络

我正在利用 PhilipsHue API 来打开/关闭灯。但是,我只能在我家的内部网络上执行此操作,因此我希望能够从外部访问它,因此在研究了如何操作后,我尝试了以下方法。

  1. 托管此 api 的节点应用程序正在我的 Mac 上运行,localhost:80因此它几乎是我的本地内部服务器。这台 Mac 的内部 IP 为192.168.1.220
  2. 我登录了路由器设置并将端口转发6000到我的 Mac。

  1. 因此,我尝试通过<Gateway IPv4 Address>:6000它访问我的应用程序,据我所知,这是我路由器的外部 IP 地址。我原本以为它的作用类似于 nginx 代理传递,传入的请求<Gateway IPv4 Address>:6000将被路由到192.168.1.220:80(我的 mac 的内部 IP 地址),但没有成功。Postman 说“无法获得任何响应”。

答案1

出现这种情况的原因可能有很多。您的连接可能是 DHCP,并且您可能在续订租约后尝试连接。您应该联系您的 ISP,检查他们是否允许您使用静态地址,如果不允许,请购买具有 VPN 功能的调制解调器或路由器。

其次,您没有详细说明您的 Mac 上的防火墙是否已启用。如果已启用,请为您的连接设置例外。

第三,我不确定您的基础设施如何。您有调制解调器/路由器组合吗?或者您有将流量转发到调制解调器的调制解调器吗?如果您有两台设备,其中一台设备可能会阻止流量。检查调制解调器和路由器的日志,看看是否可以看到连接。

第四,即使您转发了端口 6000,您仍可能需要转发 80,因为这是您要连接的端口。端口 6000 只是您需要访问的服务器上的端口。这很可能是错误所在,但请将其放在最后,以便您可以先验证其他步骤 :D

答案2

同意@RonMaupin 。

这个配置叫做 PAT。它允许我们将外部 IP 地址的端口映射到内部 IP 地址的端口。通常,我们需要 4 个参数来配置它。

  1. 外部 IP 地址(默认情况下,它是路由器的 WAN IP 地址)
  2. 外部端口(您的情况是 6000)
  3. 内部 IP 地址(您的情况是 192.168.1.220)
  4. 内部端口(应该是 80,但您的屏幕截图中没有显示,所以我怀疑您的路由器是否支持将外部请求重定向到其他端口)

相关内容