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,如需轉載請自行聯系原作者