配置 bind9 将所有查询解析到同一 IP

配置 bind9 将所有查询解析到同一 IP

我正在尝试在 Ubuntu 13.10 上配置 DNS 服务器,以便我们本地网络内的任何 DNS 查询都可以解析为192.168.0.101

我尝试过不同的方法,也遵循过一些教程,但都没有得到任何结果。大多数情况下,我对这些新概念感到有点不知所措,因为我以前从未做过这种事情。

我已将其更改/etc/resolv.conf127.0.0.1DNS 服务器,仅用于测试,并尝试了以下查询:dig blabla.com,它给了我答案status: SERVFAIL

这是我现在的情况绑定配置 :

named.conf.options(我只是添加了recursion yes

options {
        directory "/var/cache/bind";
        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };

        recursion yes;
};

named.conf.local

zone "." {
 type master;
 file "/etc/bind/zones/root.db";
 };

/etc/bind/zones/root.db

$ORIGIN .
$TTL 1D
@    IN     SOA  @ none. ( 0 1D 1H 1W 3H );
     IN     NS   @
*    IN     A    192.168.0.101

答案1

我认为 bind 无法轻松实现这一点,理由很充分:这样做非常糟糕,您应该找到更好的方法来实现您的目标。我猜您想要一个透明代理,所以请设置一个透明代理,不要搞砸 DNS。

但如果你真的想为你的用户破坏 DNS,dnsmasq 实际上允许你这样做:dnsmasq --address=/#/1.2.3.4

答案2

我同意另一个答案的观点,即做这种事似乎是个坏主意。

不过,我认为您SERVFAIL回复的原因仅仅是因为您的区域的区域文件.(如问题中所述)无效。

我立即看到的错误是该NS记录引用了名称..没有AAAAA记录。

您的日志中将包含此错误(并且可能包含我没有立即发现的其他错误)。

除了读取日志之外,named-checkconf(验证配置)和named-checkzone(验证区域数据)也是使用 bind 时工作流程中非常有价值的工具。

我发现named-checkconf -zj它对于了解配置和区域数据特别有用。

相关内容