我在使用 resolvconf 包的 debian 11 下遇到了一个奇怪的问题。
无论我投入什么样的配置,resolvconf 服务创建的 /etc/resolv.conf 文件都有点损坏。
挖 说:
dig: parse of /etc/resolv.conf failed
如果我使用像 nano 这样的编辑器只添加一个空格或换行符,或者甚至没有像将文件从 nano 覆盖到 /etc/resolv.conf 这样的编辑器,那么 dig 会返回再次读取文件,同样适用于能够执行dns 查找否则不会。
对我来说语法没问题,实际内容是:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
nameserver 127.0.2.1
我在机器上配置了一个可以正常工作的绑定服务器,并且实际配置可以正常工作,但前提是我从 nano 读取它并将其重新保存到位。
关于文件本身,我认为可能是 resolvconf 守护进程和 nano 之间的权限差异。
这是纳米编辑之前:
lrwxrwxrwx 1 root root 29 Apr 10 19:24 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
这是在纳米编辑之后:
lrwxrwxrwx 1 root root 29 Apr 10 19:24 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
我也和第一个做了cp换了,原来的不行,新的不行。
比较的文件是相同的......
我不知道发生了什么:(
我直观地比较了这些文件,没有什么不同。然而,除了权限错误@AB 向我建议的一点之外,我还发现我的头文件中有一行而不是
\r\n
。\n
使用 nano 编辑和保存文件会自动修复换行错误,但使用该
diff
工具一切都更加清晰。不要相信视觉比较使用diff!:D