![关于 DNS 查询与 HOSTS 文件的混淆](https://linux22.com/image/1495163/%E5%85%B3%E4%BA%8E%20DNS%20%E6%9F%A5%E8%AF%A2%E4%B8%8E%20HOSTS%20%E6%96%87%E4%BB%B6%E7%9A%84%E6%B7%B7%E6%B7%86.png)
关于主题,我有一台 windows/linux 机器,其中安装了 virtualbox 和设置192.168.11.19ip 和入口www.abc.com在 hosts 文件中。我们在网络上设置了 DNS 服务器/过滤器,并在每台机器上设置了 DNS。
现在的问题是,为什么 DNS 查询到 DNS 服务器www.abc.com,因为已经使用 hosts 文件进行了解析。HOSTS 文件和 DNS 服务器的顺序是什么?
答案1
问:为什么 DNS 查询到 www.abc.com 的 DNS 服务器,因为它已经使用 hosts 文件进行了解析。
A. 您的计算机应该首先使用 hosts 文件,而不是进行查找。
就像您希望的那样。这可以节省带宽和无用查询等...
测试:
如果您选择一个新的 IP 地址(或刷新 DNS 缓存)并测试它,您应该会看到。
这是一个混淆自由软件基金会和 Google 地址的例子。
我们可以获取 www.fsf.org 的 IP:
nslookup fsf.org
给出答案:
服务器:208.67.222.222
nslookup 8.8.8.8
名称 = google-public-dns-a.google.com
1)在hosts文件中放入错误的记录。
8.8.8.8 www.fsf.org
在 hosts 文件中(可能是 /etc/hosts)。
这是 google 的 IP 地址,用于自由软件基金会.org 的名称。
2)重新启动计算机或网络服务。
3)ping www.fsf.org
您应该看到您的计算机 ping 8.8.8.8,即 google。如果它 ping 208.67.222.222,您就会知道它正在使用 dns。
我刚刚在电脑上做了测试。
当然,dns 的要点在于它是可扩展的,这样您不必再写下来并且它会自动更新,但您可能会发现 hosts 文件对于内部网络使用或作为简写外部地址很有用。
干杯。