Linux系統解析域名的先后順序
gd_WWW已經在本地(/etc/hosts)進行指向,但是竟然還能解析到外網,讓我百思不得其解。經過不斷查找發現域名解析與以下四個文件有關:
/etc/hosts
/etc/host.conf
/etc/resolv.conf
/etc/nsswitch.conf
其中nsswitch.conf與系統獲取解析的順序有關。
[root@f5ha.com ~]# vi /etc/nsswitch.conf #找到hosts關鍵字
#hosts: db files nisplus nis dns
hosts: files dns #此為默認配置
從配置文件就可以看出系統是先files(/etc/hosts)解析,再從dns(/etc/resolv.conf)解析。
更改為 hosts: dns files
重啟網絡服務service network restart
發現無效。
重啟系統后生效,先通過dns解析,出現用戶的現象,外網解析本地計算機名。
現在再說一下hosts文件
和Windows系統(C:\Windows\System32\drivers\etc\hosts)下的host的文件相類似,就是一個文本文件,里面存放一些IP和域名的對應關系。
然后是resolv.conf文件
配置Linux系統DNS服務器的配置文件:
cat < /etc/resolv.conf
nameserver *****
最后是host.conf文件,這個現在基本已經不用了,都改為nsswitch.conf了。
cat < /etc/host.conf
multi on
order hosts,bind
order hosts bind 表示先查詢本地hosts文件,如果沒有結果,再嘗試查找BIND dns服務器。
專家啰嗦
本人認為這篇與上一篇(NBU Client突然連接失敗)知識點不一樣。上一篇的重點是分析。如果在后面把域名解析的順序寫出來不方便以后的查找,所以就單章出來詳細分析一下。
http://blog.sina.com.cn/s/blog_6965d96d0102uyv8.html