① DNS資源記錄
DNS的internet類中有非常多的資源記錄類型。常用的是SOA記錄、NS記錄、A記錄(IPV6則為AAAA記錄)、PTR記錄、CNAME記錄、MX記錄等。
SOA記錄:start of authority,起始授權機構。該記錄存儲了一系列數據,若不明白SOA記錄,請結合下面的NS記錄,SOA更多的信息見"子域"部分的內容。
格式如下:
alibaba.com. IN SOA dnsserver.alibaba.com. mail.alibaba.com. (
1
3h
1h
1w
1h )
第四列指定了"dnsserver.alibaba.com."為該域的master DNS伺服器。
第五列是該域的管理員郵箱地址,但注意不能使用@格式的郵箱,而是要將@符號替換為點".",正如上面的例子" mail.alibaba.com .",其實際表示的是" [email protected] "。
第六列使用括弧將幾個值包圍起來。第一個值是區域數據文件的序列編號serial,每次修改此區域數據文件都需要修改該編號值以便讓slave dns伺服器同步該區域數據文件。第二個值是刷新refresh時間間隔,表示slave dns伺服器找master dns伺服器更新區域數據文件的時間間隔。第三個值是重試retry時間間隔,表示slave dns伺服器找master dns伺服器更新區域數據文件時,如果聯系不上master,則等待多久再重試聯系,該值一般比refresh時間短,否則該值表示的重試就失去了意義。第四個值是過期expire時間值,表示slave dns伺服器上的區域數據文件多久過期。第五個值是negative ttl,表示客戶端找dns伺服器解析時,否定答案的緩存時間長度。這幾個值可以分行寫,也可以直接寫在同一行中使用空格分開,所以,上面的SOA記錄可以寫成如下格式:
alibaba.com. IN SOA dnsserver.alibaba.com. mail.alibaba.com. ( 1 3h 1h 1w 1h )
前三列是聲明性的語句,表示"alibaba.com."這個域內的起始授權機構為第四列的值"dnsserver.alibaba.com."所表示的主機。第五列和第六列是SOA的附加屬性數據。
每個區域數據文件中都有且僅能有一個SOA記錄,且一般都定義為區域數據文件中的資源記錄。
注意,資源記錄的作用之一是存儲域相關的對應數據,所以第4、5、6列表示的是該SOA記錄所存儲的相關值。
NS記錄:name server,存儲的是該域內的dns伺服器相關信息。即NS記錄標識了哪台伺服器是DNS伺服器。格式如下:
alibaba.com. IN NS dnsserver.alibaba.com.
前三列仍然是聲明性語句,表示"alibaba.com."域內的DNS伺服器(name server)為第四列值所表示的"dnsserver.alibaba.com."主機。
如果一個域內有多個dns伺服器,則必然有主次之分,即master和slave之分。但在NS記錄上並不能體現主次關系。例如:
alibaba.com. IN NS dnsserver1.alibaba.com.
alibaba.com. IN NS dnsserver2.alibaba.com.
表示主機"dnsserver1.alibaba.com."和主機"dnsserver2.alibaba.com."都是域"alibaba.com."內的dns伺服器,但沒有區分出主次dns伺服器。
不少朋友搞不懂SOA記錄,也很容易混淆SOA和NS記錄。其實,僅就它們的主要作用而言,NS記錄僅僅只是聲明該域內哪台主機是dns伺服器,用來提供名稱解析服務,NS記錄不會區分哪台dns伺服器是master哪台dns伺服器是slave。而SOA記錄則用於指定哪個NS記錄對應的主機是master dns伺服器,也就是從多個dns伺服器中挑選一台任命其為該域內的master dns伺服器,其他的都是slave,都需要從master上獲取域相關數據。由此,SOA的名稱"起始授權機構"所表示的意思也就容易理解了。
A記錄:address,存儲的是域內主機名所對應的ip地址。格式如下:
dnsserver.alibaba.com. IN A 172.16.10.15
客戶端之所以能夠解析到主機名對應的ip地址,就是因為dns伺服器中的有A記錄存儲了主機名和ip的對應關系。
AAAA記錄存儲的是主機名和ipv6地址的對應關系。
PTR記錄:pointer,和A記錄相反,存儲的是ip地址對應的主機名,該記錄只存在於反向解析的區域數據文件中(並非一定)。格式如下:
16.10.16.172.in-addr.arpa . IN PTR www.alibaba.com .
表示解析172.16.10.16地址時得到主機名" www.alibaba.com ."的結果。
CNAME記錄:canonical name,表示規范名的意思,其所代表的記錄常稱為別名記錄。之所以如此稱呼,就是因為為規范名起了一個別名。什麼是規范名?可以簡單認為是fqdn。格式如下:
www1.alibaba.com . IN CNAME www.alibaba.com .
最後一列就是規范名,而第一列是規范名即最後一列的別名。當查詢" www1.alibaba.com .",dns伺服器會找到它的規范名" www.alibaba.com .",然後再查詢規范名的A記錄,也就獲得了對應的IP地址並返回給客戶端。
CNAME記錄非常重要,很多時候使用CNAME可以解決很復雜的問題。而且目前常用的CDN技術有一個步驟就是在dns伺服器上設置CNAME記錄,將客戶端對資源的請求引導到與它同網路環境(電信、網通)以及地理位置近的緩存伺服器上。
MX記錄:mail exchanger,郵件交換記錄。負責轉發或處理該域名內的郵件。和郵件伺服器有關,且話題較大,所以不多做敘述,如有深入的必要,請查看《dns & bind》中"Chapter 5. DNS and Electronic Mail"。
關於資源記錄,最需要明確的概念就是它不僅僅用來區分和標識區域數據的類型,還用來存儲對應的域數據。
② DNS中常用的資源記錄有哪些是如何定義的
2、名稱伺服器NS:(Name server):為DNS域標識DNS名稱伺服器,該資源記錄出現在所有DNS區域中。創建新區域時,該資源記錄被自動創建。 3、主機地址A(Adress):該資源記錄與主機名映射到DNS區域中的一個IP地址。 4、指針PTR(Point):該資源記錄與主機記錄配對,可將IP地址映射到DNS反向區域跌主機名。 5、郵件交換器資源記錄MX(Mail Exchange):為DNS域名指定了郵件交換伺服器。