我无法在家中访问自己的静态 IP 地址。但我可以在家外访问它

我无法在家中访问自己的静态 IP 地址。但我可以在家外访问它

我为家里运行的服务器购买了静态 IP。我可以在外面访问它,但连接到家庭网络时,我无法使用静态 IP 地址访问我的服务器。

它只使用本地IP,无法直接通过域名访问。

我在 Windows 10 上的 Workstation Pro 中的 Debian 11 上使用 TP-Link Archer VR1200 AC 1200 路由器。

这可能是什么原因呢?

答案1

这很常见,这意味着你的路由器没有发夹形SNAT,通常需要在路由器上进行特定配置,具体取决于您拥有的路由器平台。一些路由器平台不支持发夹(我认为我自己的 D-Link 不久前需要固件升级)。

  • “正确”的解决方案(正如@RonMaupin 正确指出的那样)是让网络拥有自己的 DNS 解析器,以便将来自内联网的域名解析为其真实的内联网地址;此设置通常在 SOHO/Home 设置中不可用,并且会被卸载到调制解调器路由器,在那里它不进行 DNS 解析,而是在对数据包进行 de/NAT 后将其路由回去。
  • 一个有点笨拙的“解决方法”是修改静态 DNS 解析器 [/etc/hosts%WinDir%\SYSTEM32\drivers\etc\hosts],并将外部解析的域名 [ www.yoursite.com] 映射到内部的IP 地址[例如192.168.2.253];然后您应该能够使用访问该网站www.yoursite.com,并且如果该网站运行基于名称的虚拟主机,它将正常工作,并且您将能够使用无法与数字 IP 地址一起使用的各种开发人员工具。
  • 一些固件 [OpenWRT 等] 也有进行 DNS 缓存的选项内部解析[覆盖]一些主机,通常通过将一些广告网站映射到来剪切它们127.0.0.1,但如果使用,它可以使用内部 IP 地址覆盖该域名。

除非您设置了内部 DNS,否则您所能合理期望的最好结果是自行重新配置路由器,或者与 ISP 联系并让他们正确设置发夹弯路由。

相关内容