/etc/nsswitch.conf
作用:用于处理Hosts表和DNS的顺序
1. 客户机根据/etc/nsswitch.conf文件来确定名字解析的顺序。
在本例中,假定的顺序是:首先是本地文件,其次NIS+服务器,最后是DNS。
2. 客户机查找本地/etc/inet/hosts文件,没有发现匹配项。
3. 客户机向NIS+服务器发起关于ftp.internic.net地址的查询,仍然没有找到。
4. 客户机根据/etc/resolv.conf文件确定名称解析搜索列表和本地DNS服务器的地址。
5. 客户机解析例程向本地DNS服务器发起一个递归的DNS查询,以返回ftp.intenic.net的地址。这次,客户机将阻塞直到本地DNS服务器完成名称解析。
6. 如果该查询最近出现过,本地DNS服务器首先会检查缓冲。如果该查询结果在本地缓冲里,它向客户机返回一个非权威的查询结果
7. 本地DNS服务器向负责internic.net域查询的DNS服务器(如果没有适当的DNS服务器就向根服务器)发起一个交互查询。在本例中,我们假设缓冲中没有所需的查询结果,而且根服务器服务于我们的查询。
8. 根服务器返回最接近的信息。这样,你只能从根服务器得到的所有net.服务器的名称和地址。根服务器返回的这些名称和地址还包含了维持时间(time-to-alive),维持时间用于通知本地域名服务器,这些名称和地址可以缓冲多长时间。
9. 本地DNS服务器向上一步查询返回的net.服务器的其中之一发起查询,查询的过程与上述向根服务器进行的交互查询是一样的。
10. net.服务器返回最为接近的信息--internic.net.服务器的地址和名称及其维持时间(time-to-live)。
11. 本地DNS服务器向其中的一个internic.net.服务器发起相同的查询。
12. internic.net.服务器返回ftp.internic.net的地址及其维持时间(time-to-live)。
13. 本地DNS服务器向客户机返回所请求的地址,然后就可以处理ftp命令。
14. 本地DNS服务器将缓冲的地址用于以后的查询
hosts: dns files
表示只在DNS失效时候才使用/etc/hosts文件
hosts: dns
表示只用DNS解析主机
host: files
表示只用/etc/hosts文件解析主机
hosts: files dns
将使用/etc/inet/hosts文件解析主机,表示如果无法解析主机名将使用DNS。
如果使用了NIS+,那么这行将如下所示:
dns nisplus nis files
方法:
将 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
改为 hosts: files dns