![dig:解析 /etc/resolv.conf 失败](https://linux22.com/image/172272/dig%EF%BC%9A%E8%A7%A3%E6%9E%90%20%2Fetc%2Fresolv.conf%20%E5%A4%B1%E8%B4%A5.png)
我尝试使用 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 域名服务器,则 dig 有效:
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
来编辑该文件)祝你好运:)