DNS(域名系統)
DNS(Domain Name System,域名系統),因特網上作爲域名和IP地址相互映射的一個分佈式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用端口號53。在RFC文檔中RFC 2181對DNS有規範說明,RFC 2136對DNS的動態更新進行說明,RFC 2308對DNS查詢的反向緩存進行說明。
DNS的流程介紹圖可以簡單說明DNS的工作原理
DNS查詢類型:
遞歸查詢
迭代查詢
DNS服務器的類型:
主DNS服務器
輔助DNS服務器
緩存DNS服務器
轉發器
主DNS服務器:維護所負責解析的域內解析庫服務器;解析庫由管理維護;
從DNS服務器:從主DNS服務器或其它的從DNS服務器那裏“複製”(區域傳遞)一份解析庫;
2015042201 序列號:解析庫的版本號;前提:主服務器解析庫內容發生變化,其序列遞增;
2H 刷新時間間隔:從服務器從主服務器請求同步解析庫的時間間隔;
10M 重試時間間隔:從服務器從主服務器請求同步解析庫失敗時,再次嘗試的時間間隔;
1W 過期時長:從服務器始終聯繫不到主服務器時,多久多後放棄從服務器角度,停止提供服務;
常用的資源記錄類型
A 地址 此記錄列出特定主機名的 IP 地址。這是名稱解析的重要記錄。
CNAME 標準名稱 此記錄指定標準主機名的別名。
MX郵件交換器此記錄列出了負責接收發到域中的電子郵件的主機。
NS名稱服務器此記錄指定負責給定區域的名稱服務器。
PTR記住主機名的IP地址,反解之意,IP反過來寫,後追加in-addr.arpa
然後我們做個實例來看一下,
我們直接用yum安裝bind:注意,因爲我們的光盤上就帶有bind的包,所以我們不用下載包了,如果需要下載可以用去官網下載。用rpm 來安裝,具體可以看看rpm的手冊。
可以用yum -qa來查看bind的包
yum install bind bind-utils
也可以用yum install bind*把所有bind的包都裝上
主配置文件:
全局配置:options {}
日誌子系統配置:logging {}
區域定義:本機能夠爲哪些zone進行解析,就要定義哪些zone;
zone "ZONE_NAME" IN {}
注意:任何服務程序如果期望其能夠通過網絡被其它主機訪問,至少應該監聽在一個能與外部主機通信的IP地址上;
緩存名稱服務器的配置:
監聽外部地址即可;
dnssec:
建議測試時關閉dnssec;
主DNS名稱服務器:
(1) 在主配置文件中定義區域
zone "ZONE_NAME" IN {
type {master|slave|hint|forward};
file "ZONE_NAME.zone";
};
定義區域解析庫文件。實例看看
測試命令:dig的使用
dig [-t type] name [@SERVER] [query options]
dig用於測試dns系統,因此,不會查詢hosts文件進行解析;
查詢選項:
+[no]trace:跟蹤解析過程
+[no]recurse:進行遞歸解析
測試反向解析:
dig -x IP @SERVER
模擬區域傳送:
dig -t axfr ZONE_NAME @SERVER
例如:dig -t axfr magedu.com @172.16.100.11
host命令:
host [-t type] name [SERVER]
nslookup命令:
nslookup [-option] [name | -] [server]
$TTL 86400
$ORIGIN 100.16.172.in-addr.arpa.
@ IN SOA ns1.magedu.com. admin.magedu.com. (
2015042201
1H
5M
7D
1D )
IN NS ns1.magedu.com.
IN NS ns2.magedu.com.
11 IN PTR ns1.magedu.com.
11 IN PTR www.magedu.com.
12 IN PTR mx1.magedu.com.
12 IN PTR www.magedu.com.
13 IN PTR mx2.magedu.com.
定義從區域的方法:
zone "ZONE_NAME" IN {
type slave;
masters { MASTER_IP; };
file "slaves/ZONE_NAME.zone";
};