我的 DNS 服务器是192.168.1.152.
此 DNS 由 DHCP 提供给客户端。LAN 上的 Windows 客户端使用该 DNS 正确解析名称,但我的 Ubuntu VM 没有。
虚拟机设置了桥接网络,并正确提供了 DNS 服务器,但我的本地主机名没有被 nslookup 或浏览器解析。
这是nslookup我的本地域之一:
# nslookup unraid.local
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find unraid.local: SERVFAIL
Run Code Online (Sandbox Code Playgroud)
这是它应该使用我的 DNS 服务器解析的内容:
# nslookup unraid.local 192.168.1.152
Server: 192.168.1.152
Address: 192.168.1.152#53
Name: unraid.local
Address: 192.168.1.152
Run Code Online (Sandbox Code Playgroud)
/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 …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了 Ubuntu Server 18.04 并设置了 SSH,所以我可以继续通过我的桌面进行配置,但我遇到了一些我似乎无法解决的问题。
我试着跑
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
但不断收到错误:
解决 archive.ubuntu.com 的临时故障
无法获取http://archive.ubuntu ........
我通过运行来检查我的互联网连接是否正常
ping 8.8.8.8
Run Code Online (Sandbox Code Playgroud)
我得到了回应,一切都好。
我怀疑我的 DNS 设置不正确,所以我尝试了
ping www.google.com
Run Code Online (Sandbox Code Playgroud)
并得到错误:
名称解析暂时失败
好的,所以我已经确定它实际上是某种 DNS 问题,但是我尝试过的所有“答案”都不适合我。
我尝试过编辑/etc/resolv.conf但没有运气,因为它似乎是一个符号链接。
我在这里找到了一个只有在我从 root 运行时才有效的答案,即:
sudo bash
Run Code Online (Sandbox Code Playgroud)
但它指示通过以下方式反转更改:
rm /etc/resolv.conf
ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)
如果我这样做,我会再次失去连接。
/run/resolvconf/resolv.conf实际上并不存在的事实吗?