当前位置: 首页>>技术问答>>正文


nslookup找到ip,但是ping不行

, , , ,

问题描述

我知道这看起来像所有其他“可以通过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或其他东西。

次佳解决思路

只是为了完成事情:

  1. nslookup只是向给定的DNS服务器询问分配的A-record,它不保证该记录后面的设备实际上具有该IP。

  2. 即使设备具有正确的IP(例如:设备的固定IP与DNS提供的IP匹配) – 也不能保证设备配置为响应ping。这是一个令人沮丧的共同点。 (我在谈论你,Windows防火墙)

  3. 当您跨越子网时,路由器/网关/防火墙也可能限制ICMP流量(这就是ping的流量)。

因此,您始终需要检查从发件人到收件人的完整服务链,反之亦然。在第三种情况下,可能存在如下设置:a)默认网关或b)(默认)路由。所以将它们添加到您的清单中。

很抱歉挖掘这个旧的,但从标题给出它似乎有点信息,有人可以从中获利。

格尔茨。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1860.html,未经允许,请勿转载。