在另一个网络上使用后笔记本电脑 DNS 损坏

在另一个网络上使用后笔记本电脑 DNS 损坏

我有一台运行 Xubuntu 12.04 Desktop 32bit 的笔记本电脑。大约 3 年前,它被全新安装。最近我把它带到国外,并在别人的网络上使用它。我遇到了一些非常常见的网站名称解析问题。我摆弄了一会儿,最终将他们的路由器设置为使用 Google 的 DNS 服务器。然后它完美地运行了 2 周。问题解决了 - 我以为。

但是当我回家并连接到家里的路由器时,DNS 根本不起作用。我尝试将笔记本电脑连接到第三个网络,但仍然无法解析名称。运行 Xubuntu 12.04 和 14.04 的其他台式电脑继续在我的家庭网络上正常工作。

我的路由器是 192.168.2.1,并为笔记本电脑分配 192.168.2.60。

$ nm-tool
...
  IPv4 Settings:
    Address:         192.168.2.60
    Prefix:          24 (255.255.255.0)
    Gateway:         192.168.2.1
    DNS:             192.168.2.1



$ nslookup askubuntu.com

  Server:   127.0.0.1
  Address:  127.0.0.1#53

  ** server can't find askubuntu.com: SERVFAIL

有趣的是,如果我在执行上述操作时嗅探数据包:

$ sudo tcpdump -n -vv -i wlan0 -W 1200 | grep askubuntu.com

    192.168.2.60.16887 > 192.168.2.1.53: [udp sum ok] 59738+% [1au] A? askubuntu.com. ar: . OPT UDPsize=4096 OK (42)
    192.168.2.1.53 > 192.168.2.60.16887: [udp sum ok] 59738 q: A? askubuntu.com. 1/0/0 askubuntu.com. A 104.16.111.188 (47)

这表明名称解析正在进行并且答案正在被发回。

如果我指定 DNS 服务器,它就会起作用:

$ nslookup askubuntu.com 192.168.2.1
  Server:   192.168.2.1
  Address:  192.168.2.1#53

  Non-authoritative answer:
  Name: askubuntu.com
  Address: 104.16.113.188

我尝试过这里建议的各种方法:升级到 Ubuntu 13.10(Saucy)后,如何修复 DNS 解析不起作用的问题

$ nmcli dev list iface eth0 | grep IP4.DNS 
IP4.DNS[1]: 192.168.2.1

文件/etc/resolv.conf 指向 的符号链接/run/resolvconf/resolv.conf。它实际上只包含nameserver 127.0.0.1。尽管我尝试过sudo dpkg-reconfigure resolvconf但没有变化。

我尝试注释掉该行dns=dnsmasq/etc/NetworkManager/NetworkManager.conf重新启动网络管理器,但没有变化。我再次取消注释该行。

最近唯一可能相关的调整是,我libunbound2在出国前在台式电脑上安装了该软件包,以满足 DKIM 验证程序插件的要求(https://github.com/lieser/dkim_verifier/wiki/DNS) 适用于 Thunderbird。该插件以前工作过,现在仍然运行良好。在国外时,我libunbound2出于同样的原因在笔记本电脑上安装了该软件包,它在国外运行良好。我的理解是,我只是安装了插件要使用的库。

我现在完全不知所措了。如能得到任何帮助,我将不胜感激。

相关内容