1、DNS: Domain Name Service
DNS工作在53端口上,查詢時使用udp協議,傳送時使用tcp協議,全稱域名:稱爲FQDN(Full Qualified Domain Name)
根域:root domain
一級域:top-level domain
二級域:公司、組織、個人使用
主機:
遞歸:A --> B --> C --> D
迭代:A --> B、A --> C、A --> D
DNS工作模式是遞歸和迭代
DNS中的名稱與對應的主機的主機名不要求一樣
一個名稱可以對應多個IP
一個IP上也可以多個名稱
DNS名稱解析:FQDN --> IP、IP --> FQDN
.in-addr.arpa反向解析
域:domain, 區域:zone
正向解析:FQDN --> IP
反向解析:IP --> FQDN
區域解析庫:
資源記錄:rr(resource record)有類型的概念:用於此記錄解析的屬性
SOA: Start Of Authority, 起始授權記錄,一個區域文件只能有一個
NS:Name Server
MX: Mail eXchange, 郵件交換器,MX記錄有優先級屬性(0-99)
A:FQDN --> IP,專用於正向解析庫
PTR: IP --> FQDN,專用於反向解析庫
AAAA:FQDN --> IPv6,專用於正向解析庫
CNAME: Canonical Name,正式名稱
2、負責解析當前域內所有主機的DNS服務器稱之爲權威DNS服務器
查詢過程先查找hosts-->local DNS cache-->DNS server(cache)-->根-->一級域-->主機
由DNS服務器緩存回覆的查詢結果稱之爲非權威應答。
DNS服務器類型
主DNS服務器。一個域內只有一個主DNS,如果有多臺DNS服務器提供解析請求必須告知上級域,並通過輪詢方式接受請求,
緩存服務器
從DNS服務器。
多臺dns服務器解析庫文件同步的過程稱爲區域傳送,
完全區域傳送:axfr。區域傳送爲tcp傳送,查詢時爲udp傳送,第一次傳送時爲全部傳送。之後爲增量傳送。
增量區域傳送:ixfr。
DNS服務器區域傳送爲週期性檢查+通知機制,當主服務器在設定時間內沒有應答,從將不再提供DNS解析功能。
資源記錄類型,任何資源解析庫文件第一條記錄類型必須是SOA,用於標記主DNS服務器
Name [ttl] IN RRType value
Name:區域名稱,可以簡寫@
ttl:響應客戶端後最多緩存多少時間
IN:固定字符
RRType:資源記錄類型
Value:主DNS服務器的FQDN
Mail:郵箱地址,value和mail最後的.不能省略。如www.magedu.com.
():可以表示爲換行符,只要在括號中的都視爲同一行記錄。
Serial namber:解析庫的版本號。不能超過10位,;分號爲註釋信息
Refresh time:週期性同步時間間隔
Retry time:重試的時間間隔,如主服務器沒有應答,多久去查看一次
Expire time:過期時長,如果主服務器超過設定時間內沒有響應,從服務器也不在提供服務。
negative answer ttl ;否定答案的統一緩存時長
例如:@ IN SOA ns.magedu.com. admin.magedu.com. (
serial number ;解析庫的版本號,例如2014080401
refresh time ;週期性同步的時間間隔
retry time ;重試的時間間隔
expire time ;過期時長
negative answer ttl ;否定答案的統一緩存時長
)
NS:name server名稱服務器
Name :區域名稱
Value:DNS服務器的FQDN
例如:@ IN NS ns.magedu.com.
如果有多臺ns服務器,每一個都必須有對應的NS記錄
對於正向解析文件來講,每一個NS的FQDN都應該有一個A記錄
MX:mail exchanger:郵件服務器
Name :區域名稱
Value:DNS服務器的FQDN
例如:
@ IN MX 10 mail.magedu.com.
@ IN MX 20 mail2.magedu.com.
如果有多臺MX服務器,每一個都必須有對應的MX記錄;但各MX記錄還有優先級屬性
對於正向解析文件來講,每一個NS的FQDN都應該有一個A記錄;
A: Address 對於正向解析庫A記錄最爲關鍵
name: FQDN
value: IP
同一個域名可以有多個地址。同一個地址也可以有多個名稱
例如:
www.magedu.com. IN A 1.1.1.1
www.magedu.com. IN A 1.1.1.2
pop3.magedu.com. IN A 1.1.1.3
imap.magedu.com. IN A 1.1.1.3
AAAA: ipv6 IP
CNAME: Canonical Name
name: FQDN
value: FQDN
例如:
www.magedu.com. IN A 1.1.1.5
web.magedu.com. IN CNAME www.magedu.com.
PTR: pointer反向解析
name: 逆向的主機IP地址加後綴in-addr.arpa,例如172.16.100.7/16, 網絡地址爲172.16, 主機地址爲100.7,其name爲7.100.in-addr.arpa.value: FQDN
例如:7.100.in-addr.arpa. IN PTR www.magedu.com.
bind linux上常見的DNS服務器,bind:(bekerley internet name domain)
服務腳本:/etc/rc.d/init.d/named
主配置文件:/etc/named.conf, /etc/named.rfc1912.zones,2個文件組成主配置文件
區域解析庫文件:/var/named/zone_name.zone
安全:
服務進程以系統用戶的身份運行:named, named
可以運行於chroot模型下,即工作jail環境
Dns是協議,named是進程名稱,bind是工具
3、bind的基本配置詳解
泛域名解析:* IN A 1.1.1.1
安裝配置過程:
安裝程序包
修改主配置文件:每個語句解釋都必須以分號結束,否則語法錯誤。
options {
全局配置段;
// directory "/var/named";指定工作目錄
};
zone "ZONE_NAME" IN { 可以指向DNS根
type {master|slave|hint|forward};
file "mageedu.com.zone";
};
logging {
用於指定日誌文件;
}
爲每一個區域提供解析庫
變量的定義
資源記錄
named-checkconf 用於檢查主配置文件語法。
隨機數生成器:
/dev/urandom:先返回熵池中的隨機數,耗盡後會用軟件算法生成隨機數;進程不會阻塞;
/dev/random: 只返回熵池中的隨機數; 隨機數耗盡,進程會被阻塞;
DNS:緩存DNS服務器,不負責解析任何區域信息,緩存客戶請求。
客戶端測試工具host 、nslookup、dig :
host -t RRType NAME [SERVER],例如:host -t NS mageedu.com 192.168.142.8
nslookup
nslookup>
server IP:
set type={A|SOA|NS|MX}
name
dig -t TYPE name @server例如: dig -t AXFR mageedu.com @192.168.142.8
測試反解不使用-t PTR,而使用-x選項
反向區域:
區域名稱爲逆向網絡地址加.in-addr.arpa做後綴
說明:
1、正向解析和反向解析文件中的名稱可以僅使用相對名稱,它們均相對當前區域而言;
2、絕對後綴可以使用$ORIGIN來定義;