![公共 DNS 中的(VPN 的)私有网络 IP](https://linux22.com/image/640438/%E5%85%AC%E5%85%B1%20DNS%20%E4%B8%AD%E7%9A%84%EF%BC%88VPN%20%E7%9A%84%EF%BC%89%E7%A7%81%E6%9C%89%E7%BD%91%E7%BB%9C%20IP.png)
我有一个公共 DNS 服务器负责我的域名 local.example.com。有些 ISP 始终提供私有 IP,有些则根本不提供,但大多数 ISP 会在 5 到 10 次尝试后对 DNS 请求返回正确的 IP。其余时间它们会发送 NXDOMAIN 错误。这是为什么?为什么这不是确定性的?当我直接询问我们的公共 DNS 服务器时,我总是得到正确的答案。
我有以下设置:
- VPN 内的私有网络 192.168.252.0/24(OpenVPN)
- 一个可通过互联网访问的服务器,server.example.com
- 该服务器为本地域(VPN)local.example.com 提供 DNS 解析,例如,该服务器的 VPN IP 是 server.local.example.com
- 没有局域网。所有基础设施都位于互联网上的虚拟服务器上。基本上,VPN 可以看作是局域网。
- 我们已将 server.example.com 设置为域 local.example.com 的公共 DNS 服务器(在我们的域注册商处)
我已请求更好的解决方案,但没有令人满意的其他选择。这种设置的主要原因是浏览速度,因为现在平均一个页面至少有 10 个 DNS 请求,而我们的虚拟服务器的响应速度与 ISP 或谷歌的 DNS 服务器的响应时间无法相比。但也有其他原因。当我拜访客户时,我需要访问他的服务和我的服务,而本地 DNS 服务器(VPN 内部)无法做到这一点。
曾经有关于在公共 DNS 服务器中使用私有 IP 的问题,但这不应该是这里的主题。互联网上唯一的官方来源是 2004 年的 [IETF 草案]。他们建议不要在公共 DNS 中使用私有地址,但我看不到更好的解决方案。也许答案在于 IPv6(但目前还不能保证客户有一个有效的 IPv6 设置)。
编辑1:修正拼写错误