dig:解析 /etc/resolv.conf 失败

dig:解析 /etc/resolv.conf 失败

我尝试使用 dig,但标题中出现错误。

我的/etc/resolv.conf是这个

nameserver 67.207.67.2
nameserver 67.207.67.3

nameserver ns1.name.com
nameserver ns2.name.com
nameserver ns3.name.com
nameserver ns4.name.com

前两个是默认的数字海洋 DNS,另一个是我的域名注册商的。

所以我尝试添加两个cloudflare dns,文件是这样的:

nameserver 1.1.1.1
nameserver 1.0.0.1

nameserver 67.207.67.2
nameserver 67.207.67.3

nameserver ns1.name.com
nameserver ns2.name.com
nameserver ns3.name.com
nameserver ns4.name.com

我这样做之后,挖掘仍然不起作用。

但如果我评论 *name.com 域名服务器,则 d​​ig 有效:

nameserver 1.1.1.1
nameserver 1.0.0.1

nameserver 67.207.67.2
nameserver 67.207.67.3

#nameserver ns1.name.com
#nameserver ns2.name.com
#nameserver ns3.name.com
#nameserver ns4.name.com

事实是,如果我评论这些 *name.com 域名服务器,我的网站会在几分钟后关闭。

那么我怎样才能离开这些 *name.com 域名服务器并能够使用 dig 和 nslookup 之类的东西呢?

答案1

首先,仅(数字)IP地址es 应该跟随nameserver。您不能使用ns1.name.com等。您犯了一个基本错误,即/etc/resolv.conf使用 来配置错误nameserverver ns1.name.com。您已经通过注释掉它们来解决这个问题。

其次,每个/etc/resolv.conf.因此,您添加的任何第四个名称服务器都将被忽略。所以在你的/etc/resolv.conf,nameserver 67.207.67.3中将被忽略。

引用手册页(resolv.conf(5)):

nameserver   Name server IP address

    解析器应查询的名称服务器的 Internet 地址,可以是 IPv4 地址(点表示法),也可以是按照 RFC 2373 的冒号(可能是点)表示法的 IPv6 地址。MAXNS(目前有 3 个,请参阅<resolv.h>)可以列出名称服务器,每个关键字一个。如果有多个服务器,解析器库将按列出的顺序查询它们。如果不 nameserver条目存在,默认是使用本地计算机上的名称服务器。 (使用的算法是尝试一个名称服务器,如果查询超时,则尝试下一个,直到用完名称服务器,然后重复尝试所有名称服务器,直到达到最大重试次数。)

答案2

好吧,我的问题是/etc/resolv.conf其中有一个错误:

nameserver 8.8.8.8
nameserver 8.8.4.4nameserver 127.0.0.53

所以我不得不把它改成这样:

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 127.0.0.53

尝试检查文件的内容resolv.conf(顺便说一句,您需要使用它sudo来编辑该文件)祝你好运:)

相关内容