Chinaunix首页 | 论坛 | 博客
  • 博客访问: 647719
  • 博文数量: 32
  • 博客积分: 873
  • 博客等级: 准尉
  • 技术积分: 512
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-24 16:49
文章存档

2012年(1)

2011年(31)

分类: LINUX

2011-08-21 21:51:10

主从DNS的配置:
 
bind.i386                     #DNS服务器端包,用于提供bind服务
bind-sdb.i386                 #用于将DNS的数据放到数据库里面,是DNS的一个驱动
bind-chroot.i386
 
yum install bind           
caching-nameserver.i386       #可以简化用户配置DNS的过程
bind安装完配置文件一般有两个,/etc/named.conf                #DNS主配置文件
                            /etc/rndc.key(或者rndc.conf)  #bind的远程管理辅助工具
数据文件一般放在/var/named 下
 
vim  /etc/named.conf    内容格式如下:
    options {
       directory "/var/named";
    };                            #全局
    zone "." IN {
       type hint;
       file "named.ca";
    };                            #定义到“根” 的解析
    zone "localhost" {
       type master;
       file "localhost.zone";
    };                            #定义自己到自己的正向解析
    zone "0.0.127.in-addr.arpa" IN {
    type master;
        file "named.local";
  };                            #定义自己IP地址到自己主机名的反向解析
 
以上是在配置DNS必须要写的内容,以下就是配置内容中的定义的三个文件的具体配置(named.ca和localhost.zone和named.local):
dig -t NS . > /var/named.ca        #配置named.ca文件
vim /etc/localhost.zone  内容如下:
     @     600     IN   SOA     localhost.           admin.localhost.  (
                                                           2011081601
                                                           1H         #从服务器每隔多久同步一次
                                                           10M
                                                           7D
                                                           1D )        #否定回答的TTL值    
                    IN        NS      localhost.
     localhost.     IN    A    127.0.0.1

......................................................................................

named.local文件如下:
cp localhost.zone  named.local
vim named.local

   @     600     IN   SOA     localhost.           admin.localhost.  (
                                                           2011081601
                                                           1H         #从服务器每隔多久同步一次
                                                           10M
                                                           7D
                                                           1D )        #否定回答的TTL值    
                    IN        NS      localhost.
    1               IN     PTR   localhost.
....................................................................................
以上三个文件建立完毕,但是要注意建完三个文件后要把他们的属组改为named!此时我们已经配好了一个基本的缓存名称解析服务器了

语法检查:
          service named configtest       #检查语法错误
          named-checkconf                #检查主配置文件错误
          named-checkzone                #检查区域文件语法错误(只检查语法错误,不检查逻辑错误)    eg:named-checkzone “localhost” /var/named/localhost.zone
            named-checkzone  "0.0.127.in-addr.arpa" /var/named/named.local
service named start         #启动服务
netstat  -tunl | grep 53
测试我们的缓存服务器是否能用:
dig  -t A
此时假如我们申请了一个域名a.org然后我们想用两台DNS做成主从服务器,那么我们应该如下写:
在named.conf里面加入:
zone "a.org" IN {
   type master;
   file "a.org.zone";
};
然后在/var/named下面建立文件a.org.zone 内容如下:
  $TTL 1200
  @        IN    SOA     ns1.a.org.       admin.a.org. (
                                            2011081601
                                            1H
                                            10M
                                            7D
                                            1D  )
           IN    NS      ns1.a.org.
           IN   NS      ns2.a.org.
           IN    MX  10  mail.a.org.
ns1.a.org.  IN    A       172.16.100.1
ns2.a.org.  IN  A   172.16.100.2
mail.a.org. IN    A       172.16.100.1
.  IN    A       172.16.100.3
bbs.a.org.  IN    CNAME   .
.  IN   A       172.16.100.100
............................................文件建立OK
chown :named a.org.zone           #更改属组
service named reload
host -t NS a.org                  #测a.org的NS的记录
host -t A  a.org                  #测。。。A记录
dig  -t A 

.......................................

dig  -t axfr a.org                 #把a.org的全部记录都显示出来
.......................................
下面是编辑a.org的反向解析记录:
同样是再/etc/named.conf中加入以下内容:
 zone "16.172.in-addr.arpa"  IN {
      type master;
      file "172.16.zone";
  };
.......................................
同样编辑/var/named下文件172.16.zone 内容如下:
   $TTL 1200
  @        IN    SOA     ns1.a.org.       admin.a.org. (
                                            2011081601
                                            1H
                                            10M
                                            7D
                                            1D  )
           IN    NS      ns1.a.org.
           IN   NS      ns2.a.org.
1.100      IN    A       ns1.a.org.
2.100       IN  A   ns2.a.org.
1.100       IN    A       mail.a.org.
100.100     IN    A       .
.  IN   A       172.16.100.100

......................................
named-checkzone "16.172.in-addr.arpa" /var/named/172.16.zone
service named restart
dig -x  172.16.100.2
正向反向都能解析使我们以后做邮件服务器所必须的
.......................................................主DNS服务器建立完毕
以下讲解rndc.conf(DNS的远程配置工具)文件:
rndc-confgen > /etc/rndc.conf        #生成一个rndc.conf 文件
mv /etc/rcdc.key /etc/rcdc.key.bak   #留着备以后用

rndc flush                           #清空服务器缓存

以下是如何测试DNS的响应能力:
ab   :   对apache进行压力测试
yum  install bind
主要是装queryperf 工具
..................................................

dig +recurs -t A             #强行使DNS递归查询

dig +norecurs -t A            #自己去查询(迭代查询)
dig +trace -t A               #以追踪的方式显示解析过程
 
.....................................

以下是做从DNS服务器:
安装过程与主DNS相同,三个文件named.ca 和 localhost.zone和 named.local与主DNS相同
vim /etc/named.conf  增加以下内容:
zone "a.org" IN {
  type slave;
    file "slaves/a.org.zone";
    master { 172.16.100.1; };  
 };                                    #一定要注意格式!!!
......................................
service named restart
tail /var/log/message          #根据日志可以查看到正向数据被同步过来
vim /etc/named.conf         增加以下内容
  zone "16.172.in-addr.arpa"  IN {
       type slave;
       file "slaves/172.16.zone";
       masters { 172.16.100.1; };
};                               #注意格式
service named restart                   #重启服务
vim /var/named/slaves/172.16.zone文件是否同步了主DNS内容
dig -t A @127.0.0.1           #强行要求通过本机来解析

如果想明确指定只允许哪个主机或者哪个网段主机来同步(增加安全性):
zone "a.org" IN {
  type master;
    file "a.org.zone";
    allow-transfer { 172.16.100.2; };         #只允许100.2主机来同步主DNS服务内容  
 };                            
allow-query
allow-rescursion
allow-query
recursion no;
区域类型:
master
slave
hint
forward
 
 
 
 

 

    
    
阅读(2040) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~