您的位置:首页 > 其它

设DNS服务器——单纯的 forward DNS …

2016-02-23 17:56 78 查看
原文地址:http://bbs.itjmz.com/read.php?tid-26917.html

· 什么是单纯的 forward DNS 的主机呢?

  好了,了解了 BIND 的预设路径之后,我们知道了主要设定档是 /etc/named.conf 这个档案,但是偏偏我的 /etc
底下就没有这个档案!哈哈!因为你要自行建立啦! ^_^!在介绍怎么设定每一个 zone 之前,我们先来玩一个简单的 DNS 主机!就是
cache-only DNS server !也称为 forward DNS 啰!顾名思义,这个 DNS server 只有
cache ( 快取 )
的功能,也就是说,他本身没有设定档,完全是由对外的查询来提供他的资料来源!因为他没有设定档,所以他就必须要连上一部合法的 DNS
才行!整个运作的流程可以看成是这个样子:

  由上面的图标来看,你可以发现,其实,我们 Client 端虽然都是使用 Cache-Only 的 DNS 再搜寻,但是,实际上
Cache-only 的主机都是请一个 ( Forwarders ) DNS 主机来帮忙查询的,本身并没有设定档ㄋㄟ!所以说,基本上,
cache-only 的 DNS 只是一个中间传递资料的 DNS 主机罢了!那么为什么要架设这样的一个 DNS
主机呢?闲闲没事干?当然不是!这是有原因的啦!底下说给你听啰!

· 什么时候使用 cache-only DNS?

  在某些公司行号里头,为了预防员工利用公司的网络资源作自己的事情,所以都会规定 Internet
的联机上面相当的严格,所以说,有的时候,连自己都会被挡住!自然,这个 port 53
也就同样的,可能被挡住啦!那么我们知道说,如果没有 port 53 这个 DNS ,那么自然就无法解析出 hostname 对应 IP
啰!是的!怎么办?这个时候,您可以在『防火墙的那部机器上面,加装一个 cache-only 的 DNS
服务!』这是什么意思呢?很简单啊!就是你自己利用自己的 firewall 与 DNS 去帮你的 Client 端解译 hostname
<--> IP 啰!因为 firewall 可以设定放行自己的 DNS
外出,而 Client 端的 DNS server IP 就设定自己的 firewall ,哈哈!这样就可以取得转译啦!

· 简易的 cache-only DNS 设定:

  设定一个 cache-only 的 DNS 主机其实真的很简单的啦!因为不需要设定正反解的 Zone
,所以只要设定一个档案即可!真是快乐得不得了吶!

 

1. 编辑 /etc/named.conf

  在这个档案中,主要是定义跟主机有关的事项,以及各个 Zone 的代表含意与档案,因为 cache-only 没有 Zone
,所以我们只要设定好跟主机有关的设定即可。设定这个档案的时候请注意:

 

· 批注资料是以『 // 』来作设定的!

· 每个段落之后都需要以『 ; 』来做为结尾!

 

  那么你可以这样设定这个档案啦!

· opti***** 的内容指的是在主机内的主要设定值,里头的设定为:

· pid-file 指的是每一个 services 的记录自己的 PID ( Process ID )
的档案啰!这个档案通常用在重新激活或者是 reload 整个 services 最常被使用到的!因为可以使用 kill -1 PID
来重新激活啊!嗄!忘记什么是 PID ?赶快 回去 复习一下!

· forwarders (不要忘记那个 s 喔!)就是要设定往前寻找的那个『合法』的 DNS 啰!每一个 forward 的主机之
IP 都需要有『 ; 』来做为结尾!

· forward only:这个设定可以让你的 DNS 主机仅进行 forward 而已!是 Cache-Only
主机最常见的设定了!

 

  很简单吧!这样就已经设定完成了最简单的 cache-only 的 DNS 主机了!

 

2. 激活 named

  激活总不会忘记吧!?赶快去激活一下吧!

3. 观察 port 的变化

  请特别的注意喔!并不是激活的时候显示 OK 就会成功的!所以,还要赶快的来看一下你的 port 53 有没有激活

  特别需要留意的是,如果没有指定接口的话,那么所有的网络接口,包含 lo, eth0, ... 等接口都会被设定为可以接受
domain name 要求的响应接口!此外,还记得我们在前面提到的,每个接口同时都会提供 TCP 与 UDP
封包的服务喔!这样看起来似乎真的有激活的样子,不过,我们还是得瞧一瞧设定方面有没有什么大问题呢?

 

4. 检查 /var/log/messages 的内容讯息

named 这个服务的记录文件就直接给他放置在 /var/log/messages 里面啦,所以来看看里面的几行吧!

  呵呵!看起来似乎是没有问题的样子了!好了!那么就直接来测试看看吧!

 

5. 测试( 请观看 Client 端的测试项目 )

· Forwarders 的好处与问题分析

  关于 forwarder 的好处与坏处,其实有很多种的意见!大致的意见可分为这两派:

 

利用 Forwarder
的功能来增进效能的理论:这些朋友们认为,当很多的下层 DNS 主机都使用 forwarder 时,那么那个被设定为 forwarder
的主机,由于会记录很多的信息记录,因此,对于那些下层的 DNS
主机而言,会增快很多,亦即会节省很多的查询时间!基本上,这些基本的流程可以看成如下图所示:

所有的 cache-only 都设定 forwarder
为『主 DNS 主机』那一部,则由于主 DNS
主机已经记录了较多的信息了(每个人都来要求嘛!)所以,当其它人来要求相同的查询资料时,则主 DNS 那部机器将会直接由其 cache
当中读取,因此,查询效率就变快了!

 

利用 Forwarder
反而会使整体的效能降低:但是另外一派则持相反的见解!这是因为当主 DNS 本身的『业务量』就很繁忙的时候,那么你的
cache-only 主机还向他要求资料。那么因为他的数据传输量太大,频宽方面可能负荷不量,而太多的下层 DNS
又向他要求资料,所以他的查询速度会变慢!因为查询速度变慢了,而你的 cache-only
主机又是向他提出要求的,所以自然两边的查询速度就会同步下降!

 

  很多种说法啦!本人也觉得很有趣哩!只是不知道哪一派较正确就是了
>_<"" ,不过可以知道的是,如果上层的 DNS
速度很快的话,那么他被设定为 forwarder 时,或许真的可以增加不少效能哩!
[
此帖被wuzhaoxia在2008-12-23 19:32重新编辑 ]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: