nslookup找到ip,但是ping不行
我知道这看起来像所有其他“可以通过IP ping而不是dns”的问题,但那些根本没有真正帮助我。
此外,在所有计算机中拥有主机文件是不可行的,因为此服务器最终将处理连接到它的许多计算机。
我有一个ldap + dns服务器集,我希望我的网络上的计算机在ldap服务器上进行身份validation。
它的ldap部分正常工作,我可以使用ldap凭证ssh进入ldap服务器就好了。
问题来自客户端机器,客户端设置为使用dns服务器(在本例中为192.168.0.243),如果我进入终端并执行nslookup,它会发现ldap服务器就好了。
fernando@desktest:~$ nslookup ldap.mynet.local Server: 192.168.0.243 Address: 192.168.0.243#53 Name: ldap.mynet.local Address: 192.168.0.243
但是当我ping它时,它找不到IP地址。 它只是挂在那里看起来很漂亮直到我CTRL-C它。
当然通过ip地址ping可以正常工作。
以下是dns服务器的区域文件:
fernando@ldap:~$ cat /etc/bind/named.conf.local zone "mynet.local" { type master; file "/etc/bind/db.mynet.local"; }; zone "0.168.192.in-addr.arpa" { type master; notify no; file "/etc/bind/db.192"; }; fernando@ldap:~$ cat /etc/bind/db.mynet.local ; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ns.mynet.local. root.mynet.local. ( 7 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.mynet.local. ns IN A 192.168.0.243 server IN A 192.168.0.250 desktest IN A 192.168.0.249 remote IN A 192.168.0.248 winserver IN A 192.168.0.247 web IN A 192.168.0.246 tempfs IN A 192.168.0.245 ldap IN A 192.168.0.243 antenarfb IN A 192.168.0.253 antenapan IN A 10.82.223.7 adslgvt IN A 192.168.0.1 fernando@ldap:~$ cat /etc/bind/db.192 ; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA mynet.local. root.mynet.local. ( 6 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns. 1 IN PTR ns.mynet.local. 2 IN PTR server.mynet.local. 3 IN PTR desktest.mynet.local. 4 IN PTR remote.mynet.local. 5 IN PTR winserver.mynet.local. 6 IN PTR web.mynet.local. 7 IN PTR tempfs.mynet.local. 8 IN PTR ldap.mynet.local. 9 IN PTR antenarfb.mynet.local. 10 IN PTR antenapan.mynet.local. 11 IN PTR adslgvt.mynet.local. fernando@ldap:~$
我真的不知道该做什么,任何帮助将不胜感激。
—-编辑—-
在任何人问之前,是的,服务器正在运行:)
root@ldap:/etc/bind# rndc status version: 9.7.0-P1 CPUs found: 1 worker threads: 1 number of zones: 16 debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is OFF recursive clients: 0/0/1000 tcp clients: 0/100 server is up and running
—-结束编辑—-
我相信这是由mdns – 多播dns引起的,用于.local域的自动配置。
如果你签入/etc/nsswitch.conf
,你可能会看到:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
mdns4是做多播dns的。 尝试将其更改为:
hosts: files dns
并看看它是否有任何区别。 如果它可以工作,你可以永久删除mdns:
尝试使用apt-get remove libnss-mdns
这也将为你改变nsswitch.conf
。
或者,不要使用.local – 使用.lan或其他东西。
只是为了完成事情:
-
nslookup只是向给定的DNS服务器询问分配的A记录,但不保证该记录后面的设备实际上具有该IP。
-
即使设备具有正确的IP(例如:设备的固定IP与DNS提供的IP匹配) – 也不能保证设备配置为响应ping。 这是一个令人沮丧的共同点。 (我在谈论你,Windows防火墙)
-
当您跨越子网时,路由器/网关/防火墙也可能限制ICMP流量(这就是ping的流量)。
因此,您始终需要检查从发件人到收件人的完整服务链,反之亦然。 在第三种情况下,可能存在如下设置:a)默认网关或b)(默认)路由。 所以将它们添加到您的清单中。
很抱歉挖掘这个旧的,但从标题给出它似乎有点信息,有人可以从中获利。
格尔茨。
我看到的另一件干扰DNS的事情就是安装winbind。 它似乎在/etc/nsswitch.conf
[NOTFOUND=return]
之前输入了一个wins
条目,这会导致DNS失败,但可以通过将“ wins
”移动到“NOTFOUND”部分之后来修复,也可以在dns之后进行修复以便dns查找首先发生,请看:
http://ubuntuforums.org/showthread.php?t=1496488
(不知道为什么在默认情况下会发生这种情况;欢迎评论!)