我们曾经通过以下方式获取当前的 DNS 设置:
cat /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)
但是 Ubuntu 12.04 已经改为使用 resolvconf 框架。上面的共同点只会给我这个:
# 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
Run Code Online (Sandbox Code Playgroud)
这不是我机器的当前 DNS 设置。
那么,有没有我可以参考的文件或命令?
(对 12.04 类似问题的跟进。)
在 Ubuntu 12.04 之前,您可能会在/etc/resolv.conf. 在 Ubuntu 12.04 中,NetworkManager 不再处理该文件。您必须直接咨询命令行工具nm-tool。
有趣的是,nm-tool在 14.04 及更高版本中不再默认安装。尽管您仍然apt-get install可以通过 安装,但您不能假设所有 Ubuntu 都是开箱即用的。
所以问题仍然存在。在默认安装情况下,您如何知道您通过命令行使用的 DNS?