主机:解析/etc/resolv.conf失败

问题描述 投票:0回答:5

我收到错误,但看不到发生了什么,请看看您是否能发现问题所在。

每当我使用“host”命令时,我都会收到此错误:

xavi@cobalto:~$ host www.guparty.com
host: parse of /etc/resolv.conf failed

我认为语法是正确的:

xavi@cobalto:~$ cat /etc/resolv.conf
search dsitelecom.com
nameserver 8.8.8.8 8.8.4.4

每个人都可以读取权限:

xavi@cobalto:~$ ls -l /etc/resolv.conf
-rw-r--r-- 1 root root 49 2011-10-30 12:02 /etc/resolv.conf

这可能是一件愚蠢的事情,但我无法理解。看到这里有什么不对吗?

谢谢!

linux parsing dns host nameservers
5个回答
20
投票

检查你的语法,你需要在

/etc/resolv.conf

中每行定义一个名称服务器
search dsitelecom.com
nameserver 8.8.8.8 
nameserver 8.8.4.4

4
投票

我在错误地*nix EOLs(“ ") 被替换为 windows 的 (" ”)。解决方案:

dos2unix filename


2
投票

我有类似的问题,但这样做并开始工作:

# mv resolv.conf resolv.conf.old
# cat resolv.conf.old
search example.com
domain example.com
nameserver 11.22.33.44
nameserver 2000::1
# echo "search example.com" >>resolv.conf
# echo "domain example.com" >>resolv.conf
# echo "nameserver 11.22.33.44" >>resolv.conf
# echo "nameserver 2000::1" >>resolv.conf

地址只是示例,但结果是有效的。为什么复制resolv.conf是因为你得到了原始的副本。然后,当您打印出来时,您不必记住 resolv.conf 中的所有内容。当您使用回显创建文件时,您可以确定没有多余的字符带来麻烦。因此,将所有名称服务器行回显到那里。


0
投票

我在 WSL2 中遇到了这个问题,但我的 resolv.conf 的格式肯定是正确的。我什至对它进行了十六进制转储以验证行结尾是否正确。按照以下方法修复它:

  1. 使用 ipconfig.exe 通过 windows powershell 查找名称服务器

  2. 使用

    sudo nano /etc/wsl.conf
    添加:

[network]                                                                        
generateResolvConf = false
  1. 使用

    wsl --shutdown

    重新启动 wsl(Windows powershell)
  2. 打开 WSL 并备份

    /etc/resolv.conf
    。然后通过
    rm -f /etc/resolv.conf

    将其删除
  3. 添加新文件

    sudo nano /etc/resolv.conf

nameserver X.X.X.X
  1. 使用

    wsl --shutdown

    重新启动 wsl(Windows powershell)
  2. 打开 WSL 并使用

    wget google.com
    删除并测试一些您的公司域。

改编自https://github.com/microsoft/WSL/issues/1350#issuecomment-1187571290


0
投票

我发现了问题:

nslookup nslookup: parse of /etc/resolv.conf failed

出现这种情况,是因为该文件的权限是

-rw------- 1 root root 93 Apr 22 20:22 /etc/resolv.conf

我所要做的就是

sudo chmod 644 /etc/resolv.conf

问题就解决了

© www.soinside.com 2019 - 2024. All rights reserved.