天天看點

DNS

DNS and BIND

DNS:Domain Name Service,協定(c/s,53/udp,53/tcp)

BIND:Bekerley Internat Name Domain,ISC(www.isc.org)

TCP:Transmission Control Protocol 傳輸控制協定,面向連接配接的協定;

UDP:user datagram protocl 使用者資料報協定,無連接配接協定

本地名稱解析配置檔案:hosts

/etc/hosts

1.1.1.1 www.test1.com

1.2.2.2 www.test2.com

哈希之後放入記憶體。

--方XX

TOP level Domain:tld

com,edu,mil,gov,net,org,int

dns查詢:

遞歸查詢

疊代查詢

名稱伺服器:域内負責解析本域内的名稱的主機;

根伺服器:13組伺服器

DNS伺服器類型:

主DNS伺服器

輔助DNS伺服器

緩存DNS伺服器

轉發器

主DNS伺服器:維護所負責域内解析庫伺服器

從DNS伺服器:從主DNS伺服器或者其他的從DNS伺服器那裡“複制”(區域傳送)一份解析庫;

序列号:解析庫版本号;前提:主服務解析庫發生變化,序列号要遞增。

重新整理時間:從伺服器從主伺服器請求同步的時間間隔;

重試時長;從伺服器請求失敗,再次嘗試的時間間隔

過期時長:逾時後,從伺服器停止服務

通知機制:主伺服器改變通知從伺服器來同步。

區域傳送:

全量傳送:傳送整個解析庫

增量傳送:傳送解析庫中變化的内容

一次完整的查詢請求經過的流程

client---host--DNS service

local cache ----dns server (recursion遞歸)---server cache --iteration(疊代)--

解析答案:

肯定答案:

否定答案:請求的條目不存在,無法傳回結果

權威答案

非權威答案

資源記錄:Resource Resource,RR

記錄類型:A,AAAA,PTR,SOA,CNAME,MX

SOA:start of authority,起始授權記錄,一個區域解析庫有且僅能有一個SOA記錄,而且必須為解析庫的第一條記錄。

A:internet address

AAAA:FQDN-->IPV6

PTR:PintTeR,IP --> FQDN

NS:NAME SERVER,專用于标明目前區域的DNS伺服器

CNAME:Canonical Name,别名記錄

MX:Mial exchange,右鍵交換器

資源記錄定義的格式

文法:name TTL IN RR_TYPE VALUE 

注意:TTL可以從全局繼承

  @可以引用目前區域的名字

SOA:

Name;目前區域的名字,例如"test.com."

value:目前區域的主DNS伺服器的FQDN,也可以使用目前區域的名字,@

  目前區域管理者的郵箱位址:但位址中不能使用@符号,一般用.替代

  主從伺服器協調屬性

例如

test.com. 86400 IN SOA  kk.test.com. kkadmin.test.com. (

20170817;序列号

2H ;重新整理時間

10M ;重試時間

1W ;過期時間

1D :否定答案的ttl值

)

NS:

name:目前區域的名字

value:目前區域某DNS伺服器的名稱。

注意:一個區域可以有多條NS記錄

test.com. IN NS ns1.test.com.

test.com. IN NS ns2.test.com.

注意:相鄰的兩個資源記錄的name相同,後續的可省略

  對NS記錄而言,任何一個NS記錄後面的伺服器名稱,都應該在後續有一個A記錄

MX:

NAME:目前區域的名字

value:目前區域某郵件伺服器SMTP伺服器的主機名;

注意:value之間有一個0-99的數值表示伺服器優先級。數值越小優先級越高

test.com. IN MX 10 MX1.test.com.

  IN MX 20 MX2.test.com.

對MX記錄而言,任何一個MX記錄後面的伺服器名稱,都應該在後續有一個A記錄

A:

name:某主機的FQDN,例如:www.test.com.

value:主機對應的ip位址

www.test.com. IN A 1.1.1.1

同一個名字可以多個值,輪詢方式響應

www.test.com. IN A 1.1.1.2

www.test.com. IN A 1.1.1.3

同一個值也可以有多個不同的名字

ccc.test.com. IN A 1.1.1.1

避免使用者寫錯名稱時給錯誤答案,可以通過泛域名解析至某特定位址

*.test.com. IN A 1.1.1.4 

test.com IN A 1.1.1.4

AAAA:

name :FQDN

VALUES:IPV6

PTR:

NAME:IP 格式:ip位址反寫,特定字尾:4.3.1.1.in.arpa

VALUE:FQDN

CNAME:

NAME:别名的FQDN

VALUE:正式名字的FQDN

web.test.com. IN CNAME www.test.com.

BIND

域名注冊:

代理商:萬網,新網,godaddy

dns服務:程式包名bind,程式名named

bind

bind-libs

bind-utils

服務腳本:/etc/rc.d/init.d/named

主配置檔案:/etc/named.conf,/etc/named.rfc1912.zones,/etc/rndc.key

解析庫檔案:/var/named

1.一台實體伺服器可以同時為多個區域提供解析;

2.必須要有根區域檔案;

rndc:remote name domain controller 預設與bind在同一台主機,且隻能通過172.0.0.1連接配接named程序;提供輔助性的管理功能

tcp/953端口

主配置檔案:

全局配置:option{}

日志子系統配置:loging{}

區域定義:本機能夠為那些zone進行解析,就要定義哪些zone

zone “Zone_name” in {}

注意:任何服務程式如果希望通過網絡被其他主機通路,至少應該監聽在一個能與外部主機通訊的ip位址上

cp /etc/named.conf{,.bak}

listen-on port 53 {172.16.6.13; 127.0.0.1; }

     本文轉自阿倫艾弗森 51CTO部落格,原文連結:http://blog.51cto.com/perper/1957438,如需轉載請自行聯系原作者

繼續閱讀