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

xcitsw88  于 2023-04-20  发布在  Linux
关注(0)|答案(4)|浏览(372)

我得到一个错误,我不能看到发生了什么,请看看你是否能抓住什么是错的。
每当我使用“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

也许这是一个愚蠢的事情,但我不能得到它。你看到有什么问题吗?
谢谢!

jhdbpxl9

jhdbpxl91#

检查语法,需要在/etc/resolv.conf中每行定义一个名称服务器

search dsitelecom.com
nameserver 8.8.8.8 
nameserver 8.8.4.4
w41d8nur

w41d8nur2#

当错误地将 *nix EOL(“\n”)替换为windows EOL(“\r\n”)时,我看到了同样的错误。解决方案:dos2unix filename

pkwftd7m

pkwftd7m3#

我有类似的问题,但这样做,并得到了工作:

# 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是因为你得到了original的副本。然后当你打印出来的时候,你不必记住resolv.conf里面的所有内容。当你用echos创建文件的时候,你可以确保没有多余的字符会带来麻烦。所以把所有的nameserver行都echo到那里。

wyyhbhjk

wyyhbhjk4#

我在WSL2中遇到了这个问题,但我的resolv.conf格式绝对是正确的。我甚至用十六进制转储来验证行尾是正确的。按照下面的方法修复了它:
1.使用ipconfig.exe查找Windows PowerShell的名称服务器
1.使用sudo nano /etc/wsl.conf添加:

[network]                                                                        
generateResolvConf = false

1.使用wsl --shutdown重新启动wsl(Windows powershell)
1.打开WSL并备份/etc/resolv.conf。然后通过rm -f /etc/resolv.conf删除它
1.使用以下命令添加新文件sudo nano /etc/resolv.conf

nameserver X.X.X.X

1.使用wsl --shutdown重新启动wsl(Windows powershell)
1.打开WSL并使用wget google.com删除并测试一些您的公司域。
改编自https://github.com/microsoft/WSL/issues/1350#issuecomment-1187571290

相关问题