DNS 實際上是分佈在 INTERNET 上的主機信息的 數據庫 ,其作用是實現 IP 地址和主 機名 之間的轉換。
DNS作爲一種基礎性的服務,需要相應的請求量是驚人的,爲了應對海量數據的情況,便於管理,它採取了分層機構。如下圖所示:
通常 Internet 主機域名的一般結構爲:主機名.三級域名.二級域名.頂級域名. 。
舉例:
以tieba.baidu.com爲例,正確的域名劃分爲:
.com 頂級域名/一級域名
baidu.com 二級域名
tieba.baidu.com 三級域名
detail.tieba.baidu.com 四級域名
(其他級別域名以此類推)
DNS原理
首先,客戶端發出 DNS 請求翻譯 IP 地址或主機名。DNS 服務器在收到客戶機的請求後:
(1)檢查 DNS 服務器的緩存,若查到請求的地址或名字,即向客戶機發出應答信息;
(2)若沒有查到,則在數據庫中查找,若查到請求的地址或名字,即向客戶機發出應答信息;
(3)若沒有查到,則將請求發給根域 DNS 服務器,並依序從根域查找頂級域,由頂級查找二級域,二級域查找三級,直至找到要解
析的地址或名字,即向客戶機所在網絡的 DNS 服務器發出應答信息,DNS 服務器收到應答後現在緩存中存儲,然後,將解析結果發
給客戶機。
(4)若沒有找到,則返回錯誤信息。
一次完整的查詢請求經過的流程:
Client -->hosts文件 -->DNS Service Local Cache --> DNS Server(recursion) --> Server Cache --> iteration(迭代) --> 根–>頂級域名DNS–>二級域名DNS…
例:當用戶在瀏覽器當中輸入一個網站,說說計算機對dns 解析經過那些流程?注:本機跟本地dns 還沒有緩存
a.用戶輸入網址到瀏覽器
b.瀏覽器發出DNS 請求信息
c.計算機首先查詢本機HOST 文件,看是否存在,存在直接返回結果,不存在,繼續下一步
d.計算機按照本地DNS 的順序,向合法dns 服務器查詢IP 結果
e.合法dns 返回dns 結果給本地dns,本地dns 並緩存本結果,直到TTL 過期,纔再次查詢此結果
f.返回IP 結果給瀏覽器
g.瀏覽器根據IP 信息,獲取頁面
DNS查詢方式
遞歸查詢和迭代查詢
區域文件內各種記錄類型
常見 DNS 記錄類型
|記錄類型 | 描述 |
|SOA 記錄 | 域權威記錄,說明本機服務器爲該域的管理服務器|
|NS 記錄 | 域名服務器記錄 |
|A 記錄 | 正向解析記錄,域名到 IP 地址的映射 |
|PTR 記錄 | 反向解析記錄,IP 地址到域名的映射|
|CNAME 記錄 | 別名記錄,可以將註冊的不同域名都轉到一個域名記錄上,由這個域名記錄統一解析管理,與A記錄不同的是,CNAME別名記錄設置的可以是一個域名的描述而不一定是IP地址! |
|MX 記錄 | 郵件記錄,指定域內的郵件服務器,需要指定優先級 |
正向解析和反向解析 ① 正向解析:將域名解析爲對應的 IP,這是 DNS 服務器最基本的功能,也是最常用的功能 ② 反向解析:把 IP 解析爲對應的域名
下載安裝
yum -y install bind
/etc/init.d/named start #啓動
chkconfig named on #添加開機自啓
ss -lntp|grep named #查看bind端口
# DNS默認使用UDP、TCP協議,使用端口爲53(客戶端查詢),953(主從服務器同步)
bind-chroot 安裝bind-chroot軟件,將DNS服務鎖定在指定的工作目錄,安全
bind-utils (安裝DNS查詢工具軟件, 提供nslookup及dig等測試工具,默認桌面版已經安裝)
caching-nameserver (安裝高速緩存服務器配置文件,建議一定安裝)(有的版本不需要)