zoukankan      html  css  js  c++  java
  • DNS域名解析服务(重点)

    一 、DNS  系统的作用

    1、DNS 服务器概述

    DNS 系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名;与 IP
    地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。

    (1)正向解析:根据域名查 IP 地址,是 DNS 服务最常用的基本功能
    (2)反向解析:根据 IP 查域名,不是很常用,应用于例如反垃圾邮件的验证等
    每台 DNS 服务器都负责管理一个有限范围(一个或几个域)内的主机域名和 IP 地址的
    对应关系,这些特定的 DNS 域或 IP 地址段称为“zone”(区域)。

    2、DNS 服务器的常见分类

    (1)缓存域名服务器
    只提供域名解析结果的缓存功能,目的在于提高数据查询速度和效率,但是没有自己控
    制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他 DNS 服务器作为解
    析来源。

    (2)主DNS 服务器:管理和维护所负责解析的域内解析库的服务器;读写均可进行

    (3)从DNS 服务器:从主服务器或从服务器“复制”(区域传输)解析库副本;只能进行读操作

    (4) RPM包的主要作用如下:

    bind:提供了域名服务的主要程序及相关文件

    bind-utils:提供了对DNS服务器的测试工具程序,如nslookup

    bind-libs:提供了bind、bind-utils需要使用函数库

    bind-chroot:为BIND服务伪装的根目录

    bind服务安装后会自动增加一named服务

    3、配置文件
    (1)主配置文件: /etc/named.conf
    (2)区域配置文件: /var/named

    DNS域名解析原理:

    DNS的解析原理:

    1. 在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

    2. 如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

    3. 如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。

    DNS工作原理:
      第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
      第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
      第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址。
      第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
      第五步:重复第四步,直到找到正确的纪录。
      第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

    ===============================================================

    主服务器:IP为192.168.200.115 

    (0)环境准备                       

    [root@localhost ~]# systemctl stop firewalld                  //关闭防火墙
    [root@localhost ~]# setenforce 0                                  //关闭安全机制

    (1)构建缓存域名服务器
    [root@ns2 ~]# yum -y install bind bind-utils
    [root@ns2 ~]# vi /etc/named.conf
    options {
    listen-on port 53 { 127.0.0.1; }; //监听地址和端口
    directory "/var/named"; //区域文件默认存放位置
    dump-file "/var/named/data/cache_dump.db"; //缓存数据库文件位置
    statistics-file "/var/named/data/named_stats.txt"; //状态文件位置
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    allow-query { localhost; }; //允许使用本DNS服务器的网段
    recursion yes;
    };

    (2)构建主DNS域名解析服务器:ip为192.168.200.115
    [root@localhost ~]# yum -y install bind                        

    [root@localhost ~]# cat /etc/resolv.conf                         
    # Generated by NetworkManager
    nameserver 192.168.200.115                          //nameserve定义DNS服务器的IP地址
    nameserver 192.168.200.112

    [root@localhost ~]# cat /etc/hosts 

    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.200.115 ns1.crushlinux.com
    192.168.200.112 ns2.crushlinux.com

    [root@localhost ~]# cat /etc/named.conf                            //主配置文件

    options {
            directory     "/var/named";
    };

    zone "crushlinux.com" IN {                           //正向区域
           type master;                                 //类型为主要文件
           file "crushlinux.zheng";                     //区域数据文件
           allow-transfer { 192.168.200.112; };        //允许下载的服务器地址
    };

    zone "200.168.192.in-addr.arpa" IN {
          type master;
          file "crushlinux.fan";
          allow-transfer { 192.168.200.112; };
    };

    [root@localhost ~]# cat /var/named/crushlinux.zheng

    
    

    $TTL 86400                      //有效记录的生命周期
    @          IN         SOA        crushlinux.com.      admin.crushlinux.com. (                 //域名 认证授权 域名 管理员邮箱
                        20190822              //更新序号
                          3H                  //更新时间间隔 
                          15M                 //更新失败再次尝试的间隔
                          1W                  //若一直失败,尝试一周后结束
                          1D                  //失败解析记录缓存时间
    )
              IN          NS         ns1.crushlinux.com.
              IN          NS         ns2.crushlinux.com.
              IN          MX 10      mail.crushlinux.com.
    ns1       IN           A         192.168.200.115
    ns2       IN           A         192.168.200.112
    mail      IN           A         192.168.200.113
    www       IN           A         192.168.200.114
    study     IN           A         192.168.200.111
    *         IN           A         192.168.200.115
    ftp       IN         CNAME       www

    [root@localhost ~]# cat /var/named/crushlinux.fan

    $TTL 86400
    @          IN           SOA       crushlinux.com.    admin.crushlinux.com. (
                           20190817
                            3H
                           15M
                            1W
                            1D
    )
             IN    NS       ns1.crushlinux.com.
             IN    NS       ns2.crushlinux.com.
             IN    MX 10    mail.crushlinux.com.
    115      IN    PTR      ns1.crushlinux.com.
    112      IN    PTR      ns2.crushlinux.com.
    113      IN    PTR      mail.crushlinux.com.
    114      IN    PTR      www.crushlinux.com.
    111      IN    PTR      study.crushlinux.com.
    115      IN    PTR      ns1.crushlinux.com.

    ======================================================================

    此处用于检测可不写

    //[root@localhost ~]# chown :named /var/named/crushlinux.*

    //[root@localhost ~]# named-checkconf -z /etc/named.conf
    //[root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.zheng
    //[root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.fan
    [root@localhost ~]# systemctl restart named

    ======================================================================

    (3)构建从DNS域名解析服务器:IP为192.168.200.112

    [root@localhost ~]# yum -y install bind
    [root@localhost ~]# cat /etc/resolv.conf
    # Generated by NetworkManager
    nameserver 192.168.200.115
    nameserver 192.168.200.112

    [root@localhost ~]# cat /etc/hosts
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.200.115 ns1.crushlinux.com
    192.168.200.112 ns2.crushlinux.com

    [root@localhost ~]# cat /etc/named.conf 

    options {
          directory     "/var/named";
    
    };
    
    zone "crushlinux.com" IN {
         type slave;
         file "slaves/crushlinux.zheng";
            masters { 192.168.200.115; };
    };
    zone "200.168.192.in-addr.arpa" IN {
        type slave;
            file "slaves/crushlinux.fan";
            masters { 192.168.200.115; };
    
    };

    [root@localhost ~]# systemctl restart named

    ========================================================

    windows客户机配置及测试主从

  • 相关阅读:
    [概述]移动机器人自主探索
    MRPT编译
    Kinect2.0相机标定
    小豆包的学习之旅:里程计运动模型
    小豆包的学习之旅:入门篇
    Kinect2.0点云数据获取
    COFF,amd64.vc90.mfc两个布署的问题
    [硬件]Robot运动控制
    [硬件]Urg_viewer数据读取
    [硬件]三维点云数据获取
  • 原文地址:https://www.cnblogs.com/CMX_Shmily/p/11396655.html
Copyright © 2011-2022 走看看