在 Linux Debian 9 上,我能够解析特定的本地域,例如my.sample-domain.local
使用一些命令,如nslookup
or host
,但不能使用其他一些命令,如ping
或 Postgres 客户端psql
。
我认为像网络管理器这样的东西已经正确设置了我的 DNS 解析器(的内容/etc/resolv.conf
),所以我不确定为什么会发生这种情况?
我与使用 Windows 10 的同事核实,他们的主机文件中没有任何自定义条目,尽管在他们的情况下,Windows 版本ping
和他们的 Postgres 数据库 UI 按预期工作,将域解析为 IP 地址。
请看下面:
$ ping my.sample-domain.local
ping: my.sample-domain.local: Name or service not known
$ host my.sample-domain.local
my.sample-domain.local has address <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>
$ ping -c 5 <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>
PING <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN> (<THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>) 56(84) bytes of data.
64 bytes from <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>: icmp_seq=1 ttl=128 time=1.16 ms
64 bytes from <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>: icmp_seq=2 ttl=128 time=0.644 ms
64 bytes from <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>: icmp_seq=3 ttl=128 time=0.758 ms
64 bytes from <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>: icmp_seq=4 ttl=128 time=0.684 ms
64 bytes from <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>: icmp_seq=5 ttl=128 time=0.794 ms
--- <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN> ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4056ms
rtt min/avg/max/mdev = 0.644/0.808/1.160/0.183 ms
$ nslookup my.sample-domain.local
Server: <THE_IP_REPRESENTING_THE_NAMESERVER>
Address: <THE_IP_REPRESENTING_THE_NAMESERVER>#53
Non-authoritative answer:
Name: my.sample-domain.local
Address: <THE_IP_REPRESENTING_THE_LOCAL_DOMAIN>
$ cat /etc/resolv.conf
domain <AN_INTERNAL_DOMAIN>
search <AN_INTERNAL_DOMAIN>
nameserver <THE_IP_REPRESENTING_THE_NAMESERVER>
nameserver <ANOTHER_IP_REPRESENTING_THE_NAMESERVER>
编辑:
同时我意识到在同一个办公室局域网中有一个 Ubuntu 16 虚拟机,所以我登录它并尝试了ping
在那里工作的命令。
此外,Ubuntu VM 中没有任何特定的自定义设置/etc/hosts
(与我的 Debian 9 笔记本电脑一样,没有自定义/etc/hosts
)。
两者/etc/resolv.conf
看起来相似(一些共享域/IP,同一域的一些其他 IP)。
但是文件/etc/nsswitch.conf
是不同的,所以我认为这mdsn4_minimal
和主机解析的顺序有问题,就像mdsn4_minimal
之前一样dns
:
hosts: files mdns4_minimal [NOTFOUND=return] dns
在 Ubuntu 上:
hosts: files dns
编辑2:
Ubuntu 16 VM 和我的 Debian 9 笔记本电脑都能够使用该命令解析该.local
域。dig