所以我发现这方面有很多问题。我读完了所有帖子,但似乎找不到永久的解决方案。我有 Ubuntu 17.10,每次我的电脑重启,我都必须重置 DNS 服务器。
对我来说唯一可行的解决方案是:
- 将 google 的 DNS 服务器添加到我的 /etc/resolv.conf 文件中。
- 验证它们是否列在我的网络管理器 GUI 中
- 重新启动网络管理器。(sudo systemctl restart NetworkManager)
我不确定为什么将 DNS 服务器添加到 resolv.conf 会起作用,但结果却被覆盖了,但如果我不这样做,我的 DNS 不起作用。
我知道这不是正确的方法,但我尝试过的所有其他方法似乎都失败了。我遇到的另一个问题是,我在本地网络上有几台其他计算机(Raspberry Pi),我无法使用它们的名称通过 ssh 进入它们。我可以用它们的 IP 地址。
这是我当前的 resolv.conf
# Generated by NetworkManager
nameserver 127.0.1.1
这是我的 /etc/hosts
127.0.0.1 localhost
127.0.1.1 Bootes64
192.168.1.101 homeassistant
192.168.1.102 media
192.168.1.103 wdnas
192.168.1.120 security
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
有永久的解决办法吗?
编辑 这已被标记为类似问题的重复,但这是我在谷歌上遇到的第一个问题之一。那里的建议都不起作用。而且考虑到上次更新是在 2014 年,我非常怀疑它是否能在 17.10 机器上运行。
答案1
[为简单起见重写 - 希望有帮助]
您可以运行systemd-resolve --status
吗?它会返回有关您的网络适配器的 DNS 信息吗?
如果是,则运行sudo dpkg-reconfigure resolvconf
并确保 /etc/resolv.conf 内容如下:
# 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
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
然后重新启动网络管理器:
sudo service network-manager restart
systemd 解析器与其他解析器协作并选择合适的解析器。
答案2
我知道这不是正确答案 - 但我最终只是从全新安装重新安装了 17.10。Nuke 和 Pave。现在我的 DNS 正常工作。