名称服务器破坏 .local 域的 avahi 多播名称解析

名称服务器破坏 .local 域的 avahi 多播名称解析

尝试 ping 本地网络上的一台机器后,我注意到我试图访问地址 66.152.109.24。这是一个外部公共地址。解析应该通过 avahi mDNS 进行。我运行 dig 来查看名称解析的工作原理,我的 quest/centurylink 名称服务器正在重新调整我的 .local 域查询的结果!我尝试了一个随机名称并得到了相同的 IP 地址结果。

 $ dig jakdafj.local

 ; <<>> DiG 9.8.1-P1-RedHat-9.8.1-3.P1.fc15 <<>> jakdafj.local
 ;; global options: +cmd
 ;; Got answer:
 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58410
 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

 ;; QUESTION SECTION:
 ;jakdafj.local.            IN  A

 ;; ANSWER SECTION:
 jakdafj.local.     10  IN  A   66.152.109.24
 jakdafj.local.     10  IN  A   204.232.231.46

 ;; Query time: 104 msec
 ;; SERVER: 205.171.3.25#53(205.171.3.25)
 ;; WHEN: Sat Mar 24 20:40:17 2012
 ;; MSG SIZE  rcvd: 63

是我遗漏了什么还是我的 DNS 名称服务器 205.171.3.25 已损坏?

答案1

(为了清楚起见,我在本文中提到基于服务器的单播 DNS 时使用了“uDNS”。)

有三个问题值得注意:

  1. dig是一个 DNS 诊断程序。它使用 uDNS,并且只使用 uDNS,完全忽略 中配置的名称解析设置nsswitch.conf,因此在调试 Avahi mDNS 时,它不适合使用。

    getent ahosts而是使用getaddrinfo()与正常程序相同的例程。

  2. 如果在尝试解析现存的mDNS 名称,这可能意味着您的nsswitch.conf配置不正确(尽管在 Fedora 上这种情况很少见)。您应该至少拥有 mDNS 之一mdnsmdns_minimal- dns在“hosts”行中;例如:

    hosts: files mdns_minimal [NOTFOUND=return] dns mdns myhostname
    
  3. 您使用的 uDNS 服务器205.171.3.25(又名resolver.qwest.net)执行“全部捕获”重定向。换句话说,如果您尝试查找不存在的名称,您将收到 Qwest 充满广告的“网站建议”页面的地址,而不是 NXDOMAIN。(您可以在浏览器中打开任何返回的 IP 地址来查看此信息。)

    Qwest 采用这种可疑的做法,声称“改善客户体验”,你可以选择退出(或者切换到其他 DNS 服务器,例如 Google Public DNS。)

相关内容