如何使用绑定设置dev站点的本地DNS?

我会很快就开始这个,这是类似于许多其他问题,但我有一个非常具体的问题,如何configurationbind9似乎并没有被覆盖其他地方。

这是我的情况:

  • 我们有一堆防火墙后面的开发机器。
  • 开发机器没有外部访问。
  • 所有程序员都在一个vpn上,让他们访问开发机器。

我想有一个方法来允许多个“dev”DNSlogging,而不会混淆我们的公共DNSlogging。

一般来说,这是我的计划:

  • 在开发networking上运行一个DNS服务器
  • 所有程序员都有一对在本地networkingconfiguration中定义的DNS服务器

所以它会这样工作; 我有一堆dev dev条目,例如。

* .dev.mysite1.com – > vpn ip * .dev.mysite2.com – > vpn ip

但是,由于客户端机器有两个定义的DNS条目,他们会链接请求和请求www.mysite1.com等将parsing到正常(公共)DNS服务器。

所以,问题是:

你如何设置绑定,以便它将parsing一个子域名(例如dev.mysite.com),但不会解决任何其他子域名(如www.mysite.com)?

这可能是微不足道的,但安装绑定和创build区域文件后,事情似乎没有工作?

我的named.conf.local文件/特定区域文件应该如何parsing特定的子域,但不是整个域?

编辑:是的,我看到在内部networking重写BIND的一些DNS条目 ,但我有点希望有一种方法可以很容易地使用绑定…

严格地说,不是你的问题的答案(configuration绑定),但也许还是解决你的问题。

我不知道你在讨论多less程序员和开发机器,但是把所有的开发机器都包含在程序员客户端的相应的主机文件中是非常可行的。

你需要委托开发,并使nameservers权威。

在site1.com上:

dev.site1.com. NS ns1.dev.site1.com. dev.site1.com. NS ns2.dev.site1.com. ns1.dev.site1.com. A 10.0.0.1 ns2.dev.site1.com. A 10.0.0.2 

在ns1 / ns2.dev.site1.com上:

 @ SOA ns1.dev.site1.com. hostmaster.site1.com ( 2011050802 3H 1H 1W 10M ) dev.site1.com. NS ns1.dev.site1.com. dev.site1.com. NS ns2.dev.site1.com. ns1.dev.site1.com. A 10.0.0.1 ns2.dev.site1.com. A 10.0.0.2 

在客户端上使用两个DNS条目将不起作用。 如果他们查询第一台服务器,并返回它找不到条目,​​他们将不会尝试第二台服务器,而是失败。

通常的解决方法是当用户连接到VPN时,通过DHCP为内部服务器推出DNS条目。 此服务器必须configuration为对dev.mysite1.com和/或dev.mysite2.com具有权威性,并且可以recursion或redirect到您的主DNS服务器以进行其他任何查询。