狀況1:在DNS服務器的配置中,若是採用默認的配置,其實效率是較低的,由於默認狀況下,咱們全部的非權威解析都會被髮送到根服務器進行迭代查詢。若是採用轉發,如將咱們的DNS解析請求轉發到一些公共DNS服務器上,因爲公共DNS服務器上緩存了大量的解析,所以能較原始的迭代查詢快。
說明:實現對非權威解析(已緩存的除外)都轉發到特定DNS服務器
配置:
在主配置文件/etc/named.conf的全局選項中添加以下內容:緩存
options { # 指明轉發器是誰 forwarders { ip; }; # only表示僅轉發 # first表示先進行轉發,若是沒查詢到結果,那麼它本身還會根據根提示向外迭代查詢 forward only|first; }; ---------------------
舉例:服務器
options { …… forwarders { 202.96.134.133;8.8.8.8; }; };
options { …… forwarders { 202.96.134.133;8.8.8.8; }; forward only; };
狀況2:某單位有個總部DNS服務器,下屬各部門又有本身的DNS服務器,總的服務器由單位總部進行維護,各部門的DNS本身進行維護。單位全部終端的IP地址和DNS地址由總的DHCP服務器進行下發,而且DNS爲總部的DNS地址,當須要解析部門的域名時,能夠經過總部的DNS進行區域轉發,完成DNS查詢。
說明:從BIND9.1開始,引入轉發區(forward zone ),容許查詢特定區域時,將其轉發到指定DNS服務器上。
配置:
在區域置文件/etc/named.rfc1912.zone中定義轉發域:ide
zone "區域名稱" IN { # 區域的類型爲轉發 type forward; # 指明轉發器是誰 forwarders { ip; }; # only表示僅轉發,first表示先進行轉發,若是沒查詢到結果,那麼它本身還會根據根提示向外迭代查詢 forward only|first; };
舉例:code
zone "test.com" { type forward; forwarders { 192.168.2.3;192.168.2.4; }; forward first; };
如上,咱們能夠將某個域的解析直接轉發到其權威服務器上,能夠實現快速解析。ip