![vCloud edge 网关 DNAT 不会转发来自内部网络的请求](https://linux22.com/image/701074/vCloud%20edge%20%E7%BD%91%E5%85%B3%20DNAT%20%E4%B8%8D%E4%BC%9A%E8%BD%AC%E5%8F%91%E6%9D%A5%E8%87%AA%E5%86%85%E9%83%A8%E7%BD%91%E7%BB%9C%E7%9A%84%E8%AF%B7%E6%B1%82.png)
考虑以下配置:
------------------------------- [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 规则(本地和外部)。