问题描述
我知道这看起来像所有其他“可以通过IP ping而不是dns”的问题,但那些根本没有真正帮助我。
此外,在所有计算机中拥有主机文件是不可行的,因为此服务器最终将处理连接到它的许多计算机。
我有一个ldap + dns服务器集,我希望我的网络上的计算机在ldap服务器上进行身份验证。
它的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-record,它不保证该记录后面的设备实际上具有该IP。
-
即使设备具有正确的IP(例如:设备的固定IP与DNS提供的IP匹配) – 也不能保证设备配置为响应ping。这是一个令人沮丧的共同点。 (我在谈论你,Windows防火墙)
-
当您跨越子网时,路由器/网关/防火墙也可能限制ICMP流量(这就是ping的流量)。
因此,您始终需要检查从发件人到收件人的完整服务链,反之亦然。在第三种情况下,可能存在如下设置:a)默认网关或b)(默认)路由。所以将它们添加到您的清单中。
很抱歉挖掘这个旧的,但从标题给出它似乎有点信息,有人可以从中获利。
格尔茨。