如何防止域名解析到特定地址?

如何防止域名解析到特定地址?

当我拼错域名时,我的 ISP 提供商的 DNS 服务器会将域名解析为 Web 服务器的 IP 地址,并告诉您“很抱歉,您输入的地址不存在”以及一些广告。

例如:

$ dig abcdefghijklmo.com           # using the DNS from my ISP
...
;; ANSWER SECTION:
abcdefghijklmo.com. 0   IN  A   31.199.53.9
...

$ dig abcdefghijklmo.com @8.8.8.8  # using Google's DNS
... no "ANSWER SECTION" ...

如您所见,我得到的是无用的 A 记录,而不是空答案。我想删除该记录。

从我的电脑上我可以看到 DNS 服务器是192.168.1.1,这是我的路由器的地址。我可以从 更改为192.168.1.18.8.8.8但我将失去在 LAN 内解析名称的能力,所以这不是一个选择。我的路由器无法以任何方式配置,我无法更改它,而且我不想在其他设备上运行名称服务器。我联系了我的 ISP,他们明确表示不会帮助我。

总结:我必须使用192.168.1.1作为名称服务器,但我想过滤掉包含 的答案A 31.199.53.9。我该怎么做?


我正在使用带有 NetworkManager 和 dnsmasq 的 Ubuntu Desktop 15.04。

答案1

解决方案是使用/etc/hostsUbuntu 上的入口。

  1. 确保/etc/nsswitch.conf在线dns第一个选项是files
  2. 添加行/etc/hosts
abcdefghijklmo.com ip 地址

相关内容