我怀疑我的 ADSL 调制解调器/路由器提供的名称服务器有问题。每当我在 ubuntu 中第一次浏览网站时,解析域名至少需要 15 秒。
为了解决这个问题,我将域名服务器配置/etc/resolv.conf
从 192.168.1.1(我的 ADSL 调制解调器)更改为 8.8.8.8(谷歌的主 DNS)。这似乎解决了这个问题,但不幸的是,我的更改/etc/resolv.conf
在每次启动时都被“NetworkManager”覆盖。
在 ubuntu 10.4 中配置名称服务器 IP 的正确方法是什么?
如果您有网络管理器和 DHCP 的典型连接设置,请尝试以下操作:
这应该够了吧。
通过 CLI、不使用 NetworkManger、使用静态地址或独立于连接设置名称服务器的最佳方法是:
安装resolvconf包。
跑
(忽略可怕的警告。/etc/resolv.conf 是自动生成的,所以警告就在那里,所以当 /etc/resolv.conf 生成时它会被放入 /etc/resolv.conf。)到文件的末尾,添加
按Ctrl x并回答是保存文件。最后,重新生成 /etc/resolv.conf 以便立即应用更改:
你可以像这样改变它们。
首先,单击菜单栏中的网络管理器图标,然后单击该
Edit Connections...
项目。现在,切换到“有线”或“无线”选项卡,具体取决于您使用的内容 - 我使用 WiFi,所以我将使用它。
选择您的网络名称,然后单击
Edit...
切换到 IPv4 选项卡,然后将其从自动 DHCP 更改为仅自动 (DHCP) 地址。
输入您的 DNS 服务器 IP 地址。
点击保存,大功告成!
另一种方法是编辑
/etc/dhcp3/dhclient.conf
你可以通过在运行对话框中输入来做到这一点(按Alt+出现F2)然后找到以下行
并将其更改为
这将使 dhclient(NetworkManager 使用的 DHCP 客户端)将其添加到您的 dns 服务器,因此 resolve.conf 最终看起来像这样
该解决方案适用于任何地方,您将始终获得您选择作为主要 DNS 的 DNS。
另一种解决方案是更改路由器的配置以使用其他 DNS 服务器。只需登录其管理员,只要不是路由器导致问题,您的所有客户端计算机都会获得更好的 DNS。
单击屏幕右上角的网络指示器并选择
Edit Connections...
。选择要修改的连接(可能从Wired
或Wireless
选项卡中,然后单击Edit...
按钮。切换到
IPv4 Settings
连接窗口的选项卡并将方法从 更改Automatic (DHCP)
为Automatic (DHCP) addresses only
。您现在应该能够指定 DNS 服务器 IP 地址。保存连接,您应该一切顺利。更改设置后,您可能必须通过在指示器的菜单中选择连接来重置连接。
您可以按照此处回答的图形方式更改 IPv4 DNS 设置
但是如果你想知道如何使用命令行来做同样的事情,你必须使用命令列出目录中的
/etc/NetworkManager/system-connections
文件ls
:必须有一个文件名称为您的连接名称,我的文件名为
Wired Connection 1
.所以我们需要编辑文件并在其中添加 DNS 服务器:
在该
[ipv4]
部分下添加任意数量的 DNS 服务器,并用分号分隔它们,;
并将 a;
放在最后一个 DNS 服务器的末尾,如下所示:如果您不想分配任何 dns,则可以删除此行。
此外,您必须添加此行
ignore-auto-dns=true
以忽略 DHCP 提供的 DNS 服务器(如路由器配置中设置的 DNS 服务器):这个答案的一点背景:当我在 GUI 的 DNS 设置中添加 DNS 服务器时,我试图弄清楚什么文件被编辑,所以我运行这个命令 16 多个小时:
sudo grep -rs "1.1.1.1" /
它正在扫描我的 Ubuntu 虚拟机上的所有文件但即使运行了这么长时间,它也没有完成,但我知道文件可能存在,/etc/NetworkManager
所以我grep
再次运行指向该目录并找到了这个:/etc/NetworkManager/system-connections/Wired connection 1:dns=1.1.1.1;
所以我回到这里写一个答案只是为了发现Lekensteyn已经在对已接受答案的评论中指出了这一点。首先你需要安装
resolveconf.service
:然后你需要启动 resolvconf 服务:
然后你需要
resolvconf.service
在启动时启用:您可以使用以下命令检查状态:
你会看到这样的东西:
然后您需要更改文件中的配置
/etc/resolv.conf.d/head
:您需要像这样添加您的 DNS 服务器(Google DNS)。你可以加:
IPv4 地址:
或 IPv6 地址:
然后你需要重新启动你的
resolvconf.service
:现在你可以检查你的
/etc/resolve.conf
文件了。您将看到您的新 DNS。我相信,如果您在网络管理器下对其进行更改,则更改会持续存在。
以使用 eth0 为例
网络管理器 -> 有线 -> 自动 eth0 -> ipv4 设置。
将您的 DNS 服务器设置为 8.8.8.8 并应用。
打开这个文件
删除 NetworkManager 创建的 IP 地址并添加以下行(我在这里添加 1.1.1.1 地址。)
保存并退出,然后为 NetworkManager 运行以下命令不会覆盖文件
如果要编辑文件类型
sudo chattr -i /etc/resolv.conf
并添加配置,最后重新键入chattr +i
命令。