我对 BIND 还很陌生,所以我希望有人可以帮助我理解为什么我无法解决。怎么了?
命名配置文件
options {
listen-on port 53 { localhost; 10.30.0.10; };
listen-on-v6 port 53 { ::1; };
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; };
recursion no;
version "0";
channel query.log {
file "/var/log/query.log";
severity debug 3;
print-severity yes;
print-time yes;
};
category queries { query.log; };
};
acl "Tele-Subnet" { 10.100.0.0/16; };
view "Tele" {
match-clients { "Tele-Subnet"; };
zone "example.net" IN {
type master;
file "/var/named/example.net.db";
allow-update { none; };
allow-query { any; };
notify yes;
};
};
示例.net.db
ORIGIN example.net.
$TTL 86400
example.net. IN SOA 10.30.0.10. admin.example.net. (
2012081901 ; serial number YYMMDDNN
28800 ; Refresh
7200 ; Retry
864000 ; Expire
86400 ; Min TTL
)
IN A 10.30.0.10
NS 10.30.0.10.
NS 10.30.0.10.
backup IN A 10.10.11.230 ; Engine
所以当我查询服务器时,我只能在日志中看到:
2012 年 8 月 19 日 14:45:09.566 信息:客户端 10.100.0.13#5682:查看 Telenor:查询:backup.example.net IN A + (10.30.0.10)
答案1
您的命名配置存在许多问题。我可以挑选的:
- NS 记录开头缺少“IN”关键字
- IP 地址不应以点结尾(如前所述)
- 您的域名服务器应该有一个适当的 FQDN(完全限定域名)。在您的配置中,您当前已设置
10.30.0.10
为名称服务器的域名。所以bind将转换10.30.0.10.
为10.30.0.10.example.net
.您的域名服务器的 FQDN 应该类似于ns1.example.net.
.
您可以尝试以下一些 dns 故障排除技巧(如果您还没有这样做):
run
named-checkconf
和named-checkzone
实用程序(它们应该是您安装的绑定包的一部分)。像这样运行命令:named-checkconf -jpz
named-checkzone example.net /var/named/example.net.db
运行这些命令后显示的警告/错误消息是什么?
运行 dig 命令(对于基于 debian 的操作系统,您可能需要安装 dnsutils,对于基于 redhat 的操作系统,您可能需要安装 bind-utils)。运行类似这样的命令进行测试:
dig backup.example.net @localhost
DNS 服务侦听 udp 端口 53。因此,请确保您的防火墙流量配置为允许 dns 流量。
查看以下网站以获取 dns 配置示例的精彩片段:
答案2
你漏掉了几个点,你确定这不是一个错字吗?
ORIGIN example.net.
$TTL 86400
example.net. IN SOA 10.30.0.10. admin.example.net. (
2012081901 ; serial number YYMMDDNN
28800 ; Refresh
7200 ; Retry
864000 ; Expire
86400 ; Min TTL
)
IN A 10.30.0.10.
NS 10.30.0.10.
backup IN A 10.10.11.230. ; Engine