我想知道我的本地计算机是否可以作为 DNS 服务器。
我的意思是,当它尝试解析互联网地址时,它首先会查看它吗?例如,Windows 7 或互联网浏览器中是否有 DNS 缓存?或者它是否开始询问充当 DNS 缓存的路由器?
请问,我想要一个完整的描述,了解它的工作原理,因为我不清楚 DNS 解析过程从哪里开始。
答案1
您的计算机将始终首先检查其本地缓存,以避免向 DNS 服务器询问它已经知道答案的问题。您可以通过打开命令提示符并运行以下命令来查看此信息:
ipconfig /displaydns
如果您的机器无法从 DNS 缓存中获得答案,它将询问其主 DNS 服务器,主 DNS 服务器将依次检查其自己的数据库并给您答复。对于家庭用户,最有可能是您的路由器。您可以通过运行以下命令来找到您的 DNS 服务器:
ipconfig /all
如果您的主 DNS 没有回复,您的计算机将会询问它的辅助 DNS(如果您已配置),然后是第三 DNS,然后是第四 DNS...依此类推。
如果您的主 DNS 在线但没有答案,它会依次询问自己的主 DNS(对于大多数家庭用户来说可能是您的 ISP)。然后您的 ISP 将检查自己的 DNS 并向您的路由器提供答复,然后路由器会将答复发送给您。
如果你的 ISP DNS 没有记录,它将开始询问是否已配置根或者货运代理。这些是 DNS 内部配置的位置列表,当 DNS 服务器本身不知道从哪里获取答案时使用。这些通常是其他 DNS 服务器或互联网根名称服务器。
进一步阅读:
DNS 命名空间 - Google(特别查看命名空间部分)
诊断 DNS 问题
有些应用程序会存储自己的 DNS 缓存。Web 浏览器就是一个典型的例子。由于世界上有数十亿个应用程序,其中数百万个(可能)存储 DNS 缓存 - 我不会开始列出清除缓存的可能方法。如果您怀疑某个地址被缓存 - 请证明这一点(例如 - Chrome 无法解析站点名称但 Firefox 正常 - 这可能是 Chrome 缓存问题),然后谷歌搜索如何清除该特定应用程序的缓存。
NSLOOKUP www.google.com
- 此命令(在命令提示符中输入时)将为您提供 www.google.com 的 DNS 查找并返回其 IP:
IPCONFIG /flushdns
- 此命令将刷新您的本地 DNS 缓存并帮助清除您在本地存储的任何不良结果
最后,如果您的 ISP 名称解析效果不佳或多次查找失败,您可以向路由器或 PC 添加大量备用 DNS 服务器,以便更可靠地进行名称解析。虽然我大部分内容都使用公司 DNS 服务器和 ISP,但 google DNS 服务相当不错。查看此链接了解更多信息
(最后,对于截图质量较差表示歉意——我在工作,如果不删除大部分数据就无法发布更好的截图——这些是我在网上找到的)