天天看點

Linux系統服務 2 ---- DNS基礎及域名系統架構

 1 域名

    1 比如www.LinuxCast.net,實際上域名隻是後面的一部份,但是我們一般都是整個叫為域名

    2 對于域名來說,我們一般使用.來分割,嚴格的域名最後一位還是有一個.的,但是我們都直接省略

    3 域名分為三個部分

       主機名     該域中的某台主機,對于網頁伺服器來說都是www,但是也有ftp,mail等等

       域名         域名稱

       類型         辨別此域名的類型,比較常見的有com , net , org , edu , gov

 2 DNS

    1 每一個域名實際上代表的是一個ip位址,比如www.LinuxCast.net的ip為1.1.1.1(假設)

    2 DNS(Domain Name System),服務有DNS來提供 

    3 比如我要通路www.LinuxCast.net

       第一步我們先去請求DNS伺服器

       第二步DNS傳回目前域名的ip位址

       第三步主機通過ip位址去通路目前的網站

Linux系統服務 2 ---- DNS基礎及域名系統架構

 3 DNS用戶端

    1 我們日常使用的支援網絡的計算機一般都是做為一個DNS用戶端使用,應用程式,服務,程序等等通過作業系統底層的功能發起對dns伺服器的查詢,對指定域名進行解析

    2 Linux中一般使用系統底層提供的gethostbyname()來進行域名解析

    3 解析基于以下幾種方式

       檔案(/etc/hosts . /etc/networks)

       DNS

       NIS

    4 我們可以通過配置檔案/etc/nsswhich,conf來控制查詢的順序,預設是先檔案hosts , 第二是DNS

 4 DNS專用查詢指令

    1 指令host可用于進行dns的查詢

       host www.LinuxCast.net

    2 dig指令也可以用來進行dns查詢,輸出較為詳細的資訊

       dig www.LinuxCast.net

   3 指令host和dig都不會使用/etc/nsswhich.conf的配置,隻會通過/etc/resolve.conf進行dns查詢

Linux系統服務 2 ---- DNS基礎及域名系統架構

 5 DNA查詢

    1 DNS是一個樹狀結構,查詢的時候根據域名從右到左查詢,域名每一級由獨立的一個或多個伺服器

    2 比如我們要查詢www.LinuxCast.net(其實是www.LinuxCast.net.)這個域名

       第一步我們先去查找根域名伺服器,也就是. 那麼這個根域名伺服器儲存了比如com , net , org等等的資訊

       第二步根據我們找到的net,我們去查net. , 也就是在頂級域名伺服器,儲存的是域名,比如LinuxCast等等

       第三步根據找到的LinuxCast.net.,我們去查這個域名下的主機名,通常這個伺服器儲存比如www , mail , ftp等主機

       第四步找到www.LinuxCast.net

Linux系統服務 2 ---- DNS基礎及域名系統架構

   3 我們可以通過 dig +trace www.LinuxCast.net 來追蹤這個DNS的解析過程

Linux系統服務 2 ---- DNS基礎及域名系統架構

 6 DNS的查詢類型

    1 遞歸查詢

       比如我們要查詢www.LinuxCast.net

       首先我們用戶端發送請求到本地的DNS伺服器,然後本地DNS伺服器去查詢根域名伺服器.并傳回給本地域名伺服器,本地域名伺服器根據傳回回來的結果進行查詢下一個..... 最後傳回給用戶端

Linux系統服務 2 ---- DNS基礎及域名系統架構

  2 循環查詢

      同樣還是查詢www.LinuxCast.nat

      首先用戶端先通過本地域名伺服器,然後本地域名伺服器去查找根域名伺服器. 然後根域名伺服器去找頂級域名伺服器net,頂級域名伺服器找LinuxCast.net,最後再把結果傳回給用戶端

Linux系統服務 2 ---- DNS基礎及域名系統架構

 3 實際應用中是用戶端和本地伺服器之間利用循環查詢,本地域名伺服器和其他伺服器之間利用遞歸查詢

Linux系統服務 2 ---- DNS基礎及域名系統架構

 7 資源記錄

    1 在DNS伺服器上,DNS的資訊通過一個叫做資源記錄(RR,Resource Record)的格式進行儲存,RR不僅能夠儲存域名到ip位址的對應資訊,還能夠儲存很多其他的資訊

    2 資源記錄常用的屬性有

        NAME    ----   名稱

        CLASS   ----  類别(一般都市IN,代表internet)

        TYPE      ----  類型(A代表的是ipv4,4A代表ipv6 等等)

        RDATA   ----  資料

Linux系統服務 2 ---- DNS基礎及域名系統架構

 8 DNS伺服器的類型

    1 Primary DNS Server(Master)

       一個域的伺服器儲存該域的zone配置檔案,該域所有的配置,更改都在該伺服器上面

    2 Seconday DNS Server(Slave)

       從伺服器一般做為備援負載使用,一個域的從伺服器從該域的主伺服器上抓取zone配置檔案,從伺服器不進行資訊修改,所有的修改與主伺服器同步

    3 Caching only Server

       DNS緩存伺服器不存在任何的zone檔案,僅僅依靠緩存為用戶端提供服務,通常用于負載均衡以及加速通路

 9 zone

    在DNS伺服器中,一般一個域通過一個zone檔案儲存該域的相關資訊,zone檔案的格式是标準化的,一個典型的zone配置檔案内容如下

Linux系統服務 2 ---- DNS基礎及域名系統架構

繼續閱讀