状况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