我正在尝试使用 BIND9 在 Amazon Linux 上设置 DNS 服务器。它必须充当许多域的主名称服务器。
我已使用 NamedManager(创建绑定配置文件的 Web 界面)导入了所有 DNS 区域文件。
我的/etc/named.conf如下:
options {
listen-on port 53 { any; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
allow-recursion { 127.0.0.1; };
};
include "/etc/named.namedmanager.conf";
zone "." IN {
type hint;
file "named.ca";
};
我的/etc/named.namedmanager.conf(自动生成的文件)如下:
zone "mydomain.com.dns" IN {
type master;
file "mydomain.com.dns.zone";
allow-update { none; };
};
zone "myotherdomain.com.dns" IN {
type master;
file "myotherdomain.com.dns.zone";
allow-update { none; };
};
// ... more zones
我的/var/named/mydomain.com.zone
$ORIGIN mydomain.com.
$TTL 120
@ IN SOA ns.THISNAMESERVER.com. [email protected]. (
2013111005 ; serial
21600 ; refresh
3600 ; retry
604800 ; expiry
120 ; minimum ttl
)
; Nameservers
mydomain.com. 86400 IN NS ns.THISNAMESERVER.com.
但是,当我尝试从家里使用此 DNS 服务器解析 mydomain.com 时,我得到以下信息:
[me@myhomepc ~]$ host mydomain.com. ns.MYNAMESERVER.com
Using domain server:
Name: ns.MYNAMESERVER.com
Address: <my-nameserver-ip>#53
Aliases:
Host mydomain.com not found: 5(REFUSED)
我尝试禁用 127.0.0.1 的递归(递归否;在选项{}中),因为我需要成为我的名称服务器才能提供结果。在这种情况下,我不会被拒绝,但我不会得到任何答复!
答案1
您正在查找的名称不属于您拥有的任何区域。
您已配置的区域已命名,mydomain.com.dns
但您正在尝试查找该名称mydomain.com
。
除此之外,mydomain.com.dns
区域内似乎存在区域外数据,但我只能假设这里的问题实际上是区域名称。
对于任何其他错误,您可能需要查看日志和/或named-checkconf -zj
输出。
答案2
配置文件看起来不错,除了在文件中/var/named/mydomain.com.zone
您需要放置一个一个记录对于 mydomain.com,类似这样:
添加这一行/var/named/mydomain.com.zone
:
mydomain.com. IN A x.y.z.t
并且不要忘记更新文件开头的序列号,然后重新启动或重新加载指定服务。