DNS基礎



DNS(Domain Name Server)域名解析服務php


www.baidu.com 稱爲FQDN(Full Qualified Domain Name)徹底限定域名又叫作主機名mysql


baidu.com(域名) .com(域明) sql


Nsswitch:爲多種須要進行解析的機制提供一個名稱解析的平臺;如端口--服務(80--http、23--telete、ssl--2二、https--44三、php--9000、mysql--3306等),root--rootID等數據庫

注:Nsswitch僅僅提供了一個平臺,而不是本身進行解析緩存


Nsswitch框架經過/etc/nsswitch.conf配置文件進行展現安全

如:hosts: files dns 表示進行域名解析時先找/etc/hosts文件,若是沒有在查找DNS服務器服務器


通常來講應用程序經過Nsswitch品臺調用libnss_files.so和libnss_DNS.so這兩個庫進行域名解析框架


stub resolve(名稱解析器)這個程序會在Nsswitch.conf文件中根據配置找files和dns進行解析分佈式


例:ide

ping www.baidu.com

  1. stub resolve 會先根據nsswitch.conf中的files找/etc/hosts文件

  2. 若是不能找到www.baidu.com的IP,則找DNS服務器進行解析


IANA(互聯網地址分配機構)

ICANN(管理頂級的域,名稱)


IANA和ICANN有本身的DNS服務器,並且它採起向下受權和分佈式數據庫進行DNS的管理


. 表明根域,全球共有13臺根服務器 a.root-server.net -- m.root-server.net(亞洲只有日本有一臺)


.net .org .com .cn 這些屬於頂級域


baidu 163 google 這些屬於二級域名


www 通常爲主機名,全球叫www的主機名太多了


頂級域又有:


國家域: .cn , .hk , .jp等


組織域: .com,.org, .net等


反向域:將ip 轉換爲FQDN


注:. .com .net 這些DNS服務器爲了安全通常來講不給任何人進行DNS查詢(不進行遞歸),且通常來講上級只知道它的直接下級是誰,而下級只知道根


遞歸: A找B,B在找C,B從C出獲得結果在返回給A

迭代: A找B,B讓A找C,A去找C獲得結果


而對DNS查詢來講:從客戶端到DNS服務器(本地NS)爲遞歸,而從本地NS日後爲迭代


例:st.ibm.com. 要找 www.baidu.com.的IP

  1. st先去找本地的NS

  2. 本地NS收到st的請求後去找.

  3. .將.com的IP告訴st本地的NS

  4. st本地的NS去找.com

  5. .com將baidu的NS的IP告訴st的NS

  6. st本地的NS去找baidu的NS

  7. baidu的NS知道本身管理着一臺叫www的主機,從而將www.baidu.com.的ip和ttl返回給st的NS

  8. st的NS將www.baidu.com的IP返回給st.ibm.com這個主機




DNS服務器:

  1. 接受本地客戶端的查詢請求(進行遞歸操做)

  2. 接受外部客戶端請求本地管理的客戶端的IP(即外部客戶端請求本地NS的權威答案)

    注:只有本地NS知道本地管理的服務器的IP(即權威答案)

      而權威答案有分爲:確定答案(本地有你要找的主機)+ttl;否認答案(本地沒有你找的主機)+ttl(防止不斷的強求問本地NS有沒有它找的主機)

  3. 接受外部的非權威答案(本地主機請求的不是本地的NS,而是其餘外部的NS)



主從DNS:主DNS服務器--進行數據修改

從服務器:請求主DNS服務器進行數據同步


此外還有

緩存DNS服務器:只緩存DNS解析,不提供任何權威答案


轉發器:不提供任何權威答案,也不進行DNS解析緩存,只進行請求的轉發

如:有一個主機要請求

www.baidu.com的ip,但它既不能上網也連不到本地的NS,這是隻能先將DNS解析請求轉發的轉發器,再由轉發器將請求轉發到本地NS,獲得結果後在將結果轉發給這臺主機




數據庫中DNS資源的記錄格式


Name    TTL  IN  RRT(資源記錄類型) Value


資源記錄類型又分爲

A: FQDN--> IPV4

AAAA: FQDN-->IPV6

PTR(pointer):IP-->FQDN 反向解析


www.zxl.com. 600  IN  A   1.1.1.1 這是一個正向解析的A記錄



1.1.1.1     600  IN  PTR   www.zxl.com 這是一個反向解析


NS(Name Server)管理一個或者多個域: zone name --> FQDN

注:每一個NS類型的記錄都要有一個A記錄


例:


baidu.com.   600  IN   NS  ns.baidu.com

ns.baidu.com.  600  IN  A   2.2.2.2


MX(mail exchange)郵件記錄:zone name -->FQDN

注:MX記錄也要有A記錄,且MX記錄有優先級(0--99),數字越小級別越高(即最早找這臺主機)


例:

google.com.    600  IN  MX  10(優先級爲10) mail.google.com.

mail.google.com  600  IN  A              3.3.3.3


SOA(start of authority):標示一個區域中主從服務器之間如何同步數據及起始受權對象是誰


Zone Name  TTL   IN  SOA  FQDN  管理員郵箱(  版本號

                                  刷新時間

                                   重試時間

                                   過時時間

                                   否認答案的TTL)




例:


baidu.com.   600  IN   SOA    ns1.baidu.com.   admin.baidu.com(

                                              2017022001

                                              1H

                                              5M

                                              1W

                                              1D)


版本號(2017022001):從服務器每隔一段時間檢查本身與主服務器的版本號,若是不一致就對數據進行跟新


Refresh(1H):刷新時間,告訴從服務器每隔多久檢查一次版本號


Retry(5M):重試時間,若是從服務器超過刷新時間仍然沒法訪問主服務器,則從服務器每隔多長時間再從新訪問一次主服務器


expire(1W):過時時間,過時時間超事後,從仍然鏈接不上主,則從轉換爲主


nagative answer ttl(1D):否認答案的ttl,防止告訴對方本地沒有它要找的主機後,一直不斷的進行詢問



郵箱格式:admin@baidu.com 要寫成 admin.baidu.com


ttl單位: M(分鐘) H(小時) D(天) W(周) 默認爲秒



CNAME(正式名稱|別名記錄): FQDN-->FQDN


例:

www1.baidu.com  600   IN CNAME  www.baidu.com


表示www2的正式名稱爲www,www有一個別名叫www2


DNS的創建(創建兩個區域文件)

正向區域文件

baidu.com.  600   IN   SOA   ns1.baidu.com  admin.baidu.com( 2017022101

                                            1H

                                            5M

                                            1W

                                            1D)

www.baudu.com.     600   IN    A   192.168.139.1


www(簡寫)       600   IN    A   192.168.139.1


反向區域文件


139.168.192.in-addr.arpa  600   IN   SOA   ns1.baidu.com  admin.baidu.com( 2017022101

192.168.139.0網段的反寫                                      1H

                                                     5M

                                                     1W

                                                     1D)

1.139.168.192.in-addr.arpa 600   IN   PTR   www.baidu.com 


1(簡寫)            600   IN   PTR   www.baidu.com



注:A、AAAA、MX只適用於正向,PTR只適合於反向,NS能夠正向也能夠反向,SOA必須爲開始



區域傳送:主DNS的記錄一旦發生改變,馬上通知從DNS服務器進行數據同步(無論是否是剛剛同步完)


區域傳送類型

axfr(徹底區域傳送):從服務器上什麼記錄也沒有,將主的全部記錄都傳送過去

ixfr (增量區域傳送):從服務器只傳送主服務器上發生改變的記錄


區域類型

主區域:master

從區域:slave

提示區域:hint(定義根在哪裏)

轉發區域:forward

相關文章
相關標籤/搜索