如何搭建简易DNS服务器

如何搭建简易DNS服务器,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

简易DNS服务器

domain name server,dns协议,其实现软件主要是bind.bind软件由配置文件和区域数据文件组成。

区域数据库文件,主要是用来记录资源记录的。一行一行的数据。

资源记录类型(RR_TYPE)包括:

A      A记录,记录FQDN–>IPv4

AAA    A记录,记录FQDN–>IPv6

PTR    PRT记录,反向解析,记录IP–>FQDN

NS     NS记录,name server,记录DNS服务器本身的信息,后面跟A记录

SOA    SOA记录,start of authity,第一条授权记录,有且只有一条,必须是第一条。

CNAME  CNAME别名

MX    
邮件记录

资源记录格式:

   NAME     [TTL]    IN RR_TYPE  VALUE

   bjs.io   888640   IN A        192.168.122.3

   bjs.io   888640   IN SOA      bjs admin.bjs

   SOA格式: NAME  VALUE    

     name:dns服务器FQDN  管理员邮箱          版本序列号  刷新时间  重试时间  过期时间  否定回答时间

@ IN SOA ns1.bjs.io.  dnsadmin.bjs.io. 201811201  1H        10M       5D        1D   

  
注意:管理员邮箱中的@用.代替因为@在dns有特殊用途,版本序列号只能是10,超过10位会出错

   NS:

       name:当前区域名称

       value
当前区域DNS服务器名称

     
比如:

       bjs.com. 86400 IN NS ns1

       bjs.com. 86400 IN NS ns2

    MX:

      name
当前区域名称

      value
邮件交换器名称

         baidu.com. IN MX 10 mx1.baidu.com.

         baidu.com. IN MX 10 mx2.baidu.com.  

    A记录:

       www.baidu.com.   IN   A 1.1.1.1

       www.baidu.com.   IN   A 1.1.1.2

       bbs.baidu.com.   IN   A 1.1.1.1         

    PTR

     name:IP地址,有特定格式,IP反过来写,而且特定后缀

     value FQDA

        4.3.2.1.in-addr.arpa. IN PTR www.baidu.com.

    CNAME

      web.baidu.com.  IN CNAME www.baidu.com.

  
注意 TTL可以全局定义

  
  @表示当前区域名称

  
  相邻两记录name相同时,可不写

       MX,NS等类型的value为FQDN时,其后应该有A记录 

dns是协议,bind是协议的实现程序

yum -y install bind

 主配置文件

    /etc/named.conf
可包含其他配置文件

   
全局配置段:

         options{

               listen-on port 53 { 192.168.136.4; };

               allow-query     { any; };

                }

      
日志配置段

         logging{…}

      
区域配置段

         zone {…}

      每句都;结尾,{左右必须有空格}

  
缓存服务器必须监听在能与外部通信的IP地址

    
检查配置文件语法错误

        named-checkconf

 解析库文件:

   /var/named/目录下

    
一般名称为ZONE_NAME.zone

  
注意 1.一台DNS服务可以同时为多个区域提供服务

        2.必须要有根区域解析库文件named.ca

        3.还应该有两个本地区域文件localhost和127.0.0.1

           正向:named.localhost

          
反向:named.loopback                    

配置解析一个正向区域:

   1.定义区域

     
在主配置文件实现

         zone "ZONE_NAME" IN {

            type {master|slave|hint|forward};

            file "ZONE_NAME.zone";        

         };                 

    
以bjs.io为列

        zone "bjs.io" IN {

          type master ;

          file "bjs.io.zone";

        };            

   2.建立区域文件

      /var/named目录 下以bjs.io为列,其属组为named,权限为其他用户不可读

      vi /var/named/bjs.io.zone      

      $TTL 1D

      @    IN  SOA ns1.bjs.io root.localdomain 2019011601  1H  10M 3D 1D

           IN  NS  ns1

      ns1  IN  A   192.168.122.11

      www  IN  A   192.168.122.3

      www  IN  A   192.168.122.4

   3.权限设定

     chown .named bjs.io.zone

     chmod o= bjs.io.zone

   4.检查配置文件及区域文件

     named-checkconf

     named-checkzone  bjs.io /var/named/bjs.io.zone

   5.让服务重载配置文件     

       systemctl restart named

   6.查看监听情况

     ss -lnt         

   7.在其他服务器上将dns地址设为本服务器,然后测试

     dig -t A www.bjs.io

     dig -t NS bjs.io   

配置解析一个反向区域:

   1.定义区域

     zone "122.168.192" IN {

       type master;

       file "122.168.192.in-addr.arpa";

     };

   2.建立区域文件

     vi 122.168.192.in-addr.arpa

     $TTL 1D

     @   IN   SOA  ns1.bjs.io root.localdomain 2019011601  1H  10M 3D 1D

         IN   NS   ns1.bjs.io.

     11  IN   PTR  ns1.bjs.io.

     3   IN   PTR  www.bjs.io.

     4   IN   PTR  www.bjs.io.

   3.权限设定

     chown .named 122.168.192.in-addr.arpa

     chmod o= 122.168.192.in-addr.arpa

   4.检查配置文件及区域文件

     named-checkconf

     named-checkzone  122.168.192.in-addr.arpa /var/named/122.168.192.in-addr.arpa

   5.让服务重载配置文件     

       systemctl reload named

   6.查看监听情况

     ss -lnt         

   7.在其他服务器上将dns地址设为本服务器,然后测试

     dig -x 192.168.122.3  

关于如何搭建简易DNS服务器问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/199480.html

(0)
上一篇 2021年11月20日
下一篇 2021年11月20日

相关推荐

发表回复

登录后才能评论