![DNS 外部查找服务失败](https://linux22.com/image/641943/DNS%20%E5%A4%96%E9%83%A8%E6%9F%A5%E6%89%BE%E6%9C%8D%E5%8A%A1%E5%A4%B1%E8%B4%A5.png)
我向你保证,我已经四处寻找这个问题的线索!我有一个运行 CentOS 5.5 和 BIND 9.3 的 DNS 服务器。大多数外部查找工作正常,但对一个特定域的查找返回 SERVFAIL。
- dig@127.0.0.1 google.com——工作正常!
- dig@127.0.0.1 athleta.com——运行良好!
- dig@127.0.0.1 anythingelse.com——工作正常!
- dig @127.0.0.1 bistel.co.uk -- 给出 SERVFAIL 错误
我的任何 DNS 配置文件中都没有对 co.uk 的引用——在我注意到这个问题之前我从未听说过它。
如果我开始在根名称服务器上使用 dig 并“逐步向下”,那么可以说,查找在每个步骤中都运行良好。在这里,我从根名称服务器开始,它将我引导到名称服务器 g.dns.kr。:
dig @a.root-servers.net. bistel.co.kr
. . .<snip>. . .
;; AUTHORITY SECTION:
kr. 172800 IN NS g.dns.kr.
. . .<snip>. . .
;; ADDITIONAL SECTION:
g.dns.kr. 172800 IN A 202.31.190.1
. . .<snip>. . .
接下来,我将查询发送到名称服务器 g.dns.kr。它将我引导到名称服务器 bistel.co.kr:
> dig @g.dns.kr. bistel.co.kr
. . .<snip>. . .
;; AUTHORITY SECTION:
bistel.co.kr. 86400 IN NS ns.bistel.co.kr.
. . .<snip>. . .
;; ADDITIONAL SECTION:
ns.bistel.co.kr. 86400 IN A 1.227.57.68
. . .<snip>. . .
最后,我将查询发送到 ns.bistel.co.kr.,并获得了我所寻找的地址数据:
> dig @ns.bistel.co.kr. bistel.co.kr
. . .<snip>. . .
;; ANSWER SECTION:
bistel.co.kr. 600 IN A 1.227.57.69
bistel.co.kr. 600 IN A 1.227.57.68
bistel.co.kr. 600 IN A 1.227.57.74
. . .<snip>. . .
如果我搜索其他域名,正如我在介绍中提到的那样,就会成功 - 例如:
> dig @127.0.0.1 athleta.com
. . .<snip>. . .
;; ANSWER SECTION:
athleta.com. 1690 IN A 198.153.202.150
. . .<snip>. . .
但对于域名 bistel.co.kr 来说,我运气不佳:
> dig @127.0.0.1 bistel.co.kr
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5 <<>> @127.0.0.1 bistel.co.kr
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 19191
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;bistel.co.kr. IN A
;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Sep 17 20:21:52 2014
;; MSG SIZE rcvd: 30
我尝试通过以下方式启用日志记录:
logging {
channel default_file {
file "/var/log/named.log" size 10m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
category default{ default_file; };
};
然后我发出了“dig @127.0.0.1 athleta.com”(成功)和“dig @127.0.0.1 bistel.co.kr”(SERVFAIL)。/var/log/named.log 中唯一相关的条目如下。
> grep athleta /var/log/named.log
17-Sep-2014 20:26:34.812 lame-servers: info: network unreachable resolving 'athleta.com/A/IN': 2610:a1:1015::1#53
17-Sep-2014 20:26:34.826 lame-servers: info: network unreachable resolving 'athleta.com/A/IN': 2001:502:f3ff::1#53
> grep bistel /var/log/named.log
17-Sep-2014 20:26:38.693 lame-servers: info: network unreachable resolving 'bistel.co.kr/A/IN': 2001:503:ba3e::2:30#53
17-Sep-2014 20:26:38.693 lame-servers: info: network unreachable resolving 'bistel.co.kr/A/IN': 2001:500:84::b#53
17-Sep-2014 20:26:38.693 lame-servers: info: network unreachable resolving 'bistel.co.kr/A/IN': 2001:500:2::c#53
17-Sep-2014 20:26:40.769 lame-servers: info: network unreachable resolving 'bistel.co.kr/A/IN': 2001:dc5:a::1#53
我真诚地感谢您阅读我的询问,并希望您能给我提供线索!
BR,珍妮特
答案1
看起来您可能遇到了 IPv6 连接问题。其他域可能没有 IPv6 名称服务器。
您还开始谈论 bistel.co.uk,然后在示例中使用 bistel.co.kr。
顺便说一句:尝试dig +trace -t soa bistel.co.kr