【DNS入门学习】之DNS转发功能

举报
anna 发表于 2017/11/25 15:02:21 2017/11/25
【摘要】 在/etc/named.conf中可以在options段中使用forwarders和forward指令设置DNS转发: options { forwarders {   192.168.1.110;   192.168.1.112;   };  forward first; }; forwarders {    DNS_IP_1;    DNS_IP_2;    }; forwarders指令用

在/etc/named.conf中可以在options段中使用forwarders和forward指令设置DNS转发:
options {
forwarders {
  192.168.1.110;
  192.168.1.112;
  };
 forward first;
};

forwarders {
   DNS_IP_1;
   DNS_IP_2;
   };
forwarders
指令用于设置将DNS请求转发到哪个服务器,可以指定多个服务器的IP地址。

forward first | only;
forward
指令用于设置DNS转发的工作方式:
forward first
设置优先使用forwarders DNS服务器做域名解析,如果查询不到再使用本地DNS服务器做域名解析。
forward only
设置只使用forwarders DNS服务器做域名解析,如果查询不到则返回DNS客户端查询失败。

 

1、完全转发:当DNS服务器收到查询请求的时候会先看看是不是查询本域的信息,本地缓存是否有数据,如果不能使用本地数据解析DNS会将查询请求发送给转发器,此时是以递归查询的方式发送给转发器的,而在标准的DNS解析中,DNS服务器将以迭代查询的形式发送给另一个DNS服务器。

    所谓的 forwarder,就是当某一台 NS 主机遇到非本机负责的 zone ( slave zone 也属于本机负责的范围) 查询请求的时候,将不直接向 "." zone 查询,而把请求转交给指定的 forwarder (一台或多台) 主机代为查询。我们知道,当DNS服务器接到客户端主机的查询请求时,首先会检查这个查询是否属于本机管辖,否则将转向 "." zone 再逐级的查询下去,最后再把查询结果告诉客户端。在这个过程之中,DNS服务器还会将查询到的结果存放到缓存中。只要缓存中的 TTL 没过期,在下次遇到同样查询的时候,就可以直接将结果响应给客户端,而无需再重复上次的查询流程。如果DNS服务器上指定了forwarder,那这个DNS发现缓存中没有记录时,将不向 "." 查询,而是向 forwarder 送出同样的请求(转发),然后等待查询结果,即把逐级往下查询这个耗费精力的动作,交给 forwarder 负责。但无论这个结果是自己直接查询得来的,还是 forwarder 送回来的,DNS服务器都会保存一份数据在缓存中。这样,以后的相同查询就快多了,这对于DNS所服务的客户端而言查询效率会提高很多。
   当forwarder没有返回答案时,奔DNS会自己去远端请求。但是如果配置了forward only;   则他仅仅处理转发,而不自己查询。


2
、部分转发(只转发解析某个域的DNS):假设有两个域,a.com和b.com,a.com这个域是经过授权(向上级注册,也就是.com知道他的存在)的,而b.com这个域没有经过授权,此时如果a.com中的一台主机要访问www.b.com就会出现访问不了,但是如果a.com知道b.com这个域的DNS主机是谁,即便b.com没有经过授权,这时a.com的DNS可以设一个部分转发,将本域所有要求解析b.com域的请求全部都发给b.com这个域的DNS主机就可以了。
部分转发一般用于访问未经授权的DNS域。配置格式
zone “b.com” IN {
 type forward;
 forwarders {IP;};

 }

 

注意:
1.转发服务器的查询模式必须允许递归查询,否则无法正确完成转发
2.转发服务器列表如果是多个DNS服务器,则会依次尝试,直到获得查询信息为止
3.配置区域委派时,如果使用转发服务器,有可能会产生区域引用的错误


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。