我在 droplet 上设置了多个域,它们相互交叉引用。目前,当我在 droplet 中对这些域执行 nslookup 时,DNS 解析由 67.207.67.3 处理,这是 Digital Ocean 的 DNS 服务器,它很乐意通过公共 IP 指向同一个 droplet(localhost)。
为了节省查找时间并加快交叉引用这些域的页面的“页面加载时间”,我尝试了以下步骤,但却一无所获:
修改了 /etc/hosts 文件,以便这些域指向 localhost (127.0.0.1),但是,这没有效果。
修改了 /etc/cloud/templates/hosts.redhat.tmpl 文件并在其中插入条目,但查找发生在 DO DNS 服务器上。
确保 /etc/nsswitch.conf 指出解析顺序是“文件”后跟“DNS”。
完成所有更改后重新启动网络服务。也尝试过重新启动... 仍然没有成功。
我遗漏了什么?如何更改名称解析优先级,以便它首先查找 hosts 文件,如果未找到条目,则查找 DNS 服务器?
我确实看到了 /etc/network/interfaces 和 /etc/resolv.conf 中的名称服务器条目,但是,我不确定修改它们是否会产生任何结果。
任何指点都将不胜感激。提前致谢。
答案1
我猜你正在用nslookup
/ host
/进行测试dig
?
它们的作用是不需要先查找/etc/nsswitch.conf
和询问 DNS,因为它们是 DNS 诊断工具。
尝试 ping 到它应该127.0.0.1
按照 解析的域/etc/hosts
。
所有其他守护进程也应该解析为127.0.0.1
,如果没有,请粘贴/etc/nsswitch.conf
和的内容/etc/hosts