为专用网络创建新 TLD

为专用网络创建新 TLD

我想foo.为我的专用网络设置一个新的 TLD ( ),以便我可以托管一些可从网络内部访问的子域。为此,我为foo..为此,我创建了一个foo-zonedb.rr包含以下记录的区域文件:

$ORIGIN foo.
$TTL  100
@       IN  SOA ns1.tld.foo. hostmaster.tld.foo (
                2012030701
                900
                300
                300
                600
        )
@    300 IN NS ns1.tld.foo.
@    300 IN  A 172.16.143.197
ns1.tld.foo.    300 IN A 172.16.143.197

我还添加了以下条目/etc/named.conf

zone "foo." {
             type master;
             file "foo-zonedb.rr";
             notify explicit;
    };

现在假设网络上的每台计算机都用作172.16.1.1其 DNS 服务器。我应该进行什么配置172.16.1.1才能将foo.域的 DNS 请求重定向到根 DNS 服务器?

答案1

type master;做你想做的事。如果172.16.1.1是权威服务器,则请求不会发送到根服务器。不存在的条目将导致 NXDOMAIN 状态。

如果你想停下来全部如果查询转发到根服务器,那么您应该关闭递归。看:http://www.zytrax.com/books/dns/ch6/#authoritative

答案2

您可以将客户端配置为使用 172.16.100.1 作为其主 DNS 服务器。

使用绑定到 DNS 服务器 172.16.100.1 上的 172.16.1.1 中的转发选项。

options {
         [Your other options here]
         forwarders {172.16.1.1;};
}

将返回第一个权威响应(获胜)。所以你的客户会抬头看

某事.foo

您的 DNS 服务器将提供权威响应(有效记录或 NXDOMAIN)。如果您的客户端搜索 www.google.com - 您的 DNS 服务器无法提供响应,因此会将请求转发到 172.16.1.1。

我对内部网络上的所有内容都使用自定义 TLD。通过上述配置,它可以正常工作,并且仍然允许通过转发选项进行公共 DNS 解析。

相关内容