我是靠谱客的博主 眯眯眼太阳,最近开发中收集的这篇文章主要介绍简易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  


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31560876/viewspace-2564023/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31560876/viewspace-2564023/

最后

以上就是眯眯眼太阳为你收集整理的简易DNS服务器的全部内容,希望文章能够帮你解决简易DNS服务器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部