考虑以下配置:
------------------------------- [Remote Client on internet]
|
|
(public IP)
192.171.140.2
|
Edge Gateway
|
192.168.1.1
|
|
-----------------------
| |
192.168.1.2 192.168.1.3
[Local client] [Server]
- example.com 指向 192.171.140.2,这是边缘网关的公共 IP
- 服务器在端口 8080 上托管一个 Web 服务器
- 远程客户端想要使用以下方式访问服务器http://example.com
- 本地客户端想要使用以下方式访问服务器http://example.com
我创建了必要的 DNAT 规则,该规则可以转发请求192.171.140.2:80->192.168.1.3:8080
,工作正常,外部客户端可以访问服务器。但是,Local client
不能。似乎edge gateway
丢弃了来自Local client
和发往的数据包server
。Local client
和都Server
可以访问互联网,并且它们都可以 ping example.com
(192.171.140.2)。所有防火墙都已禁用。
问题:为什么Local client
无法Server
使用访问http://example.com
?
答案1
我认为您必须配置“NAT Hairpinning”。基本上,您需要在连接到边缘的两个网络上创建 DNAT/SNAT 规则(本地和外部)。