我试图通过其公共IP地址访问我的局域网上的服务器。 外部客户端可以正常连接,但是我无法从局域网内部进行连接。 在我的网关的NAT设置(它将子网地址转换为公共接口IP,但在其他方面是相同的)有一个单独的规则,但它似乎没有正常工作。
我如何正确设置通过公共IP地址访问本地资源?
最常见的问题是您的网关将数据包的目标地址重写到内部服务器,而不是源。 因此,当内部服务器响应时,它看到数据包来自本地networking上的某些东西,直接发回数据包 – 而客户端无法从服务器上知道这是由于数据包仍然有内部的,而不是公共的,地址就可以了。
标准的修补程序是强制stream量通过您的网关回来。 一种方法是将公网地址redirect到的服务器放在“DMZ”中,这样客户端和服务器之间的stream量必须通过路由器。
另一种方法是将NAT应用到与外部IP的内部连接的源地址,以使它们看起来像来自网关。 内部服务器将响应网关,这将撤消两个 NAT更改,并将数据包发送回内部客户端。
我知道这不是你在问什么,但我已经设置我的内部networking的方式是通过拆分DNS:当查找home.domain.tld,mail.domain.tld等networking内的机器内部地址。 不要担心地址转换(当然,除非客户端和服务器之间还有别的东西),没有任何客户端关心它不是与公共的可路由地址对话,服务器端将只关心你是否有特别的东西绑定到外部接口,而不是与其他NAT绑定,而与NAT不同,所有内部主机在日志文件中看起来都不一样(如果需要使用所述日志来诊断遇到的问题,这可能是一个帮助本地networking)。
这听起来像你试图使用拆分DNS(DNS转发器)。 您可能需要检查DNS转发器页面上的几个复选标记。 看到这个例子,并检查exmaple。 http://doc.pfsense.org/index.php/Why_can%27t_I_access_forwarded_ports_on_my_WAN_IP_from_my_LAN/OPTx_networks%3F
我有同样的问题,它似乎在伎俩。