我有一个域example.com
和子域a.example.com
,并且b.example.com
在一个生产服务器上。
我还有一个开发服务器dev.example.com
,带有子域名a.dev.example.com
和b.dev.example.com
。
这两个服务器都运行自己的 DNS。
有没有办法设置 DNS,以便所有dev.example.com
*.dev.example.com 条目都位于dev.example.com
DNS 上并进行配置?
基本上,我希望所有子域名查询都转到我的开发服务器。这样我就不必登录单独的服务器来管理我的开发机的 DNS。
答案1
另一个答案做出了这样的假设:
您想要解析 *.dev.example.com ---> *.example.com
但您的问题似乎不是这样的。在我看来,您想将 dev.example.com 域的控制权委托给您自己的机器。如果是这样,那么委托就很容易了:
- 无论你的 example.com 的名称服务器是什么,你都要添加一条 NS 记录,表明你的开发机器是 dev.example.com 的名称服务器
- 您还需要添加一条粘合记录,即提供您开发机器的 IP 的 A 记录。
就您而言,如果这是 Bind,那么您会在 example.com 的名称服务器上看到类似这样的内容:
$ORIGIN dev.example.com.
@ IN NS dev.example.com.
dev IN A 1.2.3.4
然后在您的开发机器上,您将设置 Bind 以对 dev.example.com 具有权威性(这部分您需要自己完成,但它很简单。)
答案2
是的,没问题,这是DNS的基本功能之一。
在 example.com 的 DNS 服务器上,您定义 dev.example.com 的 IP,并且 dev.example.com 的 NS 是 dev.example.com,并且在 dev.example.com 上您定义 dev.example.com 的所有子名称。
答案3
如果我正确理解了你的用例,你可能会幸运地使用 PowerDNS 及其递归功能设置本地 DNShttps://www.powerdns.com/recursor.html
然后,您可以使用前向区域将分辨率委托给各个区域,请参阅(不太好的)文档:https://doc.powerdns.com/md/recursor/settings/#forward-zones
我听说过 UnboundDNS 的好评https://unbound.net/它也应该能够为这种情况提供解决方案。