Debian 解析器添加了域名,但我并不想这样做

Debian 解析器添加了域名,但我并不想这样做

我遇到了以下问题:
如果我 ping 一个不存在的域名,我会收到来自 IP 地址的回复
# ping nosuchdomain.common PING nosuchdomain.common.myrealdomain.com (192.168.1.1) 56(84) bytes of data. 64 bytes from myrealdomain.com (192.168.1.1): icmp_req=1 ttl=59 time=0.184 ms

无论如何,我希望发生的是让解析器像这样工作
#ping nosuchdomain.common ping: unknown host nosuchdomain.common

我的 /etc/resolv.conf 现在看起来像这样:
# nameserver config nameserver 8.8.8.8

知道我应该去哪里让解析器返回“未知主机”吗?

答案1

通常,您应该以点结尾域名,如果不这样做,您的解析器将尝试从您的网络配置中附加搜索域(例如来自 DHCP)

你的例子nosuchdomain.common应该写成nosuchdomain.common.

要找出设置搜索域的原因,您可以使用静态 IP 并设置不同的 DNS 服务器,这样您就不应该获得搜索域。您应该检查 /etc/network/interfaces 配置中的搜索域参数:

#/etc/network/interfaces 
# The primary network interface
auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8
    dns-search myrealdomain.com

答案2

感谢大家的建议,我无意中找到了解决问题的方法,那就是在 /etc/resolv.conf 中明确添加此行。
search .com
一旦我这样做,它就开始按预期工作。
我猜解析器有一个默认的search域,它是定义的域,/etc/hostname它会将无法直接解析的任何域添加到该域中。
而且由于我为这个域配置了通配符,这解释了为什么虚构的域被解析到某个 IP。

相关内容