仅当路由器的 IP 地址出现在 DNS 服务器列表中时,Ubuntu 才会解析 DNS

仅当路由器的 IP 地址出现在 DNS 服务器列表中时,Ubuntu 才会解析 DNS

当我使用路由器 IP 地址以外的 DNS 服务器时,Ubuntu 或任何其他应用程序(Web 浏览器)都无法解析主机名。

我已使用 Ubuntu 的默认网络管理器 UI 添加了 Google 的 DNS 服务器(8.8.8.8 和 8.8.4.4)。

当我添加路由器的 IP 地址(8.8.8.8、8.8.4.4 和 192.168.15.1)时,DNS 解析开始工作。

以下是我的相关配置:

解析.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
nameserver 127.0.0.1

网络管理器.conf:

[main]
plugins=ifupdown,keyfile
dns=dnsmasq

no-auto-default=<some mac address>,

[ifupdown]
managed=false

在 /etc/网络/接口:

auto lo
iface lo inet loopback

我尝试了不同的解决方案,例如从 networkmanager.conf 禁用 dnsmasq,但没有任何效果。

以下是主机和挖掘结果:

host www.google.com 8.8.8.8 - times out.
host www.google.com 192.168.15.1 - works immediatly.
dig @8.8.8.8 www.google.com - times out.
dig @192.168.15.1 www.google.com - works immediatly.

然而,我可以成功 ping 到 8.8.8.8,这意味着服务器至少是可以访问的。

我的路由器或 ISP 是否可能拒绝向路由器中 ISP 设置的服务器以外的服务器发出的 DNS 请求?

答案1

它可能是您的路由器,但也可能是您的 ISP:我见过 ISP 阻止所有到其 DNS 以外的其他 IP 的 DNS(UDP 53)请求 - 他们这样做是为了赚钱(故意让他们的 DNS 解析错误的广告网站)或有时是出于法律原因(基于 DNS 的网站阻止)。

在您询问之前,请先确认:是的,他们故意破坏 DNS。

相关内容