DNS域名系統

【本文導航】
DNS域名系統
DNS域名系統
DNS解析類型
DNS查詢類型
DNS服務器類型
資源記錄
   SOA記錄
   NS記錄
   MX記錄
   A記錄與泛域名
   PTR記錄
   CNAME記錄
   AAAA記錄
子域
區域傳送

 

DNS【域名系統】:

    DNS(Domain Name System,域名系統),因特網上作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP。

DNS【域名結構】:

    【域名】是由點號". "將各級域的名稱(lables)隔開組成(如www.www58058.com)。各lables由“數字”“字母”“-”其中的一種或多種組成。各lable長度應該在63個字符之內, 而且總長度應該不超過25563個字符,且域名最多不能超過127層。
    一個【全域名】(FQDN),即完整的完全合格域名,是指主機名加上全路徑,全路徑中列出了序列中所有域成員。

DNS域名系統01.png

    常見域:
    根域:用“.”表示;
    頂級域(一級域):常見頂級域有com、edu、mil、gov、net、org、int等;
    二級域:如178linux、google等;
    三級域:如www、bbs等;
    全球范圍內對互聯網通用頂級域名(gTLD)以及國家和地區頂級域名(ccTLD)系統的管理、以及根服務器系統,由CANN(互聯網名稱與數字地址分配機構)負責管理。

DNS【解析類型】:

    根據DNS的查詢類型非為正向解析與反向解析
    通過主機名,查詢得到該主機名對應的IP地址的過程叫做【正向解析】(FQDN –> IP)。
    反過來,如果是通過主機IP查詢得到域名的過程叫【反向解析】(IP –> FQDN),反向解析的作用為服務器的身份驗證,一般用在郵箱系統上面。
    正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹,理論上不能運行在同一服務上(現在技術允許,只需配置不同查詢數據庫)。
  DNS一次完整的查詢請求流程:
    客戶端 –>hosts文件 –>本地DNS服務器緩存–> DNS 服務器遞歸 (recursion) –> 服務器緩存 –> 迭代(iteration) –> 根–> 頂級域名DNS–>二級域名DNS… 

DNS解析.png

DNS【查詢類型】:

    【遞歸查詢】是最常見的查詢方式,域名服務器將代替提出請求的客戶機(下級DNS服務器)進行域名查詢,若域名服務器不能直接回答,則域名服務器會在域各樹中的各分支的上下進行遞歸查詢,最終將返回查詢結果給客戶機,在域名服務器查詢期間,客戶機將完全處于等待狀態。即上圖右邊部分客服機向DNS服務器查詢的過程。
    【迭代查詢】又稱重指引,當服務器使用迭代查詢時能使其他服務器返回一個最佳的查詢點提示或主機地址,若此最佳的查詢點中包含需要查詢的主機地址,則返回主機地址信息,若此時服務器不能夠直接查詢到主機地址,則是按照提示的指引依次查詢,直到服務器給出的提示中包含所需要查詢的主機地址為止,一般每次指引都會更靠近根服務器(向上),查尋到根域名服務器后,則會再次根據提示向下查找。即上圖左邊部分DNS服務器幫忙客服機查詢的過程。

DNS【服務器類型】:

    【主DNS服務器】:用來管理和維護所負責解析的域內解析庫的服務器,正常情況下,一個域只有一個主DNS服務器。
    【從DNS服務器】:從主服務器或從服務器“復制”(區域傳輸)解析,主要起到分流作用,從服務器可以有多個。
    【緩存DNS服務器】(轉發器):本身不提供DNS解析,僅提供DNS信息查詢和緩存操作。

【資源記錄】

    區域解析庫由多個資源記錄組成(Resource Record, RR),主要類型有A, AAAA, PTR, SOA, NS, CNAME, MX。

DNS域名系統03.png
                  (linux.com.區域的部分資源記錄文件)

    SOA: Start Of Authority,起始授權記錄;一個區域解析庫有且僅能有一個SOA記錄,必須位于解析庫的第一條記錄;
    A:——internet Address,將FQDN映射為IP
    AAAA:—將FQDN映射為IP IPv6
    PTR:—-PoinTeR,將IP映射為FQDN
    NS:—–Name Server,專用于標明當前區域的DNS服務器
    CNAME:–Canonical Name,別名記錄
    MX:—–Mail eXchanger,郵件交換器

  資源記錄【語法】: name  [TTL]  IN  RR_type  value

    (1) TTL可從全局繼承;
    (2) @可用于引用當前區域的名字;
    (3) 同一個名字可以通過多條記錄定義多個不同的值,此時DNS服務器會以輪詢方式響應;
    (4) 同一個值也可能有多個不同的定義名字;通過多個不同的名字指向同一個值進行定義,此僅表示通過多個不同的名字可以找到同一個主機; 

  【SOA記錄】

    name: 當前區域的名字,也可簡寫為@,例如“linux.com”
    value: 有多部分組成
   (1) 當前區域的主DNS服務器的FQDN,也可以使用當前區域的名字;
   (2) 當前區域管理員的郵箱地址;地址中不能使用@符號,用“.”替換例如jev.linux.com.
   (3) 主從服務區域傳輸相關定義以及否定的答案的統一的TTL
  例如:

DNS域名系統04.png

    linux.com  86400  IN  SOA  dns1.linux.com.  jev.linux.com. (
          2    ;serial number,序列號,十進制數字,不能超過10位,通常使用日期
          86400 ;refresh time,刷新時間,每隔多久跟主服務器同步檢查一次
          3600  ;retry time,重試時間,應該小于refresh time
          604800;expire time,過期時間
          7200 ;negat answer ttl,否定答案的TTL值
          )

  【NS記錄】

    name: 當前區域的名字
    value: 當前區域的某DNS服務器的名字,例如ns.magedu.com.
    注意:一個區域可以有多個NS記錄;

  例如:

    linux.com.  86400  IN  NS  dns1
    linux.com.  NS  dns2

    注意:
    (1)相鄰的兩個資源記錄的name相同時,后續的可省略;
    (2)對NS記錄而言,任何一個ns記錄后面的服務器名字,都應該在后續有一個A記錄;

 【MX記錄】

    name: 當前區域的名字;
    value: 當前區域的某郵件服務器(smtp服務器)的主機名;
    一個區域內, MX記錄可有多個;但每個記錄的value之前應該有一個數字(0-99),表示此服務器的優先級;數字越小優先級越高;

  例如:

    linux.com.  86400  IN  MX  0  mailsrv1
    linux.com.  MX  8  mailsrv2

    注意:對MX記錄而言,任何一個MX記錄后面的服務器名字,都應該在后續有一個A記錄; 

  【A記錄】泛域名

    name: 某主機的FQDN,例如www.magedu.com.
    value: 主機名對應主機的IP地址;

  例如:

    www.linux.com.  86400  IN  A  1.1.1.1
    bbs.linux.com.   A  2.2.2.2
    mx.linux.com.  A  3.3.3.3

    如果有多條,且域名與IP存在一定對應關系,可以通過下面方式寫A記錄:

    $GENERATE  1-254  HOST$  A  1.2.3.$

    即:HOST1  A  1.2.3.1、HOST2  A  1.2.3.2  . . . HOST254  A  1.2.3.254
    避免用戶寫錯名稱時給錯誤答案,可通過泛域名解析進行解析至某特定地址:

    *.linux.com.  A  1.1.1.1

    即:只要用戶輸入的后綴是.linu.com.,不管前面是什么,都解析為1.1.1.1 

  【PTR記錄】

DNS域名系統05.png

    name: IP,有特定格式,把IP地址反過來寫, 1.2.3.4,要寫作4.3.2.1;而有特定后綴: in-addr.arpa.,所以完整寫法為: 4.3.2.1.in-addr.arpa.
    value: FQDN

  例如:

    4.3.2.1.in-addr.arpa.  86400  IN   PTR   www.linux.com.

    如1.2為網絡地址,可簡寫成:

    4.3  86400  IN   PTR  www.linux.com.

    注意:網絡地址及后綴可省略;主機地址依然需要反著寫;  

  【CNAME】別名記錄
    name: 別名的FQDN
    value: 真正名字的FQDN
  例如:

    www.linux.com.  86400  IN   CNAME  websrv

  【AAAA記錄】
    name: FQDN
    value: IPv6
  例如

    www.linux.com.  86400  IN  AAAA  fe80::20c:29ff:fe29:b0bf

 【子域】

    子域授權:每個域的名稱服務器,都是通過其上級名稱服務器在解析庫進行授權;如:
    根域對com子域的授權

DNS域名系統06.png

    com域對linux.com子域的授權

DNS域名系統07.png

 區域傳送】

  輔助DNS服務器跟主服務器從主DNS服務器或其他輔助DNS服務器請求傳輸數據的過程;分為完全區域傳送、增量區域傳送;完全區域傳送(AXFR),即每次同步傳送區域所有數據;增量區域傳送(IXFR),即每次只傳送區域中改變的部分數據。

【相關鏈接】:DNS域名解析系統搭建

 

 

 

 

 

 

 

 

 

原創文章,作者:Jev Tse,如若轉載,請注明出處:http://www.www58058.com/64885

(1)
Jev TseJev Tse
上一篇 2016-12-26
下一篇 2016-12-26

相關推薦

  • 初入linux_基礎(一)

    初入Linux知識點總結(一) 一、理論知識 1、時間點: 1946年 第一代計算機ENIAC誕生于美國賓州大學,特點:塊頭大、效率低 數學家馮諾?依曼提出計算機體系結構組成部分:計算器、運算器、存儲器、輸入設備、輸出設備 1969年 UNIX在美國貝爾實驗室誕生 1984年 GNU項目和軟件基金會成立 1991年 Linux在芬蘭赫爾辛基誕生 2、計算機的…

    Linux干貨 2017-02-18
  • N26-第六周

    請詳細總結vim編輯器的使用 vim 模式化的編輯器 vim的三種模式:1.編輯模式(命令模式)                          2.輸入模式          …

    Linux干貨 2017-03-13
  • linux 系統啟動流程

    假設以個人架設的linux主機為例:當你按下電源鍵之后,計算機硬件會主動讀取BIOS來加載硬件信息及進行硬件系統的自我測試,之后系統會主動讀取系統第一個可啟動的設備,此時就可以讀入引導裝載程序了。 引導程序可以指定使用哪個內核文件來啟動,并實際加載內核到內存中解壓縮與執行,此時內核就能夠開始在內存內活動,并檢測所有硬件信息,與加載適當的驅動程序來使這部主機開…

    Linux干貨 2016-09-12
  • find文件:就是這么簡單

    概述 由于Linux一切皆文件,我們的日常運維工作其實就是與文件打交道的事,如何能夠快速而有效地找到我們需要的文件呢?這是個令人頭疼的問題。幸運是,Linux為用戶提供了強大的查找工具——find。find通過遍歷指定路徑完成文件查找,它的的工作特點: 精確查找——多查詢條件組合,精確匹配; 實時查找——遍歷指定路徑; 查找速度稍慢——由于需要遍歷路徑,速度…

    Linux干貨 2016-08-18
  • 千里眼–用NFS和Samba實現共享網頁文件

     目的:使用網絡文件系實現LAMP的分步式資源共享 配置過程– 搭建nfs服務器:(centos 6.8) 安裝yum install mysql-server nfs-utils httpd #這里安裝httpd是為了方便后面共享文件的屬主屬組定義 啟動nfs服務 #service nfs start  mkdir /dat…

    2017-04-30
  • CentOS系統啟動流程

    概述:系統啟動流程是Linux一個重要的內容,深入了解啟動流程會對我們學習Linux起到一個順水推舟的作用。因為CentOS 7改動較大,所以下面的內容只是針對CentOS 5和6來說的。下面進入正題。 啟動流程:  第一步:POST加電自檢    此過程的就是為了檢測一下外界的硬件設備是否能夠正常運行,如CPU,內存設備,硬盤…

    Linux干貨 2016-09-13

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-27 15:18

    條理清晰,知識點全面,很優秀的文章,標題有問題哦,DNS,nds?細心點哦

欧美性久久久久