我的博客:http://wqmsl.blog.51cto.com/ 制作人:wqmsl

问题: 1、辅助DNS不同步(修改主serial值)

  2、允许指定的辅助DNS复制数据allow-transfer 语句,指定哪个client可以    来复制我的zone文件,这个参数也可以放在options字段,放options全局有效

   3、主服务器重启服务立即与辅助DNS服务器进行数据同步(zone中添加also- notify { 辅助DNS IP地址; };或者在全局options中声明,可以使用notify yes;)

  4、view(智能DNS)问题

  5、转发服务器的配置

    6、缓存服务器的配置

目的:搭建各种DNS服务器,包括如下:台主DNS服务器、辅助DNS服务器、DNS正 向区域的委派、反向区域的委派、智能DNS主机、缓存DNS服务器、转发DNS服务器。

一、IP说明:

192.168.0.3——主机名:dns1.wqmsl.com   域:wqmsl.com     主DNS服务器

192.168.0.2——主机名:dns2.wqmsl.com   域:wqmsl.com   辅助DNS服务器

192.168.0.5——主机名:dns.bj.wqmsl.com  域:bj.wqmsl.com   被192.168.0.3委派DNS

二、前期准备

   更改主机名称:1、hostname更改,2、hosts更改,3、/etc/sysconfig/network

配置如上所述的IP地址和主机DNS地址。

第一部分  主DNS搭建

所需软件包

1、bind-9.3.3-10.el5.i386.rpm
2、bind-libbind-devel-9.3.3-10.el5.i386.rpm
3、bind-sdb-9.3.3-10.el5.i386.Rpm

4、caching-nameserver-9.3.3-10.el5.i386.rpm

5、bind-devel-9.3.3-10.el5.i386.rpm

6、bind-chroot-9.3.3-10.el5.i386.Rpm(注意:bind-chroot软件包最后一个安装,否则肯能会报错)

开始搭建

我们可以使用yum以及rpm两种安装的方法安装组件

配置好yum光盘源之后(关于yum源配置请看“yum本地光盘源及VSFTP源搭建”)

RHEL 5.4 RHCE253 DNS学习笔记_笔记

注意:另外也可以使用rpm安装方式,但是可能会出现依赖关系,一个一个安装即可。

在rhel5.4中采用了chroot安全机制,保护DNS数据不被入侵和盗用,所以在rhel4中DNS的/var/named的工作目录变成如下,

RHEL 5.4 RHCE253 DNS学习笔记_笔记_02

如图所示,rhel5.4 DNS的工作目录是/var/named/chroot

配置文件在/var/named/chroot/etc下,区域文件在/var/named/chroot/var/named/下

然后做如下操作:

RHEL 5.4 RHCE253 DNS学习笔记_休闲_03

添加 -a(-p) 的参数可以把原文档的所有属性全部复制,连同属组和属主。

编辑named.conf文档

RHEL 5.4 RHCE253 DNS学习笔记_笔记_04

修改后的文档如上,在这个文档里我们不添加区域信息,所有的区域信息添加到named.rfc1912.zones,这个里面。

下面我们添加正向和反向区域信息,如下

RHEL 5.4 RHCE253 DNS学习笔记_笔记_05

(zone中添加also-notify { 辅助DNS IP地址; };或者在全局options中声明,可以使用notify yes;这样只要主服务器重启DNS服务则发送notify值,辅助服务器则会立即更新区域文件数据),保存并退出。

然后在添加区域文件,如下

RHEL 5.4 RHCE253 DNS学习笔记_休闲_06

在这里一样要加上-a或者是-p的参数,如果被复制的文件的属组不是named的话,DNS的服务会启动失败的。

RHEL 5.4 RHCE253 DNS学习笔记_DNS_07

上面的区域文件里面我记录了bj.wqmsl.com区域的委派,委派到主机名:dns.bj.wqmsl.com

的服务器。

注意:所有FQDN名称的后面都要加“.”。(我的图上截图的时候有的还没有加上“.”)

RHEL 5.4 RHCE253 DNS学习笔记_RHEL_08

重启DNS服务(可以使用service named reload 启动的速度快快点)

RHEL 5.4 RHCE253 DNS学习笔记_DNS_09

这里我们的wqmsl.com的主域名服务器已经配置完了

下面我们来配置辅助域名服务器

第二部分  辅助DNS配置

和主DNS一样,先使用yum或者rpm安装必要的软件包,这里就不说了,看主DNS所安装的包。

同样开始配置辅助域名服务器

复制主配置文件,如下:

RHEL 5.4 RHCE253 DNS学习笔记_笔记_10

主配置文件,配置如下

RHEL 5.4 RHCE253 DNS学习笔记_休闲_11

在"named.rfc1912.zones"添加辅助区域信息如下

RHEL 5.4 RHCE253 DNS学习笔记_笔记_12

每行后面一定要添加“;”,否则启动服务失败。

必须指定

file "slaves/区域文件名称"的位置,这里说的slaves的位置为 /var/named/chroot/var/named/slaves。

重启DNS服务即可

RHEL 5.4 RHCE253 DNS学习笔记_休闲_13

重启之后可以看到slaves目录下已经同步过来了区域文件,现在去主DNS上更改区域文件并更改Serial值,主服务器重启DNS服务,查看辅助DNS的区域文件,你会看到已经同步过来了,这就是在(zone中添加also-notify { 辅助DNS IP地址; };的好处,可以立即同步数据,你可以动态查看日志tail -f /var/log/messages  可以看到,当主服务器的区域文件被修改并重启服务,辅助服务器就会去同步数据。

为了数据的安全起见,我们在主DNS服务器上指定由哪台服务器能够从我这里复制区域文件信息

RHEL 5.4 RHCE253 DNS学习笔记_笔记_14

在全局里面添加 allow-transfer { 辅助DNS的IP地址或者是IP的范围; },也可以添加到zone区域里面,这样,别的服务器就不能复制到本服务器的区域信息了。

第三部分   委派服务器的

在主域服务器dns1.wqmsl.com上添加了委派服务器NS的记录之后,直接在被委派的服务器dns.bj.wqmsl.com上搭建委派给自己的域bj.wqmsl.com ,剩下的就和主域服务器的步骤一样了!

第四部分  测试

主/辅助DNS服务器的DNS指向自己,被委派的服务器的DNS指向主域的IP

目的:主DNS上可以解析到委派DNS的所有记录,在委派的DNS上也可以解析到主域上面的所有记录,这样就成功搭建完了所有的服务器。

最后设置所有的服务器的DNS服务开机自动启动

[root@dns1 named]# chkconfig --level 35 named on

第五部分  常见的问题和注意事项

一、有时候肯能会遇到辅助服务器没有同步区域数据

1、确定你的chroot目录named是否有写入的权限。

2、修改完主DNS的区域文件之后是否也同时修改了版本号,SOA记录的5个参数相互间是由限制的,比如refresh必须比retry 大三倍,具体比例我已经记不得了,以后遇见这个问题,可以自己去查查,serial是自定义的,一般是年月日,最后两位是当天的版本号。    

3、是否主DNS服务器做了限制,默认情况下所有服务器都可以复制主服务器的区域信息,但是添加 allow-transfer { 辅助DNS的IP地址或者是IP的范围; }  参数之后则只有指定的服务器才可以复制本主DNS的区域信息。

第六部分  配置缓存域名服务器

下面我们开始配置缓存域名服务器,缓存域名服务器配置很简单,不需要区域文件,配置好named.conf就可以了

一般电信的DNS都是缓存域名服务器,最要的就是下面两项

forward  only; 指明这个服务器是缓存域名服务器

forwarders { 转发dns请求到那个服务器IP;}  是转发dns请求到那个服务器

这样一个简单的缓存域名服务器就架设成功了,一般缓存域名服务器都是ISP或者大公司才会使用

第七部分  配置文件中的各个参数的详细解释

named.conf主配置文件内容参数详解

1:选项配置如下:
◆ listen-on port 53 { 127.0.0.1; };这个是DNS侦听本机的端口及IP。这里设置表示只侦听127.0.0.1这个地址。如不定义此选项表示侦听所有网络
◆ directory “/var/named”指主配置文件路径,这个路径也是相对路径,它的绝对路径/var/named/chroot/var/named
◆ query-source port 53;客户端在进行DNS查询时必须使用53做为源端口
◆ allow-query { localhost; };允许提交查询的客户端,如不定义此选项表示允许所有查询
◆ allow-recursion {192.168.0.0/24;192.168.0.1/24}:允许提交递归查询的客户端,如不定义此选项表示允许所有
◆ allow-transfer {192.168.0.254;}:允许区域传输的DNS服务器(辅助DNS),不写表示允许所有
◆ forwarders {192.168.0.9;}:转发器
◆ forward only|first:only表示如果在指定的转发器找不到,不会去向根查询,first表示快速转发(默认)

2:定义主配置文件,此部分可有多个,只要求localhost_resolver这个名字不重复
◆ match-clients { localhost; };客户端的源IP
match-destinations { localhost; };解析出的目标IP
recursion yes;如果客户端提交的FQDN本服务器没有,那么服务器会帮助客户端去查询
◆ include “/etc/named.rfc1912.zones”; 指定主配置文件

上面参数中所有指定地址范围(如:listen-on、match-clients等)时都可以多个写法如下:
◆ 单个IP:192.168.0.1;
◆ 网段:192.168.0.0/24;
◆ 指定多个IP:192.168.0.1;192.168.0.2;
◆ 网段:192.168.0.;
还可以使用!表示不包括
◆ none:不匹配所有
◆ any:匹配所有
◆ localhost:DNS主机
◆ localnet:与DNS主机同网段

          区域文件内容详解

$TTL:DNS缓存时间,单位:秒

SOA记录

◆ 主域名服务器:区域的DNS服务器的FQDN
◆ 管理员:管理员的邮件地址中@用.代替
◆ 序列号:区域复制依据,每次主要区域修改完数据后,要手动增加它的值
◆ 刷新间隔:默认以秒为单位,也可如上图中写明时间单位,辅助DNS服务器请求与源服务器同步的等待时间。当刷新间隔到期时,辅助DNS服务器请求源服务器的SOA记录副本。然后,辅助DNS服务器将源服务器的SOA记录的序列号与其本地SOA记录的序列号比较,如果不同,则辅助DNS服务器从主要DNS服务器请求区域传输。这个域的默认时间是900秒
◆ 重试时间:默认以秒为单位,也可如上图中写明时间单位,辅助DNS服务器在请求失败后,等待多长时间重试。通常这个应该短于刷新时间。默认为600秒
◆ 过期时间:默认以秒为单位,也可如上图中写明时间单位,当这个时间到期时,如辅助DNS服务器还无法与源服务器进行区域传输,则辅助DNS服务器会把它的本地数据当作不可靠数据。默认值是86400秒
◆ TTL:默认以秒为单位,也可如上图中写明时间单位区域的默认生存时间和缓存否定应答名称查询的最大间隔。默认值是3600秒

这种记录的写法

NS记录

                区域名        IN       NS         FQDN

A资源记录

                FQDN         IN       A          IP地址

CNAME资源记录

                别名           IN      CNAME     主机名

MX资源记录

                区域名          IN      MX    5     邮件服务器的FQDN名

大多数的操作已经完成,稍后会有

   1、反向区域的委派

   2、智能主机的搭建  

我的博客:http://wqmsl.blog.51cto.com/ 希望大家一起和我学习进步                                       QQ:459176770