天天看點

DNS常見資源記錄類型詳解

網際網路通路絕大多數都是基于域名的通路,網際網路通路的基礎是基于IP來實作的,是以,需要有一種将域名解析成IP的機制,讓使用者在利用域名通路時,自動将域名轉換成為對應的IP,這就是DNS的功能。

DNS的基礎概念​

DNS:Domain Name Service,基于C/S模式的域名解析服務,應用層協定;監聽在53/udp,53/tcp端口;TCP用來區域傳送; UDP用來解析。

區域(zone)和域(domain)​

區域是實體概念,域是邏輯概念。

比如:sfn.cn.這個域

FQDN–>IP:

正向解析庫和正向解析的功能,就是一個正向解析區域。

 IP–>FQDN:

反向解析庫和反向解析的功能,就是一個反向解析區域。

一般而言,一個域分為正向解析區域和反向解析區域,但是單純的域卻不一定比區域大,因為父域的區域,可能就比子域的域要大。

區域資料庫檔案​

主要由資源記錄(RR,resource record)組成。

常見資源記錄類型:SOA、NS、MX、A、AAAA、PTR、CNAME。

SOA:start of authority,起始授權記錄,一個區域解析庫有且隻能有一個SOA記錄,且必須放在所有資源記錄的第一條。

NS:name service,域名服務記錄,一個區域解析庫可以有多個NS記錄,一個NS記錄表示一台DNS伺服器,其中一個為主的,其餘的為輔的。

MX:mail exchanger,郵件交換器,用于标明域内郵件伺服器的位址的記錄,MX記錄可以有多個,其MX記錄有優先級的概念,優先級 0-99,數字越小,優先級越高。

A:address,位址記錄,也就是從FQDN–>IPv4

AAAA:address,位址記錄,從FQDN–>IPv6

PTR:pointer,主要用于實作IP–>FQDN

CNAME:别名記錄。

資源記錄的定義格式​

文法:NAME [TTL] IN RR_TYPE  VALUE

SOA記錄:​

NAME:目前區域的名字,例如:sfn.cn.  或者如果是反向區域,則 1.168.192.in-addr.arpa.

VALUE:有多部分組成

<1>目前區域的區域名稱(也可以使用主DNS伺服器名稱);

<2>目前區域的管理者的郵箱位址,但位址中不能使用@符号,一般用點号.來替代;

<3>主從服務的協調屬性的定義以及否定答案的緩存時長,整個内容要用()括号括起來,每行内容之後可以用;分号表示後面的都是注釋資訊。

完整的SOA記錄定義示例:

sfn.cn. 86400  IN SOA  sfn.cn.  admin.sfn.cn  (

2016091801   //代表序列号,不能超過10位

2H           //代表從伺服器向主伺服器同步資料的重新整理時間間隔,此處表示2小時

10M          //表示聯系不上主伺服器時,從伺服器再次聯系主伺服器時的間隔時間,10分鐘

1W           //表示過期時間,也就是伺服器始終聯系不上主伺服器時的最長等待時間,也就是此時間一過,就判定主伺服器故障,然後從伺服器也停止服務,1周

1D           //表示否定答案的緩存時長,1天

 )

NS記錄:​

可有多個NS記錄,一個NS記錄對應一個DNS伺服器,每個NS記錄應該有一個對應的A記錄。

NAME:目前區域的區域名稱

VALUE:目前區域的某DNS伺服器的名字,例如ns1.sfn.cn

例如:

sfn.cn.  86400  IN  NS  ns1.sfn.cn.

sfn.cn.  86400  IN  NS  ns2.sfn.cn.

MX記錄:​

MX記錄可以有多個,一個MX記錄對應一個郵件伺服器,每個記錄的VALUE之前應該有一個數字,用于表示其優先級,數字越小,優先級越高。每個MX記錄應該有一個對應的A記錄。

NAME:目前區域的區域名稱

VALUE:目前區域某郵件伺服器的主機名

例如:

sfn.cn.  IN  MX  5  mail1.sfn.cn.

sfn.cn.  IN  MX  20  mail2.sfn.cn.

A記錄:

FQDN–>IPv4

NAME:某FQDN,如:web.sfn.cn.

VALUE:某IPv4位址

例如:

web.sfn.cn.  IN  A  1.1.1.1

web.sfn.cn.  IN  A  1.1.1.2

bbs.sfn.cn.  IN  A  1.1.1.2

一個主機名額可以有多個IP,一個IP也可以有多個主機名          

*.sfn.cn.  IN  A   10.1.32.1

表示将前面沒有單獨定義的都解析到10.1.32.1

sfn.cn.  IN   A    10.1.32.1

表示當使用者通路域名前不帶任何字元時,也即是直接通路sfn.cn.時解析到的位址是10.1.32.1

$GENERATE 1-254  server$   IN   A   1.1.1.$

表示将server1.sfn.cn.  解析的位址為1.1.1.1

server2.sfn.cn. 解析的位址為1.1.1.2

server3.sfn.cn.  解析為1.1.1.3

….

server254.sfn.cn.  解析為1.1.1.254

同理:

$GENERATE 5-20  test$   IN   A   1.1.1.2$

表示将test5.sfn.cn.  解析的位址為1.1.1.25

test6.sfn.cn. 解析的位址為1.1.1.26

test7.sfn.cn.  解析為1.1.1.27

….

test20.sfn.cn.  解析為1.1.1.220

AAAA記錄:

FQDN–>IPv6位址,定義方式與A記錄類似

PTR記錄:​

反向解析記錄

NAME:IP位址,有特定格式,IP反過來寫,而且要加特定字尾,如:192.168.1.2的記錄應該寫成2.1.168.192.in-addr.arpa。

VALUE:為FQDN

例如:

2.1.168.192.in-addr.arpa.  IN PTR  bbs.sfn.cn.

CNAME記錄:​

别名記錄

FQDN格式的别名;

VALUE:FQDN格式的正式名稱

例如:

web.sfn.cn.  IN CNAME www.sfn.cn.

表示web.sfn.cn.是www.sfn.cn.的别名

注意:

<1>TTL值可以從全局繼承,不用每個記錄都單獨定義

繼續閱讀