DNS域名解析服务搭建

环境:CentOS release 6.8 (Final)

安装软件:yum install bind bind-libs bind-utils

说明:本文将简单教学一个DNS服务器的搭建过程,将www.linuxtest.com(该域名实际已被注册)解析成IP192.168.137.133,还包括一个简单的反向解析。最后搭建一个主从DNS服务器。内容较多,解释较少
DNS解析:分为迭代解析和递归解析

    迭代解析:客户端发出一次请求,对方如果没有授权回答,它就会返回一个能解答这个查询的其它名称服务器列表,客户端会再向返回的列表中发出请求,直到找到最终负责所查域名的名称服务器,从它得到最终结果。

    递归解析:客户端只发一次请求,要求对方给出最终结果。

        一般客户端到服务器端属递归查询;

        一般DNS服务器之间属迭代查询。

1、正向解析
        1.1主配置文件:
             vim /etc/named.conf
                                 -------------- 修改匹配的内容如下:
                    listen-on port 53 { any; };                    #DNS服务监听端口
                    directory   "/var/named";                    #定义配置文件目录,默认为/var/named
                    allow-query     { any; };                        #指定哪些主机(或网络)可以查询这台名字服务器
                    recursion yes;                                     #允许递归查询,默认为yes(或理解为指定named是否代表客户机查询其他名字服务器)
                    include "/etc/named.rfc1912.zones";                  #包含zone的配置文件。zone语句:是named.conf中的核心语句,将告诉named它具有权威性的区域,并为管理每个区设置适当的选项,zone语句格式根据named在服务器中所扮演的角色不同而不同。
        1.2主区域配置文件:
             vim /etc/named.rfc1912.zones
                                 -------------- 添加内容如下:
                    zone "linuxtest.com" IN {                                  #定义区域名
                    type master;                                                # 制定区域类型{master,slave,stub,forward}
                    file "linuxtest.com";                                        #制定区域文件名
                    };

            区域类型为master:配置一个区(zones)的主服务器;配置信息参考上面几行

            区域类型为slave或stub:配置一个区的从服务器;正常情况下,设为slave,从服务器会保留数据库的一个完整副本,若服务器类型为stub,那么将只传送NS记录。(可先跳过,后文有配置主从服务器)

zone "domain_name" {

type slave | stub;

file "path"

masters {ip_addr;ip_addr;....};

allow-query {any};

allow-transfer {any};

}                  //参考博客http://blog.chinaunix.net/uid-14825809-id-333591.html

            区域类型为forward:设置一个转发区;如果您的组织和其他组织或公司有战略合作关系,并且希望绕过标准的查询路径,直接把流量汇聚到该公司的名字服务器上,则可以使用forward区,您可以使用这样的安排来访问对外界不可见的名字服务器。

zone "domain_name" {

type forward;

forward only | first;

forwarders {ip_addr;ip_addr;....}

};
         1.3区域配置文件:
             vim /var/named/linuxtest.com
                               -------------- 添加内容如下:

$TTL 1D
@   IN SOA  ns.linuxtest.com. admin.linuxtest.com. (
                                       0   ; serial
                                       1D  ; refresh
                                       1H  ; retry
                                       1W  ; expire
                                       3H )    ; minimum
linuxtest.com.            IN NS   ns.linuxtest.com.
ns.linuxtest.com.         IN A    192.168.137.133

www                       IN A   192.168.137.133

         保存退出后修改文件权限:chown root.named /var/named/linuxtest.com

         1.4验证配置文件
               named-checkconf
               named-checkzone "linuxtest.com" /var/named/linuxtest.com
          1.5修改DNS服务器/etc/resolv.conf指定DNS服务器为本机
               vim /etc/resolv.conf


          1.6验证解析
               /etc/init.d/named restart
               dig -t A www.linuxtest.com
     或者  nslookup www.linuxtest.com

2、反向解析:(和正向解析类似)
      2.1    vim /etc/named.rfc1912.zones
               zone "137.168.192.in-addr.arpa" IN {                        #137.168.192为IP倒序输入
                                 type master;
                                 file "192.168.137.zone";
               };

       2.2   vim /var/named/192.168.137.zone

$TTL 600
@       IN      SOA     ns1.linuxtest.com.      admin.linuxtest.com. (
                                            0   ; serial
                                            1D  ; refresh
                                            1H  ; retry
                                            1W  ; expire
                                            3H )    ; minimum
                    IN      NS      ns1.linuxtest.com.
200                 IN      PTR     www.linuxtest.com.
221                 IN      PTR     ns1.linuxtest.com.

       2.3验证解析
            /etc/init.d/named restart
           dig -x 192.168.137.200

3.别名:vim /var/named/192.168.137.zone,在其中添加以下内容实现别名:
          bbs2                IN CNAME   bbs

验证:dig -t A bbs2.linuxtest.com                                   ------别名也可以解析

4.泛域名解析:vim /var/named/192.168.137.zone,在其中添加以下内容:
*                            IN A       172.16.10.1
*.linuxtest.com.   IN A       192.168.1.220

验证:dig -t A dsfgs.linuxtest.com                                    -----随便写的包含域名的主机名都可以解析成功

------------------注意事项:
             3.和4.为示范,具体应用由需求而定;
             注意区域配置文件 /var/named/linuxtest.com的权限root.named;
             主区域配置文件中文件名zone最好和zone名字一样;
             解析类型:A记录
                                 PTR记录
                                 MX记录
                                 NS记录
              NS服务器记录和NS的A记录要成对出现,即
                       linuxtest.com.        IN NS      ns.linuxtest.com.
                       ns.linuxtest.com.   IN A       172.16.10.1


附加:递归和迭代解析过程
.1 迭代
dig +norecurse -t A www.sohu.com @172.16.10.1
dig +norecurse -t A www.sohu.com @f.gtld-servers.net
dig +norecurse -t A www.sohu.com @dns.sohu.com
dig +norecurse -t A www.sohu.com @gs.a.sohu.com
.2递归
dig  +trace -t A www.sohu.com @172.16.10.1

 

主从DNS服务器:
1.主DNS服务器配置:
      1.1主配置文件/etc/named.conf
            listen-on port 53 { any; };                                    #监听所有地址的53端口
            allow-query     { any; };                                        #允许所有地址进行dns查询
      1.2主区域配置文件/etc/named.rfc1912.zones
            zone "linuxtest.com" IN {
                          type master;
                          file "linuxtest.com";
                         allow-transfer { any; };                           #允许dns记录进行传输
            };
      1.3区域配置文件/var/named/linuxtest.com
 

$TTL 1D
@       IN SOA  ns.linuxtest.com. admin.linuxtest.com. (
                                                                2016100909      ; serial    #注意此处ID
                                                                1D      ; refresh
                                                                1H      ; retry
                                                                1W      ; expire
                                                                3H )    ; minimum
                           IN NS   ns.linuxtest.com.                         
                           IN NS   ns2.linuxtest.com.
ns.linuxtest.com.          IN A    192.168.137.133                          #主dns服务器ip地址
ns2.linuxtest.com.         IN A    192.168.137.134                          #从dns服务器ip地址

www                        IN A    192.168.137.133

2、从DNS服务器配置:
       2.1主配置文件/etc/named.conf
            和主DNS的主配置文件一样
       2.2主区域配置文件
             zone "linuxtest.com" IN {
                         type slave;
                         file "slaves/linuxtest.com";
                        masters {192.168.242.128;};
             };

       2.3重启服务:service named restart

3、主从dns服务器效果:每次主DNS服务器的区域配置文件有修改时(添加解析一定要修改ID),就会传到从DNS服务器的文件/var/named/slaves/linuxtest.com 中。


-------------------------注意事项:
                          主DNS的主区域配置文件打开allow-transfer {} ;
                          从DNS的主区域配置文件type slave 写上masters的地址;
                          主DNS的区域配置文件加上从DNS的NS记录。

转载于:https://my.oschina.net/shaoyu/blog/756018

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值