DNS转发笔记(基于CentOS7)

DNS全局转发

情况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; };
  };
  1. 如果仅设置“forwarders”,则在无法联系转发器时,就会尝试自己解析,即转发到根服务器迭代查询实现解析(如果配置有根zone)。
  2. 如果想服务器在联系不到转发器时不进行多余操作,则可以加上“forward only; ”(如下:);这样如果联系不上转发器是,服务器将只查询权威解析和本地缓存的解析。
  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中定义转发域:

  zone "区域名称" IN {
  # 区域的类型为转发
	type forward;
  # 指明转发器是谁
  forwarders { ip; };
  # only表示仅转发,first表示先进行转发,如果没查询到结果,那么它自己还会根据根提示向外迭代查询
	forward only|first;
  };

举例

  zone "test.com" {
  type forward;
  forwarders { 192.168.2.3;192.168.2.4; };
	forward first;
  };

如上,我们可以将某个域的解析直接转发到其权威服务器上,可以实现快速解析。