我配置了一个 DNS 服务器,当我使用 dig 工具查询它时,它返回的是 SOA 记录而不是 A 记录。有人能告诉我这是什么原因吗?
root@pradeep-laptop:~# dig prashanth.foo
; <<>> DiG 9.8.1-P1 <<>> prashanth.foo
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 16583
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;prashanth.foo. IN A
;; AUTHORITY SECTION:
. 86389 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2012072401 1800 900 604800 890
;; Query time: 2 msec
;; SERVER: 172.16.140.34#53(172.16.140.34)
;; WHEN: Wed Jul 25 14:25:05 2012
;; MSG SIZE rcvd: 106
区域文件如下:
$TTL 300
@ IN SOA ns.prashanth.foo. root.prashanth.foo. (
2 ; Serial
300 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
prashanth.foo. IN NS ns.prashanth.foo.
prashanth.foo. IN A 172.16.150.196
ns IN A 172.16.150.196
prashanth.foo. IN MX 10 mail.prashanth.foo.
mail IN A 172.16.150.196
答案1
看看当你明确指定类型时会得到什么:
dig -t a prashanth.foo
或者
dig -t any prashanth.foo
如果您仍然没有看到,请更新序列号并重新加载区域。
答案2
您是否重新加载了区域文件?
使用 BIND:
sudo rndc reload
答案3
这是确切的区域文件吗?如果是,请不要在记录开头使用空格。
重新加载命名并重试。
例如,不要使用:
.. rashanth.foo. IN NS ns.prashanth.foo.
使用:
prashanth.foo. IN NS ns.prashanth.foo.