在内部使用我家的公共 DNS 主机名和端口转发

在内部使用我家的公共 DNS 主机名和端口转发

在我的家庭网关/路由器上,我有多个服务在各种端口上运行(SSH、HTTP 上的 IP 摄像头等),这些端口通过端口转发暴露给互联网。我也在我们家庭网络上内部使用这些服务。我希望能够只设置一次这些连接,比如说,对于我们的 SSH,home.mydomain.com:9876,供内部和外部使用,并让它们都正常工作。但如果我在内部网络上,我还希望流量保持在内部,例如,我知道 home.mydomain.com 会在内部网络内正确解析,但我假设它会转到公共 DNS 服务器并进行此查找,然后连接出站,然后返回入站,以到达路由器并正确进行端口转发。

所以我相信这里实际上有两个部分在起作用,DNS 查找和端口转发。当我们在家里的私人网络上时,我如何才能将所有这些都保留在内部?

答案1

我假设它会进入公共 DNS 服务器并进行查找,然后连接出站,然后返回入站,以到达路由器并正确进行端口转发。

在这种情况下,home.mydomain.com将解析为您的外部 IP。从该 NAT 内部,外部 IP 实际上将引用路由器本身。路由器仅对来自 NAT 外部的传入连接执行地址转换/端口转发。因此,您根本不会获得连接,只会从路由器获得 RST。

所以我相信这里实际上有两个部分在起作用,DNS 查找和端口转发。当我们在家里的私人网络上时,我如何才能将所有这些都保留在内部?

其中一种方法是运行你自己的递归缓存 DNS 解析器(例如绑定) 在您的内部网络上。配置内部网络上的所有客户端(使用 DHCP 或手动)以查询您的 DNS 服务器,而不是公共外部服务器。BIND 可以配置在拆分 DNS配置(参见第 4.4 章绑臂)。在此配置中,BIND 将转发除内部域之外的所有请求(它将使用内部地址进行回答)。您域的权威 DNS 区域(托管在互联网上的某个地方)仍应指向您家的外部 IP。

当您在外部 DNS 服务器上查找时,home.mydomain.com您将收到路由器的外部 IP(它将端口转发 9876 到相应的内部机器)。然而,在您的内部网络上,您的 DNS 解析器将使用不同的 IP 地址 (192.168.0.x) 进行响应,并且连接将在内部进行。

相关内容