有条件的DNS转发与Linux上的命名

我有一个Centos 5.2服务器,它运行DNSparsing命名 – 它不包含任何自己的信息,只是转发所有的请求。 从named.conf:

options { [...] forwarders { 1.1.1.1; 1.1.1.2; }; }; 

named.conf中的所有其他行都保留为默认值。

我想改变configuration,所以在newdomain.com下的任何请求都被传递到22.22.22.22,而任何其他地址的请求转到1.1.1.1或1.1.1.2

我怎样才能configuration这台服务器上的DNS来做到这一点?

嘿嘿,我在做了一些打磨之前,先回答了以前的回答。

所以,如果你编辑你的named.conf并添加如下内容:

 zone "newdomain.com" { type forward; forward only; forwarders { 22.22.22.22; }; }; 

现在您将无法轻松进行反向查找,您将不得不修改以下区域语句以使域名的IP地址(最初是192.168.80.0/24的反向)有意义。

 zone "80.168.192.in-addr.arpa" { type forward; forward only; forwarders { 22.22.22.22; }; }; 

进行更改后,您应该

  1. 检查你是否没有assemblyconfiguration文件: named-checkconf

  2. 告诉绑定重新加载其configuration: rndc reload (很喜欢/etc/init.d/bind reload

请记住,这将返回域的非授权答案。 解决这个问题的方法(如果远程DNS有问题,则提供更好的本地caching)将成为该区域的奴隶。


编辑添加forward only; 声明。 这将导致查询在尝试在转发器中指定的服务器之后失败,而不是失败,然后尝试标准查找。 也可以编辑修改/etc/init.d/bind重新加载到rndc reloadrndc reloadbuild议的意见。

如果您正尝试优化,并且22.22.22.22是该区域的身份validation,则还可以使用存根区域:

 zone "newdomain.com" { type stub; masters { 22.22.22.22 }; }; 

这和转发有些不同。 它将向服务器22.22.22.22查询NSlogging,并始终将其保存在caching中。 这将会做几乎相同的事情,但是如果另一个NS主机​​(也就是33.33.33.33)也被列出,你的服务器将会了解它并且使用它。

我相信这里的存根区域比条件转发更好。

你能作为newdomain.com的奴隶吗? 即做一个完整的转移?