DNS BIND配置 配置基本缓存服务器 DNS正向解析 DNS反向解析

 

一. 缓存服务器配置

1.DNS:BIND
    Berkeley Internet Name Domain
    
版本bind97: RPM服务器端包的名字  安装bind-libs    bind-utils
    配置文件 /etc/named.conf
        BIND进程的工作属性
        区域的定义
     

        rndc: Remote Name Domain Controller
        密钥文件 /etc/rndc.key
        配置信息:/etc/rndc.conf
        
    /var/named/
        存放区域数据文件

    /etc/rc.d/init.d/named
        {start|stop|restart|status|reload}
        
    二进制程序:named

bind-chroot:     //一般不安装
    默认:named
        用户:named
        组:named
        
    /var/named/chroot/ 模拟root根目录,防止named进程被劫持,保障服务器安全
        etc/named.conf    主配置文件  options全局选项,对全局生效
        etc/rdnc.key
        sbin/named        
        var/named/    
            named.ca  存放根域dns相关信息
            named.loalhost  本地dns信息
            named.lookback  本地回环地址,反向解析

        
caching-nameserver                
缓存-->主-->从    先配置成缓存服务器,然后主服务器和从服务器


    /etc/sbin/named-checkconfig    检查配置文件语法  
    /etc/sbin/name-checkzone       检查区域文件语法
    /etc/sbin/rndc                    远程控制文件
    
测试工具:
dig: Domain Information Gropher  到域名服务器查找相关信息,客户端工具,测试工具

    -t   指定资源类型
    dig -t NS "."  查找根域的dns服务器信息
    dig -t NS .   @SERVER-NAME 到指定的服务器查找根信息

  dig -t NS mageedu.com  查询指定域的dns服务器

    dig -x IP:           反向查询
    根据IP查找FQDN
host -t RT NAME: 查询名称的解析结果


nslookup:   交互式命令  windows也可以使用
nslookup>
        server IP  通过指定IP查询
          set q=RT   指定查询的资源记录类型
        NAME       指定名字      

DNS:
    监听的协议及端口:
        53/udp
        53/tcp
        953/tcp, rndc   remote  domain  control
        
        
2.缓存服务器文件配置
/etc/named.conf  配置文件语句必须以分号结尾,options是全局选项,花括号前面必须有空格


通用区域定义:
zone "ZONE NAME" IN {
    type {master|slave|hint|forward};   // 定义类型
    file  "对应的区域数据文件"         //相对于/etc/named.conf   options选项中directory的路径
};

例如主区域:
   

zone "." IN {                              // .  代表根
      type hint;           // 定义类型
      file  "named.ca"      //相对于/etc/named.conf   options选项中directory的路径
    };

 


      从区域:
      file "区域数据文件";
      masters { master1_ip;master2_IP };   指定主区域
    


缓存服务器文件配置

options {
        directory "/var/named";                     //区域文件存放的目录

};

zone "." IN {                                      //定义根区域

 type hint;
 file "named.ca";
};

zone "127.0.0.1" IN {                             //定义本地区域

        type master;
        file "named.localhost";             // /var/named/named.localhost  文件可以自己创建命名

};
zone  "0.0.127-in-addr-arpa" IN {

        type   master;
        file   "named.loopback";

};
 

正向解析区域文件配置

$TTL 1D                                      //全局定义TTL,下面可省略  
@       IN SOA  @ rname.invalid. (                      //“@”  可以代表主区域文件中的主区域名
                                        0       ; serial
                                        1D      ; refresh                // ";"可以注释
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @                                                 //前面区域名不写自动继承上面的@
        A       127.0.0.1

 

反向解析区域文件配置/var/named/named.loopback

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
        PTR     localhost.
~                          

 

3.检查配置 
named-checkconf  检查配置文件语法

为了保证服务能正常运行需要关闭SELinux:

dig -t RT NAME @IP     //-t   RT 指定资源类型 NS MX A, NAME 区域名称  @IP通过指定IP查询

                                                                                              
[root@localhost named]# dig -t A www.baidu.com @127.0.0.1 //通过本地NS查询百度的A记录
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t A www.baidu.com @127.0.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22325 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 5 ;; QUESTION SECTION: ;www.baidu.com. IN A ;; ANSWER SECTION: www.baidu.com. 1200 IN CNAME www.a.shifen.com. www.a.shifen.com. 300 IN A 111.13.100.91 www.a.shifen.com. 300 IN A 111.13.100.92 ;; AUTHORITY SECTION: a.shifen.com. 1200 IN NS ns3.a.shifen.com. a.shifen.com. 1200 IN NS ns5.a.shifen.com. a.shifen.com. 1200 IN NS ns1.a.shifen.com. a.shifen.com. 1200 IN NS ns4.a.shifen.com. a.shifen.com. 1200 IN NS ns2.a.shifen.com.

 



二.DNS正反向解析

1.解析要求

NS      192.168.136.135

www.test.com  192.168.136.135

www.test.com  192.168.136.136

mail.test.com   192.168.136.137

ftp   别名  www

2.配置区域文件/etc/named/named.conf添加下面配置

 

zone "test.com." IN {

type master;
file "test.com.conf";
};
zone "136.168.192.in-addr.arpa" IN {
        type  master;
        file  "136.168.192.zone";

};

 

3.配置正向区域数据文件

$TTL 60

@  IN   SOA  ns1.test.com.  admin.test.com. (
        2015    
        5D
        5M
        1H



)
@   IN    NS   ns1
@   IN    MX  10  mail

ns1    IN   A  192.168.136.135
mail IN A 192.168.136.137

www    IN   A  192.168.136.136
www    IN   A  192.168.136.135
ftp    IN  CNAME  www

4.配置反向区解析域数据文件

$TTL 60
@  IN   SOA  ns1.test.com.  admin.test.com. (                //反向解析文件SOA除了区域不一样其他都一样
        2015
        10D
        5D
        5M
        1H

)
     IN    NS   ns1.test.com.                  // FQDN一定要写全称,邮件服务不需要反向NS

135 IN PTR ns1.test.com. 135 IN PTR www.test.com. 136 IN PTR www.test.com. 137 IN PTR mail.test.com.

5.测试

正向

[root@localhost named]# dig -t NS test.com                       //测试NS记录

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t NS test.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23944
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;test.com.                      IN      NS

;; ANSWER SECTION:
test.com.               60      IN      NS      ns1.test.com.

;; ADDITIONAL SECTION:
ns1.test.com.           60      IN      A       192.168.136.135

;; Query time: 1 msec
;; SERVER: 
[root@localhost named]# dig -t A www.test.com              //测试www.test.com  的A记录

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t A www.test.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58748
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;www.test.com.                  IN      A

;; ANSWER SECTION:
www.test.com.           60      IN      A       192.168.136.135                            //下一个请求会更换上下顺序,负载均衡
www.test.com.           60      IN      A       192.168.136.136

;; AUTHORITY SECTION:
test.com.               60      IN      NS      ns1.test.com.

反向

[root@localhost named]# dig -x 192.168.136.135    

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -x 192.168.136.135
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23414
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;135.136.168.192.in-addr.arpa.  IN      PTR

;; ANSWER SECTION:
135.136.168.192.in-addr.arpa. 60 IN     PTR     www.test.com.
135.136.168.192.in-addr.arpa. 60 IN     PTR     ns1.test.com.

;; AUTHORITY SECTION:
136.168.1

 

注意:配置文件格式一定要写正确,名称也要写正确。

 

posted @ 2015-07-22 11:04  看天空  阅读(1596)  评论(0编辑  收藏  举报