概述:
DNS工作在OSI七層參考模型中的應用層,監聽在TCP/UDP的53埠,全球一共有13個根節點DNS伺服器.由於對於當前的IPv4對人們而言就很難記憶,而IPv6正在迅速的蔓延,DNS是Internet的一項核心服務;DNS的工作採用的是分層結構,不用的DNS伺服器負責著不同的域,而整個域名空間的層次結構類似一個倒置的樹,在域名層次結構中,每一層稱作為一個域,每一個域都有一個域名,域又可以進一步劃分成子域,最高層是根,最底層是主機.
查詢分類:
遞歸查詢:發起一次請求就可以得到結果.
迭代查詢:發起n次請求后才可以得到結果.
DNS查詢內容分為:
正向查詢:IP-->FQDN
反向查詢:FQDN-->IP
解析流程:
Client:緩存-->hosts-->dns
Server:1.如果查詢請求是本機所負責區域中的數據的話,要通過查詢區域數據文件返回結果.
2.如果查詢請求不是本機所負責的區域中的數據的話,就查詢緩存.
3.如果緩存中沒有答案,則向根發起查詢請求.
DNS伺服器類型:
主DNS---master
輔助DNS---slave
轉發器---forward
緩存伺服器
DNS資源記錄類型:
●SOA:起始授權記錄,在一個區域內必須是唯一的,定義了區域的全局參數
●NS:名稱伺服器(name server),記錄某個區域的授權伺服器
●MX:郵件交換器(mail exchanger)
●CNAME:別名記錄,也被成為規範名字
●A:正向查找記錄
特徵:
安裝包為:bind.i386
運行的進程:named
服務的協議類型:dns
配置文件:/etc/named.conf
區域文件(工作目錄):/var/named/
註:全局配置文件和工作目錄中的區域配置文件的屬組全部應該是"named"
全局配置文件書寫格式:/etc/named.conf
options { ###options 用於指定BIND服務參數
directory "/var/named"; ###指定其工作目為"/var/named"
};
zone "." IN { ###定義BIND所管轄的區域
type hint; ###類型為hint,只有根的類型為hint
file "named.ca"; ###指定區域配置文件名,此處的"named.ca"為固定寫法,這裡的路徑都是相對路徑,相對於options塊中的directory
};
zone "localhost" IN { ###定義localhost區域
type master; ###類型為master
file "localhost.zone; ###區域文件名.redhat中通常將其命名為localhost.zone
};
zone "0.0.127.in-addr-arpa" IN { ###定義反向區域,將IP地址的所在的網段倒置寫,其中".in-addr-arpa"是固定寫法
type master; ###類型為master
註:在全局配置文件中,除了花括弧的左邊,其他的新行全部都要使用分號";"結尾
區域配置文件的書寫格式:
在BIND中定義資源記錄的基本格式如下:
[名稱] [TTL] [網路類型] 資源記錄類型 數據
名稱:指資源記錄引用的對象名,可以是主機也可以是域名,對象名可以是相對名稱或完整名稱,安正名稱必須使用"."結束.如果連續的資源記錄是同一個對象名,則第一條資源記錄后的資源記錄可以省略對象名.
TTL:指定資源記錄存放在告訴緩存中的時間.
網路類型:指網路類型,通常為"IN"
資源類型:說明資源記錄的類型,通常有"SOA NS MX CNAME A PTR",一般SOA記錄應為整個區域文件的第一行,NS記錄第二行,其他記錄可任意排列.
●SOA:
區域名稱 記錄類型 SOA 主域名伺服器 管理員郵件地址 (序列號 刷新間隔 重試間隔 過期間隔 TTL)
序列號:最多為十位,一般用時間 版本號
刷新時間:指輔助伺服器請求主伺服器同步的等待時間
重試時間:輔助伺服器在請求失敗后等待多長時間重試
過期時間:當這個時間到期后,輔助伺服器還無法於主伺服器進行區域傳輸,則輔助伺服器會把它的本地數據當作不可靠數據
●MX:只出現在正向查找區域文件中,後面也要跟上一個A記錄
區域名 TTL IN MX 優先順序(0-99) 郵件伺服器的A記錄
●CNAME:
別名 TTL IN CNAME 對應A記錄
●A:
FQDN TTL IN A IP地址
●PTR:
IP地址 TTL IN PTR FQDN
編輯全局配置文件:/etc/named.conf
- options {
- directory "/var/named";
- };
- zone "." IN {
- type hint;
- file "named.ca";
- };
- zone "localhost" IN {
- type master;
- file "localhost.zone";
- };
- zone "0.0.127.in-addr.arpa" IN {
- type master;
- file "named.local" ;
- };
- zone "magedu.com" IN {
- type master;
- file "magedu.com.zone";
- };
- zone "16.172.in-addr.arpa" IN {
- type master;
- file "172.16.zone";
- };
編輯對應的區域文件"/var/named/named.ca"
- ; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> -t NS .
- ;; global options: printcmd
- ;; Got answer:
- ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52493
- ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 8
- ;; QUESTION SECTION:
- ;. IN NS
- ;; ANSWER SECTION:
- . 515139 IN NS g.root-servers.net.
- . 515139 IN NS h.root-servers.net.
- . 515139 IN NS i.root-servers.net.
- . 515139 IN NS j.root-servers.net.
- . 515139 IN NS k.root-servers.net.
- . 515139 IN NS l.root-servers.net.
- . 515139 IN NS m.root-servers.net.
- . 515139 IN NS a.root-servers.net.
- . 515139 IN NS b.root-servers.net.
- . 515139 IN NS c.root-servers.net.
- . 515139 IN NS d.root-servers.net.
- . 515139 IN NS e.root-servers.net.
- . 515139 IN NS f.root-servers.net.
- ;; ADDITIONAL SECTION:
- a.root-servers.net. 603239 IN A 198.41.0.4
- a.root-servers.net. 603239 IN AAAA 2001:503:ba3e::2:30
- b.root-servers.net. 603240 IN A 192.228.79.201
- e.root-servers.net. 603220 IN A 192.203.230.10
- f.root-servers.net. 603220 IN A 192.5.5.241
- f.root-servers.net. 603220 IN AAAA 2001:500:2f::f
- m.root-servers.net. 603244 IN A 202.12.27.33
- m.root-servers.net. 603244 IN AAAA 2001:dc3::35
也可已使用命令:
#dig -t NS . > /var/named/named.ca
編輯對應的正向解析區域文件"/var/named/localhost.zone"
- $TTL 600
- @ IN SOA localhost. admin.localhost. (
- 2012030601
- 20M
- 5M
- 5D
- 1D )
- localhost. IN NS localhost.
- localhost. IN A 127.0.0.1
編輯對應的反向解析區域文件"/var/named/named.local"
- $TTL 600
- @ IN SOA localhost. admin.localhost. (
- 2012030601
- 20M
- 5M
- 5D
- 1D )
- @ IN NS localhost.
- 1 IN PTR localhost.
編輯對應的正向解析區域文件"/var/named/magedu.com.zone"
- $TTL 600
- $ORIGIN magedu.com.
- @ IN SOA dns.magedu.com. admin.magedu.com. (
- 2012030701
- 20M
- 5m
- 5D
- 1D )
- IN NS dns
- IN NS ns
- mail IN MX 10 mail
- dns IN A 172.16.100.1
- ns IN A 172.16.100.1
- mail IN A 172.16.0.1
編輯對應的反向解析區域文件"/var/named/172.16.zone"
- $TTL 600
- @ IN SOA dns.magedu.com. admin.magedu.com. (
- 2012030701
- 20M
- 5m
- 5D
- 1D )
- IN NS dns
- IN NS ns
- 1.100 IN PTR dns.magedu.com
- 1.100 IN PTR ns.magedu.com
- 0.1 IN PTR mail.magedu.com
到此記得將這些文件的屬組修改為named,之後DNS的初始配置就完成了!
#chown :named /var/named/*
本文出自 「向陽草●米奇」 博客,請務必保留此出處http://grass51.blog.51cto.com/4356355/798875
[火星人 ] Linux伺服器篇------DNS(1)已經有391次圍觀