为什么我的本地服务器都无法解析?

为什么我的本地服务器都无法解析?

当我尝试使用 Web 浏览器 ping 或浏览我们在本地网络上托管的某些域名时,它不起作用。然而,nslookup正确返回他们的详细信息。我需要做什么来解决这个问题?

我们本地网络上的 DNS 服务器和 DHCP 服务器在 Windows 客户端上运行良好。

$ ping ns1.domain.local
ping: unknown host ns1.domain.local
aaron@aaron-laptop:~
$ nslookup ns1.domain.local
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:    ns1.domain.local
Address: 172.16.0.254

$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
search domain.local

$ nm-tool

NetworkManager Tool

State: connected (global)

- Device: eth0  [Wired connection 1] -------------------------------------------

  IPv4 Settings:
    Address:         172.16.0.93
    Prefix:          24 (255.255.255.0)
    Gateway:         172.16.0.2

    DNS:             172.16.0.254

</pre>

**Added additional info**

As per http://askubuntu.com/a/146310/10998
> For some reason avahi-daemon interferes with name resolver
<pre>
ping ns1
PING ns1.domain.local (172.16.0.254) 56(84) bytes of data.
64 bytes from ns1.domain.local (172.16.0.254): icmp_req=1 ttl=64 time=0.381 ms

答案1

编辑 /etc/nsswitch.conf 文件

cat /etc/nsswitch.conf
...
#hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
hosts:          files mdns4_minimal dns [NOTFOUND=return] mdns4
...

那个改变帮我解决了这个问题。域名系统是 DNS 服务的一种特殊实现,其目的是比 DNS 更快。它不能正确解析名称,并且使用 [NOTFOUND=return] 选项时,标准 DNS 永远不会被使用。这对于大多数互联网来说都很好,但出于某种原因,它不适用于我们的办公室解析。

通过更改分辨率以包含 DNS,我现在可以按预期 ping 域控制器。以及我们在本地办公室域上运行的其他服务。

ping ns1.bidorbuy.local
PING ns1.domain.local (172.16.0.254) 56(84) bytes of data.
64 bytes from controler.domain.local (172.16.0.254): icmp_req=1 ttl=64 time=0.394 ms

ping office-blog.domain.local
PING officewebserver.domain.local (172.16.0.252) 56(84) bytes of data.
64 bytes from officewebserver.domain.local (172.16.0.252): icmp_req=1 ttl=64 time=0.914 ms

答案2

您可以尝试禁用 avahi-daemon。出于某种原因,avahi-daemon 会干扰名称解析器。对我来说,副作用是,如果您 p​​ing ns1,它会起作用,但如果您尝试使用 FQDN,它就不会起作用。

相关内容