1、DNS概述
1)作用、層次結構、查詢過程
2)DNS服務器類型
緩存域名服務器:也叫緩存服務器,提供域名解析記錄的緩存,提高查詢速度和效率
主域名服務器:也叫權威名稱服務器,維護某一特定DNS區域的數據庫,是該區域的權威服務器
從域名服務器:也叫輔助域名服務器,提供備份,其區域文件從主域名服務器拷貝而來
注:主、從域名服務器只是針對某一特定DNS區域而言的,對不同的區域可能有不同角色
2、BIND域名服務
BIND(Berkeley Internet Name Daemon)伯克利Internet域名服務
1)相關軟件包
bind-9.3.3-7.el5.i386.rpm 提供域名服務的主程序
bind-utils-9.3.3-7.el5.i386.rpm 提供測試工具程序
bind-libs-9.3.6-4.P1.el5_4.2 提供bind、bind-utils需要使用的庫函數
bind-chroot-9.3.3-7.el5.i386.rpm 提供僞裝目錄
caching-nameserver-9.3.3-7.el5.i386.rpm 提供樣例文件
注:cache-nameserver軟件包實際上只是提供了一些配置樣例文件,熟悉的話也可以不安裝該軟件包
2)安裝
rpm -ivh /mnt/iso/Server/bind-9.3.4-6.P1.el5.i386.rpm
rpm -ivh /mnt/iso/Server/caching-nameserver-9.3.4-6.P1.el5.i386.rpm
服務名:named
監聽端口:53
主配置文件:/etc/named.conf
區域數據文件:/var/named
3、主配置文件/etc/named.conf
主配置文件用於設置全局選項、註冊區域及訪問控制等參數,包括全局配置和區域配置
#cp –a /etc/named.caching-nameserver.conf /etc/named.conf
1)全局配置
設置監聽地址/端口、區域數據文件的默認位置、允許使用DNS服務的網段等
例:
options {
listen-on port 53 { any; };
directory "/var/named"; ---- directory項是必須的,其他都可以省略
allow-query { any; };
forwarders { 218.2.135.1; 8.8.8.8; }; -----配置轉發器
};
2)區域配置
設置DNS區域,包括域名、服務器角色、區域數據文件名等
hint表示根域、master表示主域、slave表示從域
例:
zone "benet.com" IN { -----關鍵字IN可以省略
type master;
file "benet.com.zone";
allow-transfer { 192.168.1.2; }; -----允許下載區域數據的從域名服務器
};
zone "1.168.192.in-addr.arpa" IN { -----由倒序的網絡地址和.in-addr.arpa組成
type master;
file "benet.com.arpa";
allow-transfer { 192.168.1.2; };
};
注:①每一條配置記錄都以分號結尾
②檢查主配置文件:named-checkconf –z /etc/named.conf
③named服務默認以用戶named身份運行,拷貝named.conf時需要保留權限和歸屬,或手動修改權限
4、區域配置文件/var/named/
區域數據文件用於存放DNS區域的地址解析記錄,包括TTL配置項、SOA、地址解析記錄
@符號表示當前的DNS區域名,相當於benet.com
凡是不以點號結尾的名稱,系統都會自動加上當前域名作爲後綴
注:①cp -a /var/named/localdomain.zone /var/named/benet.com.zone
②檢查區域配置文件:named-checkzone benet.com benet.com.zone
③基於DNS解析的負載均衡:同一個域名對應多個不同的IP地址,輪詢負載均衡
④泛域名解析:同一個IP地址對應多個不同的域名,只需添加一條主機地址爲“*”的A記錄即可
⑤子域委派(子域授權):將子域的解析工作交給其他DNS服務器完成
5、配置
1)構建緩存域名服務器
2)構建主域名服務器
3)構建從域名服務器
注:①根區域hint不允許被傳輸
②下載的區域文件保存到/var/named/slaves/目錄中
③從域名服務器的區域名必須與主服務器相同,但區域文件名可以與主服務器上名稱不同
4)構建分離解析的域名服務器
即根據不同的客戶端提供不同的域名解析記錄,例:對同一個域名www.benet.com分別爲內網和外網用戶提供不同的域名解析記錄
match-clients { 192.168.1.0/24; };
注:①需要關閉iptables,客戶端才能正常解析域名
②tail /var/log/messages