我拥有一个域名。我将其命名为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
这样做没有问题 - 事实上,一家主要的消费路由器制造商曾经提供一个有指向的域名A
(192.168.0.1
虽然我再也找不到任何关于这方面的文档)。
但是,如果你只需要在本地网络上使用此 DNS 记录,则应运行本地 DNSmasq 或 TinyDNS由上面的@EEAA 建议。
如果你使用流浪汉(或类似)用于开发的虚拟机。例如,如果我有一个用于开发的 Vagrant VM,其example.com
IP 地址192.168.53.123
是只能在托管 VM 的机器上访问的私有地址,那么我将创建一个指向的A
记录,以便其他开发人员可以使用它,而无需在本地添加自己的 DNS 记录。vm.example.com
192.168.53.123
答案3
绝对有效。有一种方法可以将 ISC 的 BIND 中同一区域的不同版本呈现给不同的请求者(称为“查看”),因此您可以在需要时将此信息限制为仅 LAN。但我怀疑您不会这么做。
答案4
非常好,例如,您可以拥有一个带有两个接口的服务器,并在内部将名称解析为本地地址,并为具有公共地址的网络解析名称,就像在绑定中的视图中已经提到的那样。
对于一台机器来说,可能只需在 /etc/hosts 中添加一个条目就更容易了:
192.168.2.13 development.example.com
如果您想使用绑定并将此条目公开给外部世界,这可能没关系,因为您对域 example.com 没有权限,而且没有人会询问您。
但是如果你考虑从你的域名获得一个真实的名字,那么最好有一个外部地址,至少指向你的一个服务器,它会回答一个错误消息,而不是让人们永远等待,直到他们意识到他们不在内部网络中。(忘记启动tunnelblick / openvpn,或任何原因)
- 刚刚读了您关于 Windows 8 的评论,也应该有一个 hosts 文件。