zoukankan      html  css  js  c++  java
  • 使用Bind提供域名解析服务

    一、DNS域名解析服务

    1)DNS(domain name system,域名系统)技术是一项用于管理和解析域名与IP直接对应关系的技术,DNS服务器主要分为三类:

    主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系;

    从服务器:从主服务器中获取的域名与IP地址对应关系并进行维护,以防主服务器宕机的情况;

    缓存服务器:通过向其他域名解析服务器查询到域名与IP地址对应关系,并将经常查询的域名信息保存到本地服务器,以提高重复查询时的效率。

    2)域名查询的方式有递归查询和迭代查询两种:递归查询是指用户向dns服务器发起请求时,dns服务器必须向用户返回一个查询结果,如果dns服务器本地没有存在与之对应的信息,该服务器则向其他服务器发起请求,并由该服务器返回一个查询结果给用户;迭代查询是指用户向dns服务器发起请求时,dns服务器向用户返回其他dns服务器的地址,用户再向其他dns服务器发起请求,这样依次重复,直到返回查询结果。

    二、安装Bind服务程序

    1)BIND(Berkeley Internet Name Domain,伯克利因特网名称域)服务是全球范围内使用最广泛、最安全可靠且高效的域名解析服务程序。在生产环境中安装部署bind服务程序时加上chroot(俗称牢笼机制)扩展包,以便有效地限制bind服务程序仅能对自身的配置文件进行操作,以确保整个服务器的安全,安装命令:yum  install  bind-chroot。

    bind服务中有3个关键文件:

    主配置文件(/etc/named.conf):只有58行,而且在去除注释信息和空行之后,实际有效的参数仅有30行左右,这些参数用来定义bind服务程序的运行。

    区域配置文件(/etc/named.rfc1912.zones):用来保存域名与IP地址对应关系的所有位置,类似于书本目录。

    数据配置文件目录(/var/named):用于保存域名与IP地址真实的对应关系的数据配置文件。

    2)bind服务程序的区域配置文件用来保存域名与IP地址对应关系的所在位置,该文件定义了域名与IP地址解析规则保存的文件位置以及服务类型,服务类型包含根域hint、主区域master、辅助区域slave,其中的master主区域和辅助区域slave就是常用在主服务器和从服务器中。

    3)在实验中启动bind服务失败时,可通过执行named-checkconf和named-checkzone分别检查主配置文件和数据配置文件的语法错误或参数错误。

    4)named服务开机自启:systemctl enable named.service

    三、DNS解析

    1)正向解析:通过域名查找主机的IP地址

    2)反向解析:通过主机IP地址查找主机域名

    正向解析实验:

    1)修改主配置文件配置vi /etc/named.conf,修改监听地址(端口)为any,修改允许客户机更新为any;

    2)设置dns地址为本机地址;

    3)编辑区域配置文件vi /etc/named.rfc1912.zones,如下配置:

    zone "test.com " IN {

    type master; /* 服务类型 */

    file “test.com.zone"; /* 配置文件所在的位置 */

    allow-update {none;};  /* 允许哪些客户机更新 */

    };

    4)区域配置文件完成后,下一步是配置数据配置文件,即域名与IP地址对应关系的文件,首先在 /var/named目录喜复制一份数据配置模板:cp  -a named.hostlocal  test.com.zone ,cp 命令 -a 参数意思是保留原始文件的所有者,然后编辑数据配置文件 vi test.come.zone,数据配置如下:

    $TTL 1D #生存周期为1天        
    @ IN SOA test.com. root.test.com. (  
      #授权信息开始: #DNS区域的地址 #域名管理员的邮箱(不要用@符号)  
            0;serial #更新序列号
            1D;refresh #更新时间
            1H;retry #重试延时
            1W;expire #失效时间
            3H;)minimum #无效解析记录的缓存时间
      NS ns.test.com. #域名服务器记录
    ns IN A 192.168.198.10 #地址记录(ns.test.com.)
      IN MX 10 mail.test.com. #邮箱交换记录
    mail IN A 192.168.198.10 #地址记录(mail.test.com.)
    www IN A 192.168.198.10 #地址记录(www.test.com.)
    bbs IN A 192.168.198.20 #地址记录(bbs.test.com.)

    保存退出后,重启named服务systemctl  restart  named ,然后通过nslookup命令 解析域名www.test.com得到192.168.198.10的IP地址。

    反向解析实验:

    1)编辑区域配置文件vi /etc/named.rfc1912.zones

    zone "198.168.192.in-addr.arpa " IN {

    type master; /* 服务类型 */

    file “198.168.192.arpa"; /* 配置文件所在的位置 */

    };

    2)从/var/named中复制一份反向解析模板命名为198.168.192.arpa:cp  -a  named.loopback  198.168.192.arpa,然后编辑反向解析数据配置文件vi  198.168.192.arpa,数据配置文件如下:

    $TTL 1D        
    @ IN SOA test.com. root.test.com. (
            0;serial
            1D;refresh
            1H;retry
            1W;expire
            3H);minimum
      NS ns.test.com.  
    ns A 192.168.198.10  
    10 PTR ns.test.com.     #PTR为指针记录,仅用于反向解析中。
    10 PTR mail.test.com.  
    10 PTR www.test.com.  
    20 PTR bbs.test.com.

    四、部署从服务器

    1)配置流程为:

    在主服务器的区域配置文件中允许从服务器的更新请求,并重新加载配置文件;

    在从服务器配置文件中填写主服务器地址与要抓取的区域配置,并重新加载配置文件;

    在从服务器中查看/var/named/slaves目录并使用nslookup命令验证结果。

    五、安全加密传输

    1)第一步是在主服务器中生成密钥:命令是dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave,-a参数是指定加密算法,-b参数是密钥长度,-n是密钥类型。这时会生成一个密钥。

    2)在主服务器中创建密钥验证配置文件,进入bind服务程序用于保存配置文件的目录,把刚刚生成的密钥名称、加密算法和私钥加密字符串按照下面格式写入到tansfer.key传输配置文件中:

    cd /var/named/chroot/etc/

    vi  /transfer.key

    3)配置主/从服务器开启密钥验证功能并重新加载named服务,即在主/从服务器的主配置文件中添加:include “/etc/transfer.key;'”

  • 相关阅读:
    单例 与 static
    ActiveMQ 核心概念
    Jconsole
    死锁
    document write & close
    java.nio.Buffer
    Java 线程控制(输出奇偶数)
    exist & in
    命运
    Super Jumping! Jumping! Jumping!
  • 原文地址:https://www.cnblogs.com/weiyuncai/p/8848808.html
Copyright © 2011-2022 走看看