1、DNS服務器子域受權的實現bash
一般本身架設DNS服務器給本身使用的公司都是內部有特殊需求,或者公司內部域名較多,爲了方便之後的管理而架設。咱們知道一個域名就是一個區域,通常每一個區域都會有專人負責管理,當一個公司人員足夠多時,這時就會有劃分子域給下級部門管理的需求。在一個區域下劃分子域,並給子域指定一個新的DNS服務器,這種方法是能夠實現的,咱們一般稱這種劃分子區域的方法爲子域受權。
服務器
實例:給wubinary.com域名劃分一個blog.wubinary.com的子域。bind的安裝配置及主DNS服務器的架設再也不此討論網絡
一、首先架設一個主DNS服務器,編輯/var/named/wubinary.com.zone文件,主DNS服務器的IP爲192.168.0.6,資源記錄數據文件以下:ide
$TTL 600 @ IN SOA dns.wubinary.com. dnsadmin.wubinary.com. ( 2014031203 2H 4M 1D 2D ) @ IN NS dns.wubinary.com. @ IN NS ns2.wubinary.com. @ IN MX 10 mail.wubinary.com. dns IN A 192.168.0.6 mail IN A 192.168.0.12 www IN A 192.168.0.48 ns2 IN A 192.168.0.80 blog.wubinary.com. IN NS dns.blog.wubinary.com. dns.blog.wubinary.com. IN A 192.168.0.2
注意,以上最後兩行爲子域的DNS服務器,只要在主DNS服務器定義好了子域的DNS服務器就等於給子域受權了。測試
二、而後在回到子域的服務器,192.168.0.2上配置子域區域。打開/etc/named.rfc1912.zones文件,在最末尾定義子域的區域。3d
zone "blog.wubinary.com" IN { type master; file "blog.wubinary.com.zone"; };
三、接着再定義子域DNS服務器的資源記錄文件,/var/named/blog.wubinary.com.zone。blog
$TTL 600 @ IN SOA dns.blog.wubinary.com. dnsadmin.blog.wubinary.com. ( 2014031201 1H 5M 3D 1D ) @ IN NS dns.blog.wubinary.com. dns IN A 192.168.0.2 www IN A 192.168.0.78 ftp IN A 192.168.0.23
四、從新啓動兩邊的DNS服務,測試一會兒域受權是否成功。遞歸
主域機器測試:dns
子域機器測試:ip
測試正常,操做成功!
2、DNS服務器域名解析轉發
DNS轉發的意義在於,定向查詢,一臺DNS服務器在獲取到查詢請求時,本身不嘗試解析域名,而轉發查詢請求給指定的DNS服務器實現這次解析操做。假設,咱們如今碰到這麼一種狀況,咱們的DNS服務器是處在一個內網的網段,與外網不能直接通訊,在這個局域網中惟一一個能和外網通訊的是路由器或者其它的DNS服務器。那麼若是咱們想要實現經過這臺局域網的DNS服務器查詢解析外網的域名,就要用到轉發的功能了。
轉發能夠用參數forwarders和forward實現:
forwarders { IP_ADDR1; IP_ADDR; ...}; forward { only|first };
參數說明:
forwarders:用於定義轉發的服務器的IP地址,能夠寫多個,用分號隔開。
forward:用於定義轉發的操做,only爲只做轉發操做,有結果則返回結果,沒有結果則什麼操做也不做;first爲先做轉發操做,若是沒有結果則去遞歸查找。
全局和區域:
這兩個參數能夠放在全局定義,也可放在區域定義,也能夠兩個同時使用,但無論怎樣,放在區域的優先權更高。若是用於特定區域則把轉發定義在區域內,若是用於全局,則把轉發定義在全局。
轉發實例:讓上面的區域wubinary.com能夠實現解析外網的域名。
一、區域wubinary.com所設的DNS服務器爲局域網的IP地址,不能夠解析外網域名。
二、由上圖能夠看出wubinary.com區域不能解析51cto.com的NS記錄,咱們添加一個轉發功能。
編輯/etc/named.conf文件,添加轉發ip 192.168.0.1
三、修改完成後,重啓服務,測試一下,能夠解析了,轉發成功!
說明:有的時候,若是咱們事先已經知道了某個區域DNS服務器的地址,爲了避免讓當前DNS服務器向根查詢結果,那麼咱們就能夠直接使用轉發,向當前DNS服務器指定一個地址,讓它查詢直接向這個地址請求,這樣作的好處能明顯的提升響應速度。
3、DNS中的訪問控制列表
有的時候咱們需要在DNS配置文件中指定n個IP地址,若是全都寫在一塊兒的話,每塊地方都要寫一次,那麼至關麻煩,若是使用一個參數定義那一片的IP地址,那麼管理起來就至關方便了,這個就是DNS中的ACL,bind支持的訪問控制表。
格式:
acl ACL_NAME { 172.16.0.0/16; 192.168.0.0/24 127.0.0.0/8; ... ... };
在全局選項中定義ACL,給每一個ACL取一個名字,這樣之後每次引用,只須在填定IP地址的地方填寫那個變量就好了。在bind中有幾個事先定義好的ACL:
any: 任何主機 none: 無一主機 local: 本機 localnet: 本機的所在的網絡