Chinaunix首页 | 论坛 | 博客
  • 博客访问: 86418
  • 博文数量: 52
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -20
  • 用 户 组: 普通用户
  • 注册时间: 2018-06-04 17:51
文章分类

全部博文(52)

文章存档

2013年(6)

2012年(3)

2011年(4)

2010年(18)

2009年(21)

我的朋友

分类: LINUX

2010-12-21 17:13:04

实验环境说明

                操作系统     主机名    网卡数量          IP               用途
 --------------------------------------------------------------------------------------------------
                RHEL5         ns1       1块        192.10.10.5/24         主DNS
 --------------------------------------------------------------------------------------------------
              Centos5.5       ns2       1块        192.10.10.55/24        辅助DNS
 --------------------------------------------------------------------------------------------------
               Xp          Xp_client    1块        192.10.10.10/24        内网客户端 
 --------------------------------------------------------------------------------------------------
        以上,先用ping命令测试确保网络连通性


一、在RHEL5上检查构建DNS所需的安装包

[root@ns1 ~]# rpm -qa |grep bind*
bind-utils-9.3.3-7.el5  #提供对DNS服务器的测试用的工具,如nslookup,dig等
bind-chroot-9.3.3-7.el5 #为bind提供一个伪装根目录以增强安全性
bind-9.3.3-7.el5        #构建DNS的主要程序包

[root@ns1 ~]# rpm -qa |grep caching-name*
caching-nameserver-9.3.3-7.el5   #为实现缓存DNS服务器提供必要的配置文件


BIND的主配置文件为named.conf,RHEL5和Centos5.5的/etc和/var/named/chroot/etc下默认没有此文 件,需要手动建立,也可以从/usr/share/doc/bind-9.3.3/sample/etc/下复制BIND的主配置样本文件到/var /named/chroot/etc下。
named.conf配置文件中主要包括全局配置和区域配置部分,全局配置部分包括在"options { };"的大括号中;而区域配置参数在"zone { };"中。

二、为提高域名解析效率,需要将主从DNS的地址写入到/etc/hosts,同时在/etc/resolv.conf文件中指定主从DNS地址。

[root@ns1 named]# cat /etc/hosts   #将主从DNS地址写入到hosts文件中
# Do not remove the following line, or various programs
# that require network functionality will fail.
192.10.10.5    ns1.tgh.com  ns1
192.10.10.55    ns2.tgh.com  ns2

[root@ns1 named]# cat /etc/resolv.conf #将主从DNS地址写入到resolv.conf文件中
search tgh.com
nameserver 192.10.10.5
nameserver 192.10.10.55

[root@ns1 ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=ns1.tgh.com    #设置主机名
GATEWAY=192.10.10.1

三、手动创建BIND主配置文件

[root@ns1 ~]#vi /var/named/chroot/etc/named.conf   #使用vi创建并编辑BIND主配置文件named.conf
#全局配置参数
options { 
     listen-on port 53 { any; };  #设定监听端口号、IP地址;若注释此行,则在所有的可用IP地址上监听服务,any为监听所有
     directory  "/var/named/";             #此行不能注释,指定区域数据库文件存放位置
     allow-query  { any; };                  #允许DNS查询的客户端地址,any表示所有都可查询
     recursion yes;                            #设置允许递归查询
};
#区域配置参数
zone "." IN {                    #设置根区域
        type hint;               #区域类型,hint表示根域、master表示主域、slave表示辅助域
        file "named.ca";         #对应的根域地址数据库文件名
};

zone "tgh.com" IN {                     #设置正向DNS区域名称
      type master;                      #区域类型为主域
      file "tgh.com.zone";              #正向区域的地址数据库文件名
      allow-transfer { 192.10.10.55; }; #设置允许下载区域数据库信息的从域名服务器地址
      allow-update { none; };           #设置允许动态更新的客户端地址为禁止
};
zone "10.10.192.in-addr.arpa" IN {      #设置反向DNS区域名称
      type master;                      #区域类型为主域
      file "192.10.10.arpa";            #反向区域的地址数据库文件名
      allow-transfer { 192.10.10.55;};  #设置允许下载区域数据库信息的从域名服务器地址
      allow-update { none; };
};
:wq! #保存退出!

[root@ns1 etc]#chmod 755 named.conf #给予相关权限,不然在启动named时会报错
[root@ns1 etc]# ll named.conf   #查看区域配置文件的属性
-rwxr-xr-x 1 root root 780 Nov 24 07:37 named.conf

[root@ns1 ~]# named-checkconf /var/named/chroot/etc/named.conf   #检查主配置文件是否存在语法错误,注意指定路径哦

四、手动创建BIND的区域数据库配置文件

[root@ns1 ~]# vi /var/named/chroot/var/named/tgh.com.zone   #创建正向区域数据库文件,注意文件名及路径

$TTL 86400     #设置有效地址解析记录的默认缓存时间
@ IN SOA tgh.com. admin.tgh.com. (    #设置SOA标记、域名、域管理邮箱
            2010112001             #更新序列号,用于标记地址数据库的变化,可以是10位以内的整数
            4H                     #刷新时间,从域名服务器更新该地址数据库文件的间隔时间
            15M                    #重试时间,从域名服务器更新地址数据库失败后,等待多长时(15 Minutes)间再次尝试
            1W                     #失效时间,超过该时间(1 Week)仍无法更新地址数据库,则不再尝试
            1D                     #设置无效地址解析记录的默认缓存时间(1 Day)
)
@    IN   NS   ns1.tgh.com.      #NS为域名服务器记录,用于设置当前域的DNS服务器的域名地址,注意名称后都有"."
@    IN   NS   ns2.tgh.com.
     IN   MX 5 mail.tgh.com.    #MX邮件交换记录,用于设置当前域的邮件服务器域名地址,数字表优先级,越大越低
ns1  IN   A    192.10.10.5       #A地址记录,用于记录正向域名解析
ns2  IN   A    192.10.10.55
www  IN   A    192.10.10.5
www  IN   A    192.10.10.4       #此处假设一个域名对应多个IP,可以实现基于DNS解析的负载均衡   
mail IN   A    192.10.10.5
ftp  IN   A    192.10.10.5
sz   IN  CNAME www              #CNAME别名记录,表示sz.tgh.com是的别名,可以通过nslookup sz.tgh.com查看到
*    IN   A    192.10.10.5      #当一个IP对应大量不同域名时,用作泛域名解析
:wq! #保存退出!
[root@ns1 ~]# vi /var/named/chroot/var/named/192.10.10.arpa   #创建反向区域数据库文件,注意文件名及路径

$TTL 86400
@      IN SOA tgh.com. admin.tgh.com. (
             2010112001
             4H
             15M
             1W
             1D
)
@      IN NS   ns1.tgh.com.    #注意名称后有"."
@      IN NS   ns2.tgh.com.
5      IN PTR  ns1.tgh.com.
55     IN PTR  ns2.tgh.com.
5      IN PTR  .   #PTR指针记录,第一列为主机地址
4      IN PTR  .   #此处对应正向区域数据库中的假设一个域名对应多个IP
5      IN PTR  mail.tgh.com.
5      IN PTR  .

:wq! #保存退出!

五、给予相关权限,启动named服务,并关闭防火墙

[root@ns1 named]# chmod 755 tgh.com.zone   #给予相关权限
[root@ns1 named]# chmod 755 192.10.10.arpa #给予相关权限
[root@ns1 ~]# service named restart   #重新启动named服务
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

[root@ns1 etc]# service iptables stop #关闭防火墙,不然客户端不能正常解析
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]

[root@ns1 ~]# chkconfig  --level 35 named on   #将named服务设为开机自启动

[root@ns1 ~]# chkconfig --list  named   #查看是否在3 5开启
named           0:off   1:off   2:off   3:on    4:off   5:on    6:off

[root@ns1 data]# netstat -anp |grep :53  #查看named端口状态

六、验证主域名服务器
[root@ns1 ~]# nslookup   #启用nslookup查询
>
Server:         192.10.10.5
Address:        192.10.10.5#53

Name:  
Address: 192.10.10.5
> mail.tgh.com
Server:         192.10.10.5
Address:        192.10.10.5#53

Name:   mail.tgh.com
Address: 192.10.10.5
> sz.tgh.com
Server:         192.10.10.5
Address:        192.10.10.5#53

sz.tgh.com      canonical name = .
Name:  
Address: 192.10.10.5

> 192.10.10.5   #反向解析
Server:         192.10.10.5
Address:        192.10.10.5#53

5.10.10.192.in-addr.arpa        name = .
5.10.10.192.in-addr.arpa        name = ns1.tgh.com.
5.10.10.192.in-addr.arpa        name = .
5.10.10.192.in-addr.arpa        name = mail.tgh.com.

在客户端XP_client上(注:客户端的DNS应该为192.10.10.5)

C:\Documents and Settings\tghfly>nslookup #正向解析
Server: 
Address:  192.10.10.5

Name:   
Address:  192.10.10.5

C:\Documents and Settings\tghfly>nslookup sz.tgh.com  #对设置的别名进行正向解析
Server: 
Address:  192.10.10.5

Name:   
Address:  192.10.10.5
Aliases:  sz.tgh.com

C:\Documents and Settings\tghfly>nslookup 192.10.10.5  #反向解析
Server:  mail.tgh.com
Address:  192.10.10.5

Name:   
Address:  192.10.10.5
----------------------------------------------------------------------------------------------------
七、在Centos5.5上使用bind构建辅助域名服务器

1、同样设置好主机名、/etc/hosts 、/etc/resolv.conf文件

[root@ns2 network-scripts]# cat /etc/resolv.conf
nameserver 192.10.10.5
nameserver 192.10.10.55

[root@ns2 network-scripts]# cat /etc/hosts  
# Do not remove the following line, or various programs
# that require network functionality will fail.
192.10.10.5  ns1.tgh.com
192.10.10.55 ns2.tgh.com

[root@ns2 network-scripts]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=ns2.tgh.com
GATEWAY=192.10.10.1

2、在辅助域名服务器上建立BIND主配置文件named.conf

[root@ns2 ~]# vi /var/named/chroot/etc/named.conf

options {
        allow-query  { any; };
        directory "/var/named";
 recursion yes;
};
zone "tgh.com" IN {
     type slave;    #使用辅助区域类型
     masters { 192.10.10.5; };   #指定主域名服务器的IP地址
     file "slaves/tgh.com.zone"; #从主域名服务器上下载的地址数据库文件保存到辅助域名服务器的slaves目录下
};
zone "10.10.192.in-addr.arpa" IN {
      type slave;
      masters { 192.10.10.5; };
      file "slaves/192.10.10.arpa";
};

:wq! #保存退出

3、给予相关权限,启动named服务,并关闭防火墙
[root@ns2 ~]# chmod 755 /var/named/chroot/etc/named.conf

[root@ns2 ~]# service named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

[root@ns2 ~]# service iptables stop
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: nat filter                [  OK  ]
Unloading iptables modules:                                [  OK  ]

[root@ns2 ~]# chkconfig  --level 35 named on

[root@ns2 ~]# tail -f /var/log/messages  #查看区域数据库文件下载记录
Nov 27 14:37:18 ns2 named[5463]: zone tgh.com/IN: Transfer started.
Nov 27 14:37:18 ns2 named[5463]: transfer of 'tgh.com/IN' from 192.10.10.5#53: connected using 192.10.10.55#53041
Nov 27 14:37:18 ns2 named[5463]: zone tgh.com/IN: transferred serial 2010112001
Nov 27 14:37:18 ns2 named[5463]: transfer of 'tgh.com/IN' from 192.10.10.5#53: end of transfer
Nov 27 14:37:18 ns2 named[5463]: zone tgh.com/IN: sending notifies (serial 2010112001)
Nov 27 14:37:19 ns2 named[5463]: zone 10.10.192.in-addr.arpa/IN: Transfer started.
Nov 27 14:37:19 ns2 named[5463]: transfer of '10.10.192.in-addr.arpa/IN' from 192.10.10.5#53: connected using 192.10.10.55#49613
Nov 27 14:37:19 ns2 named[5463]: zone 10.10.192.in-addr.arpa/IN: transferred serial 2010112001
Nov 27 14:37:19 ns2 named[5463]: transfer of '10.10.192.in-addr.arpa/IN' from 192.10.10.5#53: end of transfer
Nov 27 14:37:19 ns2 named[5463]: zone 10.10.192.in-addr.arpa/IN: sending notifies (serial 2010112001)

4、在客户端XP_client上测试(注:客户端的DNS应更改为192.10.10.55)

C:\Documents and Settings\Administrator>nslookup
Default Server:  ns2.tgh.com
Address:  192.10.10.55

>
Server:  ns2.tgh.com
Address:  192.10.10.55

Name:   
Address:  192.10.10.5

> mail.tgh.com
Server:  ns2.tgh.com
Address:  192.10.10.55

Name:    mail.tgh.com
Address:  192.10.10.5

> sz.tgh.com
Server:  ns2.tgh.com
Address:  192.10.10.55

Name:   
Address:  192.10.10.5
Aliases:  sz.tgh.com
备注:当客户端不能通过辅助域名服务器解析时,可试试将slaves目录中的地址数据库文件删除,重新启动named获取。
阅读(1503) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~