我有一个托管在家庭服务器上的网站,可以通过我购买的域名从外部访问,并在动态 DNS 服务的帮助下映射到我的路由器的 IP。
问题是我无法使用家庭网络内的公共网址访问该网站,即我家 WiFi 上的任何设备都无法连接;请求全部超时。为了使其正常工作,我必须在每个单独的设备上添加一个主机映射到相关服务器的内部 IP。
为什么会发生这种情况?正确的解决方案是什么?
我正在使用华硕 RT-AC68R 路由器。它具有从端口 80 到相关服务器的内部 IP 的端口转发功能。
答案1
您的路由器没有正确执行 Hairpin NAT。
可能的解决方案:
- 如果可以,请通过管理用户界面将其打开。
- 确保您运行的是制造商提供的最新固件,以防他们在以后的版本中修复此问题。
- 查看你的路由器是否具有 shell 访问权限并通过 Linux 命令自行设置。
- 如果您能找到支持您的路由器的发行版,请升级到支持此功能的第三方售后固件发行版(例如 DD-WRT)。
- 升级到支持此功能的其他路由器品牌/型号。我知道 Apple 的 AirPort(包括 Time Capsule)系列一直非常支持此功能,但我不能保证其他任何路由器也能支持此功能。根据我的经验,Apple 的 2013 802.11ac 塔式型号性能出色,非常可靠。