正如标题所述,我只想使用终端更改我的 DNS。所有人都告诉我编辑 /etc/resolv.conf 文件,但我认为它是自动生成的,它会覆盖我所做的每个更改。我可以使用 GUI 来完成,但我希望更深入地了解并知道更改 DNS 时会发生什么。
我想使用 Open DNS
最后一个问题:我如何检查我的机器上使用的 DNS?现在(因为我不想毁了我的系统)我在 Lubuntu 17 上托管的 Ubuntu 17 虚拟机上“玩” 提前谢谢
答案1
名称解析
与 IP 网络相关的名称解析是将 IP 地址映射到主机名的过程,从而更容易识别网络上的资源。以下部分将解释如何使用 DNS 和静态主机名记录正确配置系统以进行名称解析。DNS 客户端配置
传统上,文件 /etc/resolv.conf 是一个静态配置文件,很少需要更改或通过 DCHP 客户端挂钩自动更改。如今,计算机可以经常从一个网络切换到另一个网络,resolvconf 框架现在用于跟踪这些更改并自动更新解析器的配置。它充当提供名称服务器信息的程序和需要名称服务器信息的应用程序之间的中介。Resolvconf 通过一组与网络接口配置相关的挂钩脚本填充信息。对于用户来说,最显着的区别是,对 /etc/resolv.conf 所做的任何手动更改都将丢失,因为每次触发 resolvconf 时都会被覆盖。相反,resolvconf 使用 DHCP 客户端挂钩和 /etc/network/interfaces 来生成名称服务器和域的列表,以放入 /etc/resolv.conf,现在是一个符号链接。
您当前的情况表明您正在通过 GUI 使用网络管理器。您在那里编辑的信息存储在/etc/NetworkManager/system-connections/ConnectionName
(或者在我的情况下例如/etc/NetworkManager/system-connections/Ethernet\ connection\ 1
例如,如果我们将 8.8.8.8 的 Google DNS 添加到网络管理器的 DNS 服务器列表中,我们会发现它dns=8.8.8.8;
被添加到该文件的 IPv4 部分。
要从终端更改此设置,您可以发出命令sudo pico /etc/NetworkManager/system-connections/Ethernet\ connection\ 1
,例如更改 Ethernet\ connection\ 1 以匹配您的连接名称。
Open DNS 主服务器和辅服务器分别位于 208.67.222.222 和 208.67.220.220,因此更改该dns=
行或添加(如果不存在)即可dns=208.67.222.222;208.67.220.220;
解决问题并在重启后继续运行。
您可以通过访问以下网址来测试它是否按宣传的那样工作https://welcome.opendns.com/在您的浏览器中,它应该提供以下反馈:要列出当前使用的 DNS 服务器,请参见:命令行列出我的系统使用的 DNS 服务器
资料来源:
https://help.ubuntu.com/lts/serverguide/network-configuration.html
https://support.opendns.com/hc/en-us/articles/228007087-Ubuntu
测试