天天看点

Linux下DNS服务器配置

 DNS服务器配置

一、DNS概述:DNS 是域名系统 (Domain Name System) 的缩写,是一种组织域层次结构的计算机和网络服务命名系统。它的作用是:把域名转换成为网络可以识别的 IP 地址,查询结果保存起来,并告诉给客户端。

二、DNS查询过程

   DNS的查询过程是指在客户端是通过DNS服务器将一个IP地址转化为一个FQDN、将一个FQDN转化为一个IP地址或查询一个区域的邮件服务器的过程。

   1.按查询方式分类DNS查询

   a.递归查询:当DNS服务器接收到查询请求时,要么做出查询成功响应,要么做出查询失败的响应。递归查询一般发生在DNS客户端与DNS服务器之间。

   b.迭代查询:DNS服务器根据自己的高速缓存或区域的数据,以最佳结果响应。如果DNS服务器无法解析,它可能返回一个指针。指针指向有下级域名的DNS服务器,继续该过程,直到找到拥有所查询名字的DNS服务器,或直到出错、超时为止。迭代查询一般发生在DNS服务器之间。

   2.按查询内容分类DNS查询

     a.正向查询;域名--》IP

     b.反向查询:IP----》域名

三、DNS安装

1.配置yum本地源,采用组安装方式

<a href="http://blog.51cto.com/attachment/201210/213522840.png" target="_blank"></a>

2.不要忘了也需要安装caching-nameserver

<a href="http://blog.51cto.com/attachment/201210/213531468.png" target="_blank"></a>

四、应用案例 

DNS配置排错方式:

   1.检测主配置文档 named-checkconf 后跟主配置文档路径及名字

例:当前在/var/named/chroot/下,named-checkconf etc/named.conf

   2.区域文件的检测工具 named-checkzone  域名 区域文件的路径及名字

例:当前在/var/named/chroot  named-checkzone a.com  var/named/a.com.db

   3.最狠的一招,查看日志文件(/var/log/messages),根据相信你一定能够找到错误的原因。

另外在注意在测试时一定要将防火墙关闭,

1.主要作用域与辅助作用域

 配置参数:域名为a.com. 

          IP

IP0

     1)复制主配置文件,并对其进行如下配置

<a href="http://blog.51cto.com/attachment/201210/213543548.png" target="_blank"></a>

    在主配置文件中一定要加上主dns的数据可以传输到指定dns服务器上(辅助区域)

<a href="http://blog.51cto.com/attachment/201210/231246828.png" target="_blank"></a>

2)编辑named.rfc1912.zones文件,如下图进行添加:

<a href="http://blog.51cto.com/attachment/201210/213607250.png" target="_blank"></a>

3)复制区域文件模板,并对其进行修改

<a href="http://blog.51cto.com/attachment/201210/214205705.png" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201210/213817965.png" target="_blank"></a>

4)重启dns服务

<a href="http://blog.51cto.com/attachment/201210/213835139.png" target="_blank"></a>

5)至此,主区域基本配置完成。

6)辅助区域的文件基本和主区域的配置一样,就是不再需要在options块中加allow-transfer {};,编辑named.rfc1912.zones文件,如下图进行添加:

一定要将默认的"allow-update {none;}; "项,即将允许更新删除,还有就是文件的存放位置,也可以存放在其他目录中,但必须保证存放的目录的所有者和拥有组是named,否则BIND将无法将从主要区域传输的DNS信息写入文件中。

<a href="http://blog.51cto.com/attachment/201210/213849351.png" target="_blank"></a>

7)启动dns服务,你会发现在slaves下生成了a.com.db文件,注意其值的大小,与后面还要做比较,

<a href="http://blog.51cto.com/attachment/201210/213915274.png" target="_blank"></a>

     9)将测试机的dns设为辅助dns,

    10)用nslookup来测试,发现新添加记录并没有正确解析,因为dns设置的refresh刷新时间为2分钟,过一段时间后,就可以看到slaves下的a.com.db文件已经增大了,而且那几条记录

也已经添加到辅助区域的区域文件内了。 

<a href="http://blog.51cto.com/attachment/201210/214047599.png" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201210/214105403.png" target="_blank"></a>

2.转发与委派

    实验描述:某公司其总部在北京,主域名为:qq.com,北京的子域bj.qq.com也建在主域的dns服务器,而要想远在上海的子域sh.qq.com也能够正常解析主区域的域名,则要通过转发而在北京的主机想通过主DNS查询到子域的域名则需要通过委派来实现,实验示意图如下:

   注:1)转发:

  a.完全转发:将客户端所有DNS查询以递归的方式转发到指定DNS服务器,

  b.条件转发:将指定DNS后缀的查询转发到指定的DNS服务器;

       2)委派:在BIND中可以将某个子域的查询工作委派给别一个DNS服务器完成。

<a href="http://blog.51cto.com/attachment/201210/212722419.png" target="_blank"></a>

配置过程:

1)如案例一中一样修改dns主配置文件,并在named.rfc1912.zones文件中做如下添加:

<a href="http://blog.51cto.com/attachment/201210/212737310.png" target="_blank"></a>

2)添加区域文件,并做如下修改,主域qq.com:

<a href="http://blog.51cto.com/attachment/201210/232221317.png" target="_blank"></a>

北京子域bj.qq.com:

<a href="http://blog.51cto.com/attachment/201210/232414872.png" target="_blank"></a>

3)重启dns,至此dns的主区域基本配置完成,以下为上海子域DNS的配置:

4)为子域设置转发,在主配置文件添加"forwareders {192.168.142.2; };"实现完全转发:

<a href="http://blog.51cto.com/attachment/201210/212810279.png" target="_blank"></a>

也可以在named.rfc1912.zones中添加如下图中的语句,实现条件转发:

<a href="http://blog.51cto.com/attachment/201210/212838671.png" target="_blank"></a>

5)测试,修改测试机2IP为192.168.142.6/24,DNS改为192.168.142.20,即子域的DNS

<a href="http://blog.51cto.com/attachment/201210/212901914.png" target="_blank"></a>

6)用nslookup查看如下图:

<a href="http://blog.51cto.com/attachment/201210/212917445.png" target="_blank"></a>

7)委派配置,在主区域的区域文件内添加如下语句,即将对sh.qq.com域的查询委派给上海子域192.168.142.20,

<a href="http://blog.51cto.com/attachment/201210/212935603.png" target="_blank"></a>

8)测试,修改测试机1的IP为192.168.142.5,DNS为主DNS:192.168.142.2

<a href="http://blog.51cto.com/attachment/201210/212948218.png" target="_blank"></a>

9)在cmd下用nslookup来测试如下图:

<a href="http://blog.51cto.com/attachment/201210/213002797.png" target="_blank"></a>

10)测试正常实验结束。

注:以上案例中为简化实验步骤,均没有配置反向作用域,对于反向作用域的理解,以后会单独说明。

3.反向区域的配置

  实验参数:正向区域为abc.com, 所在IP段为192.168.142.0/24,

            DNS服务器IP:192.168.142.20

            添加www主机192.168.142.8,

 1)正确修改主配置文件,

<a href="http://blog.51cto.com/attachment/201210/173908904.png" target="_blank"></a>

2)并编辑named.rfc1912.zones,添加如下语句(正向与反向):

<a href="http://blog.51cto.com/attachment/201210/173917938.png" target="_blank"></a>

3)复制模板文件并进行编辑,

<a href="http://blog.51cto.com/attachment/201210/173925407.png" target="_blank"></a>

正向区域文件abc.com.zone如下图:

<a href="http://blog.51cto.com/attachment/201210/173945959.png" target="_blank"></a>

反向区域文件142.168.192.zone如下图:

<a href="http://blog.51cto.com/attachment/201210/173954169.png" target="_blank"></a>

4)测试区域文件的语法,并重启服务:

<a href="http://blog.51cto.com/attachment/201210/174002660.png" target="_blank"></a>

5)测试,把测试机IP地址做如下修改:

<a href="http://blog.51cto.com/attachment/201210/174024303.png" target="_blank"></a>

6)在cmd用nslookup命令如下图进行:

<a href="http://blog.51cto.com/attachment/201210/174035165.png" target="_blank"></a>

7)测试正常,实验结束。

本文转自 刘园  51CTO博客,原文链接:http://blog.51cto.com/colynn/1030126

继续阅读