Ubuntu 17.04 无法通过名称访问网站,只能通过 IP 地址访问

Ubuntu 17.04 无法通过名称访问网站,只能通过 IP 地址访问

我在 Surface Pro 3 上安装了 Ubuntu 17.04,现在当我尝试访问网站时,Firefox 会提示“找不到服务器”。但我已连接到互联网,因为我可以通过 SSH 进入远程服务器。我假设这是一个 DNS 问题,但我尝试过的其他 DNS 修复方法都没有用。

我尝试重启网络、网络管理器和电脑。我还尝试在 ipv4 设置中将 DHCP 改为手动,并设置额外的 dns 服务器。最后我放弃了,重新安装了 Ubuntu,现在它可以正常工作了。

答案1

抱歉,我的声誉还不足以发表评论,所以我必须将其作为答案发布。当我们找到答案时,我会编辑它以包含答案。您的意思是您用 Windows 替换了 Surface Pro 3 中的 Windows,还是您正在使用基于 Ubuntu 的 Windows 10,其中包含名为 Windows Subsystem for Linux (Beta) 的 Windows 功能?或者您购买了它,例如安装了 Ubuntu 的二手产品(或者 MS 甚至以这种方式销售它)?您之前在设备中运行过以前的 Ubuntu 版本,并且它的 DNS 正常工作吗?

该问题可能与 Ubuntu 17.04 已切换为使用 systemd-resolved 作为默认 DNS 解析器有关。

首先尝试使用终端更新到最新的软件包,以防有修复程序影响该问题:

sudo apt-get update

如果你正在使用 Wi-Fi,你是否尝试过像这样安装驱动程序(建议来自如何在 Surface Pro 3 上安装 Linux,但我用 opensource.marvell.com 的当前 IP 199.233.58.162 替换了 git.marvell.com):

cd ~/Downloads
sudo git clone git://199.233.58.162/mwifiex-firmware.git
sudo mkdir -p /lib/firmware/mrvl/
sudo cp mwifiex-firmware/mrvl/* /lib/firmware/mrvl/

如果你没有安装 git,sudo 会提示“sudo: git: 未找到命令”。在这种情况下,请安装 git 并重试:

sudo apt-get install git

之后,以“sudo git clone”开头的命令应该显示“克隆到‘mwifiex-firmware’”,即它将驱动程序下载到 ~/Downloads 的子目录中。执行以“sudo cd”开头的第三个命令后,尝试重新启动您的机器。

当您在桌面 GUI 中转到系统设置 > 网络时,Ubuntu 显示“IPv4 地址”、“IPv6 地址”、“默认路由”以及最重要的“DNS”是什么?

或者,您可以先运行此程序来打印您的默认网关值并将其粘贴到这里:

route | grep default

还可以尝试使用这些执行 DNS 查询并将结果粘贴给我们:

nslookup google.com
dig
dig google.com

nslookup应在服务器字段和dig服务器字段中显示您的主名称服务器地址。

nslookup如果或显示的名称服务器地址dig正确,即通常是您的 ISP 的名称服务器之一,则可能有东西阻止了 DNS 查询命令。如果您通过活动网络设备(如 dsl 路由器或电缆调制解调器)进行连接,理论上它的防火墙可能会阻止 DNS 访问,尽管这种情况不太可能发生,特别是因为我假设您的设备之前 DNS 可以正常工作。

您也可以尝试这样做来显示您的 IP 地址配置,尽管由于 SSH 可以工作,您至少应该获取一个 IP(出于安全目的,我建议省略任何包含冒号 (:) 的字段,即 MAC 地址)?

ip addr show

相关内容