一、DNS 概念
人和人要互相識別和記憶,需要名字作為輔助,而對于網絡世界,在因特網內也需要一種命名系統來做類似的事情,該系統使用了域來劃分,任何一個網絡里的主機(或者路由器)都有獨一無二的域名(類似國家代碼),域又能繼續劃分為子域(類似每個國家有不同的省份代碼),子域還能繼續劃分(每個省都有自己的各個城市的代碼)……在因特網內對應的就是頂級域名(com,net,cn,org等),二級域名……注意這僅僅是一種邏輯的劃分。而這些域名系統在形式上組成了一種樹結構。
在早期的TCP/IP網絡中,名稱解析工作是通過HOSTS文件來進行維護的,hosts文件是一個純文本文件,維護著主機名和IP地址的對應關系.這個過程通過NSS(Name Service Switch)來控制的,NSS調用系統動態庫libnss_files.so、libnss_dns.so,NSS是名稱解析服務的一個框架,NSS的配置文件為/etc/nsswitch.conf。
DNS 的全稱是 Domain Name System(域名系統,或者常稱為域名解析系統)。域名系統(DNS)是因特網的電話簿。域名系統為Internet上的主機分配域名地址和IP地址。人類通過域名在線訪問信息,如nytimes.com或espn.com,該系統就會自動把域名地址轉為IP地址。DNS將域名轉換為IP地址