DNS解析與Bind的使用(7)——子域授權、轉發及訪問控制列表配置
十四、Bind軟件的子域授權
全球網絡的DNS服務器都是由多級所構成的,每一臺主機通過域名服務找到所要訪問的主機IP地址都是通過一層層DNS服務器找到的。而這樣的結構就決定了,上級域名服務器必須具備找到子域的能力,例如tianxia.com.這個域名,在頂級域com.下就必須要找到tianxia.com.這個子域。所以上級域名服務器就必要在解析庫文件中定義子域。
定義子域的方法,就是在域名解析庫文件中定義一個子域的NS記錄,然後再給這條NS記錄定義一條A記錄即可。例如在tianxia.com.這個域名下定義一個zg.tianxia.com.這個子域。
exp:
$TTL 1D $ORIGIN tianxia.com. @ IN SOA @ admin.tianxia.com. ( 2017101601 2H 10M 1D 1W ) IN NS ns1 IN NS ns2 zg IN NS ns1.zg //子域定義 zg IN NS ns2.zg //子域定義 ns1.zg IN A 2.2.2.2 //子域定義 ns2.zg IN A 2.2.2.3 //子域定義 ns1 IN A 1.1.1.1 ns2 IN A 1.1.1.2 www IN A 1.1.1.3 web IN CNAME www
當任何主機申請解析zg.tianxia.com.這個域時,當前域名服務器就會返回zg.tianxia.com.域的域名服務器IP地址。
十五、域名服務器轉發定義
正常情況下,當域名服務器無法在本地解析域名時,會向根域名服務器申請叠代查詢。如果希望在本地沒有查詢到,而轉向指定服務器進行查詢時,就必須定義域名服務器的轉發。需要註意的是被轉發的域名服務器必須允許為當前服務器做遞歸。
域名服務器定義轉發規則還分為兩種轉發,第一種為區域轉發,第二種為全局轉發。
◆區域轉發
區域轉發實際上就是轉發對某特定區域的解析請求,例如在子域zg.tianxia.com.這個子域下配置對tianxia.com.域名的解析全部轉發到tianxia.com.域名服務器中
exp:
zone "tianxia.com." IN { type forward; forward { first }; forwarders { 192.168.5.130; }; };
配種中,type類型必須定義為forward;forward類型可定義為first或者only,first表示首先轉發,當轉發的服務器不響應時,自行去叠代查詢,only表示僅轉發;forwarders類型定義需要轉發到的域名服務器IP地址。
◆全局轉發
全局轉發主要針對除本地沒有通過zone定義的區域查詢請求,全部轉發給某服務器。實際上這是對域名服務器的一個全局定義,所以應該配置在/etc/named.conf中。格式為
exp:
options { ... forward {first|only}; forwarders { SERVER_IP; }; ... }
十六、訪問控制列表配置
bind軟件中為了進行相關的安全配置,設置了訪問控制列表,由acl關鍵字來定義。acl訪問控制列表實際上就是將一個或多個地址歸並一個命名的集合,隨後通過此名稱即可對此集合內的所有主機實現統一調用。訪問控制列表的定義規則:
acl acl_name{
ip1;
net/prelen;
...
}
exp:
acl tianxia_net{ 192.168.5.121; 1.2.3.0/24; };
在bind軟件中默認有四個內置的訪問控制列表,分別是none、any、local、localnet,分別表示沒有主機、所有主機、本機、本機所在的網絡。
常用的使用訪問控制列表的指令有:
allow-query {};定義用於查詢的主機
allow-transfer {};定義允許向哪些主機做區域傳送
allow-recursion {};定義允許哪些主機向當前DNS服務器發起遞歸查詢請求
allow-update {};定義允許動態更新區域數據庫文件中的內容
本文出自 “海之濱的博客” 博客,請務必保留此出處http://haizhibin.blog.51cto.com/13403510/1977575
DNS解析與Bind的使用(7)——子域授權、轉發及訪問控制列表配置