指向私有 IP 地址的 DNS A 记录

指向私有 IP 地址的 DNS A 记录

我拥有一个域名。我将其命名为example.com。我想在我的私有网络上设置本地 BIND 服务器。我有一个盒子,其私有 IP 地址为 192.168.2.13

我想将这个盒子命名为development.example.com,在我的 DNS 提供商处为 example.com 添加一条指向私有 IP(192.168.2.13)的记录是否被视为正常做法A,以便 development.example.com 可以解析到我的私有网络内的机器?

答案1

在我的 DNS 提供商处为 example.com 添加指向私有 IP(192.168.2.13)的 A 记录,以便 development.example.com 可以解析到我私有网络内的机器,这被视为正常做法吗?

这肯定会工作但这不是最佳做法,因为它会为您的私人网络的一些信息泄露打开大门。

运行一个实例DNSMasq本地,您的所有 LAN 客户端都可以指向它。然后在 DNSMasq 中,您可以向您的域添加其他主机和/或主机覆盖,这些主机将优先于外部的权威 DNS 服务器。

答案2

这样做没有问题 - 事实上,一家主要的消费路由器制造商曾经提供一个有指向的域名A192.168.0.1虽然我再也找不到任何关于这方面的文档)。

但是,如果你只需要在本地网络上使用此 DNS 记录,则应运行本地 DNSmasq 或 TinyDNS由上面的@EEAA 建议

如果你使用流浪汉(或类似)用于开发的虚拟机。例如,如果我有一个用于开发的 Vagrant VM,其example.comIP 地址192.168.53.123是只能在托管 VM 的机器上访问的私有地址,那么我将创建一个指向的A记录,以便其他开发人员可以使用它,而无需在本地添加自己的 DNS 记录。vm.example.com192.168.53.123

答案3

绝对有效。有一种方法可以将 ISC 的 BIND 中同一区域的不同版本呈现给不同的请求者(称为“查看”),因此您可以在需要时将此信息限制为仅 LAN。但我怀疑您不会这么做。

答案4

非常好,例如,您可以拥有一个带有两个接口的服务器,并在内部将名称解析为本地地址,并为具有公共地址的网络解析名称,就像在绑定中的视图中已经提到的那样。

对于一台机器来说,可能只需在 /etc/hosts 中添加一个条目就更容易了:

192.168.2.13 development.example.com

如果您想使用绑定并将此条目公开给外部世界,这可能没关系,因为您对域 example.com 没有权限,而且没有人会询问您。

但是如果你考虑从你的域名获得一个真实的名字,那么最好有一个外部地址,至少指向你的一个服务器,它会回答一个错误消息,而不是让人们永远等待,直到他们意识到他们不在内部网络中。(忘记启动tunnelblick / openvpn,或任何原因)

  • 刚刚读了您关于 Windows 8 的评论,也应该有一个 hosts 文件。

相关内容