假设我们有:
- 192.168.0.1 路由器连接到全球 IP 1.2.3.4 的互联网
- 192.168.0.10 机器 A,在端口 80 上提供 Web 服务器
- 192.168.0.20 机器B(笔记本电脑)
路由器在 NAT 中配置为将端口 80 上的所有内容路由到 192.168.0.10。
当我在这个本地网络之外时,http : //1.2.3.4在浏览器中工作正常,它很好地重定向到机器 A,它服务于请求。
但是当我在本地网络中时(例如使用机器 B,一台笔记本电脑 WiFi 连接到路由器),在浏览器中执行http://1.2.3.4不起作用。
我希望它会像这样工作:
192.168.0.20 does a request to 1.2.3.4
the request arrives on router 192.168.0.1
router detects "1.2.3.4 is us!" so routing internally to 192.168.0.10
应用程序:我有一个域example.com
,并且 DNS A 记录设置为 1.2.3.4。
在浏览器中访问example.com
一切正常……除非我在机器 A 的本地网络中。真可惜!
经过进一步研究,我了解到此功能称为发夹或 NAT 环回,并非所有 ISP 路由器都支持它。
就我的 ISP 路由器而言,很遗憾不支持它。