• DNS服务器的搭建


    DNS服务器的搭建

    欢迎来到 来到大浪涛天的博客

    一、DNS服务器的搭建与维护

    1. DNS服务概述:

    DNS(Domain Name System)域名系统,在TCP/IP 网络中有非常重要的地位,能够提供域名与IP地址的解析服务。

    DNS 是一个分布式数据库,命名系统采用层次的逻辑结构,如同一棵倒置的树,这个逻辑的树形结构称为域名空间,由于DNS 划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。
    注:DNS 域名空间中,树的最大深度不得超过127 层,树中每个节点最长可以存储63 个字符。

    1-1. 域和域名

    1. DNS 树的每个节点代表一个域,通过这些节点,对整个域名空间进行划分,成为一个层次结构。
      域名空间的每个域的名字,通过域名进行表示。

    2. 域名:通常由一个完全合格域名(FQDN)标识。FQDN能准确表示出其相对于DNS 域树根的位置,也就是节点到DNS 树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用“.”分隔,对于DNS 域google 来说,其完全正式域名(FQDN)为google.com
      例如,google为com域的子域,其表示方法为google.com,而www为google域中的子域,可以使用www.google.com表示。
      注意:通常,FQDN 有严格的命名限制,长度不能超过256 字节,只允许使用字符a-z,0-9,A-Z和减号(-)。点号(.)只允许在域名标志之间(例如“google.com”)或者FQDN 的结尾使用。域名不区分大小。

    3. 由最顶层到下层,可以分成:根域、顶级域、二级域、子域。

    4. Internet 域名空间的最顶层是根域(root),其记录着Internet 的重要DNS 信息,由Internet域名注册授权机构管理,该机构把域名空间各部分的管理责任分配给连接到Internet 的各个组织。“.”全球有13个根(root)服务器

    5. DNS 根域下面是顶级域,也由Internet 域名注册授权机构管理。共有3 种类型的顶级域。

    6. 组织域:采用3 个字符的代号,表示DNS 域中所包含的组织的主要功能或活动。比如com 为商业机构组织,edu 为教育机构组织,gov 为政府机构组织,mil 为军事机构组织,net 为网络机构组织,org 为非营利机构组织,int 为国际机构组织。

    7. 地址域:采用两个字符的国家或地区代号。如cn 为中国,kr 为韩国,us 为美国。

    8. 反向域:这是个特殊域,名字为in-addr.arpa,用于将IP 地址映射到名字(反向查询)。

    9. 对于顶级域的下级域,Internet 域名注册授权机构授权给Internet 的各种组织。当一个组织获得了对域名空间某一部分的授权后,该组织就负责命名所分配的域及其子域,包括域中的计算机和其他设备,并管理分配的域中主机名与IP 地址的映射信息。

    1-2. 区(Zone)

    区是DNS 名称空间的一部分,其包含了一组存储在DNS 服务器上的资源记录。
    使用区的概念,DNS 服务器回答关于自己区中主机的查询,每个区都有自己的授权服务器。

    1-3. 主域名服务器与辅助域名服务器

    1. 当区的辅助服务器启动时,它与该区的主控服务器进行连接并启动一次区传输,区辅助服务器定期与区主控服务器通信,查看区数据是否改变。如果改变了,它就启动一次数据更新传输。
    2. 每个区必须有主服务器,另外每个区至少要有一台辅助服务器,否则如果该区的主服务器崩溃了,就无法解析该区的名称。
      辅助服务器的优点:
      1)容错能力
      配置辅助服务器后,在该区主服务器崩溃的情况下,客户机仍能解析该区的名称。一般把区的主
      服务器和区的辅助服务器安装在不同子网上,这样如果到一个子网的连接中断,DNS 客户机还能
      直接查询另一个子网上的名称服务器。
      2)减少广域链路的通信量
      如果某个区在远程有大量客户机,用户就可以在远程添加该区的辅助服务器,并把远程的客户机
      配置成先查询这些服务器,这样就能防止远程客户机通过慢速链路通信来进行DNS 查询。
      3)减轻主服务器的负载
      辅助服务器能回答该区的查询,从而减少该区主服务器必须回答的查询数。

    2. DNS 相关概念

    2-1. DNS 服务器

    运行DNS 服务器程序的计算机,储存DNS 数据库信息。DNS 服务器会尝试解析客户机的查询请求。
    在解答查询时,如果DNS 服务器能提供所请求的信息,就直接回应解析结果,如果该DNS 服务器
    没有相应的域名信息,则为客户机提供另一个能帮助解析查询的服务器地址,如果以上两种方法
    均失败,则回应客户机没有所请求的信息或请求的信息不存在。

    2-2. DNS 缓存

    DNS 服务器在解析客户机请求时,如果本地没有该DNS 信息,则可以会询问其他DNS 服务器,当
    其他域名服务器返回查询结果时,该DNS 服务器会将结果记录在本地的缓存中,成为DNS 缓存。
    当下一次客户机提交相同请求时,DNS 服务器能够直接使用缓存中的DNS 信息进行解析。

    2-3. DNS查询方式: 递归查询和迭代查询

    DNS查询过程
    DNS查询过程

    看一个DNS查询过程:
    通过8个步骤的解析过程就使得客户端可以顺利访问www.163.com 这个域名,但实际应用中,通常这个过程是非常迅速的

     
    <1> 客户机提交域名解析请求,并将该请求发送给本地的域名服务器。
    <2> 当本地的域名服务器收到请求后,就先查询本地的缓存。如果有查询的DNS 信息记录,则直
    接返回查询的结果。如果没有该记录,本地域名服务器就把请求发给根域名服务器。
    <3> 根域名服务器再返回给本地域名服务器一个所查询域的顶级域名服务器的地址。
    <4> 本地服务器再向返回的域名服务器发送请求。
    <5> 接收到该查询请求的域名服务器查询其缓存和记录,如果有相关信息则返回客户机查询结
    果,否则通知客户机下级的域名服务器的地址。
    <6> 本地域名服务器将查询请求发送给返回的DNS 服务器。
    <7> 域名服务器返回本地服务器查询结果(如果该域名服务器不包含查询的DNS 信息,查询过程
    将重复<6>、<7>步骤,直到返回解析信息或解析失败的回应)。
    <8> 本地域名服务器将返回的结果保存到缓存,并且将结果返回给客户机。

    2-4. DNS的两种查询方式:

    (1)递归查询
    递归查询是一种DNS 服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一
    个准确的查询结果回复客户机。如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询
    问其他服务器,并将返回的查询结果提交给客户机。

    (2)迭代查询
    DNS 服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果为止。

    2-5. 正向解析与反向解析

    1)正向解析
    正向解析是指域名到IP 地址的解析过程。

    2)反向解析
    反向解析是从IP 地址到域名的解析过程。反向解析的作用为服务器的身份验证。http://dns.aizhan.com/

    2-6. DNS资源记录

    2-6-1. SOA 资源记录

    1. 每个区在区的开始处都包含了一个起始授权记录(Start of Authority Record),简称SOA 记录。
    2. SOA 定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA 记录。

    2-6-2. NS 资源记录

    NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。每个区在区根处至少包含一个NS 记录。

    2-6-3. A 资源记录

    地址(A)资源记录把FQDN 映射到IP 地址。 因为有此记录,所以DNS服务器能解析FQDN域名对应的IP 地址。

    2-6-4. PTR 资源记录

    相对于A 资源记录,指针(PTR)记录把IP地址映射到FQDN。 用于反向查询,通过IP地址,找到域名。
    2-6-4-1. CNAME 资源记录
    别名记录(CNAME)资源记录创建特定FQDN 的别名。用户可以使用CNAME 记录来隐藏用户网络的实现细节,使连接的客户机无法知道真正的域名。
    例:ping百度时,解析到了百度的别名服务器。百度有个cname=www.a.shifen.com.的别名

    2-6-5. MX 资源记录

    1. 邮件交换(MX)资源记录,为DNS 域名指定邮件交换服务器。
    2. 邮件交换服务器是为DNS 域名处理或转发邮件的主机。处理邮件指把邮件投递到目的地或转交另一不同类型的邮件传送者。转发邮件指把邮件发送到最终目的服务器,用简单邮件传输协议SMTP 把邮件发送给离最终目的地最近的邮件交换服务器,或使邮件经过一定时间的排队。
    3. 模式: C/S 模式

    2-7. DNS服务器监听的端口

    vim /etc/services 
    端口:
    tcp/53   udp/53    #用于客户端查询
    tcp/953 udp/953   #用于DNS主从同步

    3. 安装部署DNS:

    3-1. 安装相关的程序包:

    [root@dns-master ~]# yum install -y bind bing-utils
    软件包 32:bind-9.11.4-16.P2.el7_8.6.x86_64 该包为DNS 服务的主程序包。
    软件包 32:bind-utils-9.11.4-16.P2.el7_8.6.x86_64 该包为客户端工具,默认安装,用于搜索域名指令。

    3-2. DNS服务器相关配置文件:

    [root@dns-master ~]# ls -l /etc/named.conf
     /etc/named.conf:是BIND 的核心配置文件,它包含了BIND 的基本配置,但其并不包括区域数据
    /var/named/ 目录为DNS数据库文件存放目录,每一个域文件都放在这里

    3-3. 启动服务查看端口

     [root@dns-master ~]# systemctl start named
    [root@dns-master ~]# systemctl enable named
    Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
    [root@dns-master ~]# netstat -anput |grep named
    tcp        0      0 10.211.55.200:53        0.0.0.0:*               LISTEN      23415/named         
    tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      23415/named         
    tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      23415/named         
    tcp6       0      0 :::53                   :::*                    LISTEN      23415/named         
    tcp6       0      0 ::1:953                 :::*                    LISTEN      23415/named    

    3-4. 配置DNS服务器解析: host.com

    3-4-1. 备份配置文件

    [root@dns-master ~]# cp /etc/named.conf{,.bak}

    3-4-2. 修改named.conf配置文件

    1. 监听本网段
    listen-on port 53 { 10.211.55.200; };
    
    2. 为本网段所有主机提供服务
    allow-query     { localhost; }; 改为:
    allow-query     { any; };
    
    3. 后面增加一行配置,指向上层dns,
    forwarders     { 10.211.55.1; };
    
    4. 注意,recursion一定要yes,意思是采用递归的算法,为客户机做查询
    recursion yes;
    
    5. 这两项改为no,节省资源
    dnssec-enable yes;
    dnssec-validation yes;
    改
    dnssec-enable no;
    dnssec-validation no;
    
    6. 添加一行
    dnssec-lookaside auto;
    7. 添加一个host.com的解析域
    
    zone "host.com" IN {
          type master;
          file "host.com.zone";
          allow-update { 10.211.55.11; };
    };
    

    3-4-3. 关于zone的说明

    options  :对全局生效
    zone  : 针对某个区域生效

    3-4-4. 关于type参数介绍:

    type 字段指定区域的类型,对于区域的管理至关重要,一共分为六种:

    1. Master:主DNS 服务器:拥有区域数据文件,并对此区域提供管理数据
       
    2. Slave:辅助DNS 服务器:拥有主DNS 服务器的区域数据文件的副本,辅助DNS 服务器会从主DNS服务器同步所有区域数据。
       
    3. Stub:stub 区域和slave 类似,但其只复制主DNS 服务器上的NS 记录而不像辅助DNS 服务器会复制所有区域数据。
       
    4. Forward:一个forward zone 是每个域的配置转发的主要部分。一个zone 语句中的type forward可以包括一个forward 和/或forwarders 子句,它会在区域名称给定的域中查询。如果没有forwarders 语句或者forwarders 是空表,那么这个域就不会有转发,消除了options 语句中有关转发的配置。
       
    5. Hint:根域名服务器的初始化组指定使用线索区域hint zone,当服务器启动时,它使用根线索来查找根域名服务器,并找到最近的根域名服务器列表。

    3-4-5. 创建zone文件:

    [root@dns-master ~]# cd /var/named
    [root@dns-master named]# cp -a named.localhost host.com.zone,加-a参数,确保权限匹配

    3-4-6. 关于该配置文件的说明:

    1. $TTL 1D ;设置有效地址解析记录的默认缓存时间,默认为1天也就是1D。
      
    2. @       IN SOA  dns.host.com. admin.host.com  
    #原来的@表示当前的域host.com.
    #在此配置文件中写域名时,都把根"." 也要写上。
    #域管理邮箱root.xuegod.cn.0由于@有其他含义,所以用“.”代替@。
    
    3. 关于SOA的选项
    0 ;更新序列号,用于标示数据库的变换,可以在10位以内,如果存在辅助DNS区域,建议每次更新完数据库,手动加1.
    1D ;刷新时间,从域名服务器更新该地址数据库文件的间隔时间,默认为1天
    1H ;重试延时,从域名服务器更新地址数据库失败以后,等待多长时间,默认为为1小时
    1W ; 到期,失效时间,超过该时间仍无法更新地址数据库,则不再尝试,默认为一周
    3H ;设置无效地址解析记录(该数据库中不存在的地址)默认缓存时间。设置无效记录,最少缓存时间为3小时
     
    4. NS @ ;域名服务器记录,用于设置当前域的DNS服务器的域名地址。
       
    5. A 127.0.0.1 ; 设置域名服务器的A记录,地址为ipv4的地址127.0.0.1,可以设置成192.168.100.102
      
    6. AAAA ::1 ; 设置域名服务器的A记录,地址为ipv6的地址。

    3-4-7. 资源记录参数详解:

    1)CNAME 资源记录
    别名(CNAME)资源记录用于为某个主机指定一个别名
    CNAME 资源记录语法格式:
    别名 CNAME 主机名
    www             CNAME   dns
    2)MX 资源记录
    MX(邮件交换器)资源记录提供邮件传递信息。该记录会指定区域内的邮件服务器名称。
    MX 资源记录语法格式:
    3)PTR 资源记录
    指针(PTR)资源记录。该记录与A 记录相反,用于查询IP 地址与主机名的对应关系。
    PTR 资源记录语法格式:
    3.10 根区域设置及对应区域文件
    根区域是一个较为特殊的区域,记录列出了全球根域名服务器的信息,域名通常用“.”表示.

    编辑该配置文件,如:

    $ORIGIN host.com.
    $TTL 1D ; 1 day
    @       IN SOA  dns.host.com. admin.host.com (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      dns.host.com.
    $TTL 60 ; 1 minute
    dns             A       10.211.55.200
    dns-master      A       10.211.55.200
    dns-slave       A       10.211.55.201
    www             CNAME   dns            

    3-4-8. 验证配置文件与重启DNS服务

    [root@dns-master named]# named-checkconf
    [root@dns-master named]# systemctl restart named
    [root@dns-master named]# systemctl status named 

    3-4-9. 客户端验证DNS的配置

    [root@slave ~]# dig www.host.com +short
    dns.host.com.
    10.211.55.200
    [root@slave ~]# dig dns-master.host.com +short
    10.211.55.200
    [root@slave ~]# dig dns-slave.host.com +short      
    10.211.55.201
    [root@slave ~]# dig dns.host.com +short      
    10.211.55.200

    3-5. 搭建DNS转发服务器

    家庭路由器就是一个典型的转发服务器

    3-5-1. 编辑配置文件

    因为只是转发,因此不需要配置区域文件,把之前设置的zone的那3行删除,然后添加:
    forward only ; //仅执行转发操作 ,only:仅转发;first:先查找本地zone,再转发
    forwarders { 8.8.8.8; }; //指定转发查询请求的DNS服务器列表

    即:

    options {
            listen-on port 53 { any; };
            listen-on-v6 port 53 { any; };
            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     { any; };
            recursion yes;    //允许递归查询
    
            #dnssec-enable yes;  //注释这三行
            #dnssec-validation yes;
            #dnssec-lookaside auto;
    
             forward  only ;   //仅执行转发操作 ,only:仅转发;first:先查找本地zone,再转发
                forwarders  { 8.8.8.8; };    //指定转发查询请求的DNS服务器列表
    
            bindkeys-file "/etc/named.iscdlv.key";
    };

    3-6. 搭建DNS主从服务器

    3-6-1. 主服务器的配置

    搭建一个主DNS服务器master。配置内容如下:

    [root@dns-master named]# vim /etc/named.conf
            #dnssec-enable yes;
            #dnssec-validation yes;
    
    //
    // named.conf
    //
    // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
    // server as a caching only nameserver (as a localhost DNS resolver only).
    //
    // See /usr/share/doc/bind*/sample/ for example named configuration files.
    //
    
    options {
            listen-on port 53 { any ; };
            listen-on-v6 port 53 { any; };
            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     { any; };
            recursion yes;
    
            #dnssec-enable yes;
            #dnssec-validation yes;
            #dnssec-lookaside auto;
    
            /* Path to ISC DLV key */
            bindkeys-file "/etc/named.iscdlv.key";
    
    zone "host.com" IN {
            type master;
            file "host.com.zone";
            allow-update { 10.211.55.200; };
            allow-transfer { 192.168.1.0/24; }; #指定允许哪个网段的从DNS服务器,可以同步主DNS服务器zone文件,不写默认为所有。
    };
    include "/etc/named.rfc1912.zones";

    3-6-2. 从DNS服务器的配置

    3-6-2-1. 主从时间一定要保持一致
    3-6-2-2. 安装程序:
    yum install bind bind-utils   -y
    3-6-2-3. 编辑配置文件
    [root@slave ~]# vim /etc/named.conf
    
    options {
            listen-on port 53 { any; };
            listen-on-v6 port 53 { any; };
            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     { any; };
            #recursion no;
            recursion yes;
    
            #dnssec-enable yes;
            #dnssec-validation yes;
            #dnssec-lookaside auto;
    
            # forward  only ;
    
            # forwarders  { 10.211.55.2; };
            bindkeys-file "/etc/named.iscdlv.key";
    };
    
    logging {
            channel default_debug {
                    file "data/named.run";
                    severity dynamic;
            };
    };
    
    zone "." IN {
            type hint;
            file "named.ca";
    };
    zone "host.com" IN {
            type slave;
            file "slaves/host.com.zone.file";
            masters { 10.211.55.200; };
    };
    
    include "/etc/named.rfc1912.zones";

    注:这样从DNS服务器就可以从主DNS服务器上获取DNS解析记录信息了。写时注意slave , masters 单词的书写。
    重启从DNS服务器会在:/var/named/slaves文件夹下自动创建一个文件xuegod.cn.zone.file 这个文件是从DNS服务器从主DNS服务器上获取的数据
    这样随便一个DNS就可以获取主DNS服务器的解析记录,不安全,因此后面需要加密钥增加安全性。
    注:主DNS记录中应该有两NS记录,一条是主DNS的NS记录,一条是从DNS服务器的域名记录。

    测试:

    [root@slave ~]# systemctl restart named
    
    [root@slave ~]# systemctl status named 
    
    [root@slave ~]# ls -l /var/named/slaves/
    总用量 4
    -rw-r--r--. 1 named named 344 10月 26 00:09 host.com.zone.file
    
    [root@slave ~]# tail -5 /var/log/messages
    Oct 26 00:09:28 centos7-tmp named[1463]: transfer of 'host.com/IN' from 10.211.55.200#53: Transfer completed: 1 messages, 7 records, 218 bytes, 0.034 secs (6411 bytes/sec)
    Oct 26 00:09:38 centos7-tmp named[1463]: managed-keys-zone: Unable to fetch DNSKEY set '.': timed out
    Oct 26 00:09:38 centos7-tmp named[1463]: resolver priming query complete
    Oct 26 00:10:01 centos7-tmp systemd: Started Session 38 of user root.
    Oct 26 00:10:01 centos7-tmp systemd: Starting Session 38 of user root.

    3-6-3. zone文件中的其它记录信息。 通过DNS做负载均衡

    编辑主DNS服务器上的配置文件:

    [root@dns-master ~]# cd /var/named
    [root@dns-master named]# ls
    chroot  data  dynamic  host.com.zone  maiyat.com.zone  named.ca  named.empty  named.localhost  named.loopback  slaves
    [root@dns-master named]# 
    [root@dns-master named]# 
    [root@dns-master named]# 
    [root@dns-master named]# vim host.com.zone 
    $ORIGIN host.com.
    $TTL 1D ; 1 day
    @       IN SOA  dns.host.com. admin.host.com (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      dns.host.com.
    $TTL 60 ; 1 minute
    dns     1       A       10.211.55.200
    dns-masteir 1    A      10.211.55.200
    dns-slave  1    A       10.211.55.201
    www            CNAME   dns
    mail	MX	10	mail.host.com

    做简单的负载均衡,1表示此记录在客户端保存1秒

    3-7. DNS主从密钥认证

    主服务器重启时,会主动给从服务器发送信息,让从服务器更新自己的记录,通讯端口采用TCP 的53端口。
    注:TSIG (主从DNS的时间必须一样)

    3-7-1. 同步时间:

    [root@dns-master named]# ntpdate ntp1.aliyun.com
    26 Oct 08:47:25 ntpdate[27919]: adjust time server 120.25.115.20 offset -0.001823 sec
    [root@slave ~]# ntpdate ntp1.aliyun.com
    26 Oct 08:47:25 ntpdate[5464]: adjust time server 120.25.115.20 offset 0.001321 sec

    3-7-2. 生成密钥,进行主从认证。

    3-7-2-1. 在主DNS服务器上操作。
    [root@dns-master named]# dnssec-keygen -a hmac-md5 -b 128 -n HOST abc
    Kabc.+157+58327
    named.ca  named.empty  named.localhost  named.loopback  slaves
    
    [root@dns-master named]# ls -l Kabc*
    -rw-------. 1 root root  47 10月 26 08:52 Kabc.+157+58327.key
    -rw-------. 1 root root 165 10月 26 08:52 Kabc.+157+58327.private
     -a hmac-md5:采用hmac-md5加密算法。
        -b 128:生成的密钥长度为128位。
    -n 密钥类型。我们选择主机类型:HOST 。 
    -n <nametype>: ZONE | HOST | ENTITY | USER | OTHER
            (DNSKEY generation defaults to ZONE)
     abc #为生成密钥的名字
    
    [root@dns-master named]# cat Kabc.+157+58327.private 
    Private-key-format: v1.3
    Algorithm: 157 (HMAC_MD5)
    Key: JzWZ1q62CjqQs309jhnIMw==    #这是密钥
    Bits: AAA=
    3-7-2-2. 修改主DNS配置:
    [root@dns-master named]# vim /etc/named.conf
    
    	allow-query     { any; };
    	recursion yes;
    
    	dnssec-enable yes;   #取原来注释
    	dnssec-validation yes; #取原来注释
    	dnssec-lookaside auto; #取原来注释
    
    key abckey {#自定义密钥名称
            algorithm hmac-md5;
            secret "JzWZ1q62CjqQs309jhnIMw==";
    };
        
    zone "host.com" IN { 
            type master;
            file "host.com.zone";
            allow-update { 10.211.55.200; };
    		allow-transfer { key abckey; }; #采用密钥进行同步
    };
    
    include "/etc/named.rfc1912.zones";

    重启服务

    [root@dns-master named]# systemctl restart named
    [root@dns-master named]# systemctl status named 
     service named restart
    3-7-2-3. 从DNS 服务器的配置
    3-7-2-3-1. 采用密钥进行同步
    [root@slave slaves]# vim /etc/named.conf 
             recursion yes;
             dnssec-enable yes;
             dnssec-validation yes;
    		 key abckey {
            algorithm hmac-md5;
            secret "JzWZ1q62CjqQs309jhnIMw==";
    };
    zone "host.com" IN {
            type slave;
            file "slaves/host.com.zone.file";
            masters { 10.211.55.200 key abckey;  };
    };
    3-7-2-3-2. 重启服务进行测试:
    [root@slave slaves]# named-checkconf 
    [root@slave slaves]# systemctl restart named
    [root@slave slaves]# systemctl status named
    3-7-2-3-3. 从DNS服务器确认同步结果:
    [root@slave slaves]# ls -l /var/named/slaves/
    总用量 4
    -rw-r--r--. 1 named named 345 10月 26 09:13 host.com.zone.file
    [root@slave slaves]# tail -10 /var/log/messages
    Oct 26 09:13:44 centos7-tmp named[10562]: zone localhost/IN: loaded serial 0
    Oct 26 09:13:44 centos7-tmp named[10562]: all zones loaded
    Oct 26 09:13:44 centos7-tmp named[10562]: running
    Oct 26 09:13:44 centos7-tmp named[10562]: zone host.com/IN: Transfer started.
    Oct 26 09:13:44 centos7-tmp named[10562]: transfer of 'host.com/IN' from 10.211.55.200#53: connected using 10.211.55.201#53806 TSIG abckey
    Oct 26 09:13:44 centos7-tmp named[10562]: zone host.com/IN: transferred serial 1: TSIG 'abckey'
    Oct 26 09:13:44 centos7-tmp named[10562]: transfer of 'host.com/IN' from 10.211.55.200#53: Transfer status: success
    Oct 26 09:13:44 centos7-tmp named[10562]: transfer of 'host.com/IN' from 10.211.55.200#53: Transfer completed: 1 messages, 7 records, 295 bytes, 0.003 secs (98333 bytes/sec)

    3-8. 域名解析测试工具:

    3-8-1. nslookup 测试域名解析

    1. 非交互式模式
    语法: nslookup 域名或IP 地址
    例:
    [root@dns-master named]# nslookup baidu.com
    Server:         fe80::21c:42ff:fe00:18%2
    Address:        fe80::21c:42ff:fe00:18%2#53
    
    Non-authoritative answer:
    Name:   baidu.com
    Address: 39.156.69.79
    Name:   baidu.com
    Address: 220.181.38.148
    1. 交互模式
    [root@dns-master named]# nslookup
    > www.baidu.com
    Server:         fe80::21c:42ff:fe00:18%2
    Address:        fe80::21c:42ff:fe00:18%2#53
    
    Non-authoritative answer:
    www.baidu.com   canonical name = www.a.shifen.com.
    www.a.shifen.com        canonical name = www.wshifen.com.
    Name:   www.wshifen.com
    Address: 104.193.88.123
    Name:   www.wshifen.com
    Address: 104.193.88.77

    3-8-2. dig命令:

    linux下使用dig命令来查询域名信息,当然也可以使用nslookup,但dig比nslookup更方便更强大一些。
    安装:

    [root@dns-master named]# rpm -qf `which nslookup`
    bind-utils-9.11.4-16.P2.el7_8.6.x86_64
    [root@dns-master named]# 
    [root@dns-master named]# rpm -qf `which dig`     
    bind-utils-9.11.4-16.P2.el7_8.6.x86_64
    
    [root@dns-master named]# dig @10.211.55.201 www.baidu.com +short
    www.a.shifen.com.
    14.215.177.39
    14.215.177.38

    3-9. 双线智能DNS:

    智能DNS(Bind-view):
    智能DNS的原理很简单:在用户解析一个域名的时候,判断一下用户 的IP,然后跟DNS服务器内部的IP表匹配一下,看看用户是电信还是网通用户,然后给用户返回对应的IP地址。目前的域名服务运营商不提供智能DNS服务,所以必须自行架设DNS服务或者使用网上免费的智能DNS服务,如DNSPOD.
    https://www.dnspod.cn/

    那我们为什么要使用智能DNS服务器:1、因为不同ISP厂商有竞争,使得我们成为受害者,细心的网友一定会发现,南方的网友访问北方的网站一般都比较慢,北方的网友访问南方的网站也很慢。这些都是厂商之间的竞争导致的。

  • 相关阅读:
    Android使得Fragment 切换时不重新实例化
    根据设备宽高设置View的大小
    解决ScrollView中包含ListView,导致ListView显示不全
    android 学习随笔二十三(动画:Fragment )
    android 学习随笔二十二(小结)
    android 学习随笔二十一(内容提供者 )
    android 学习随笔二十(多媒体编程 )
    android 学习随笔十九(对话框、样式、主题、国际化 )
    android 学习随笔十八(广播与服务 )
    android 学习随笔十七(服务 )
  • 原文地址:https://www.cnblogs.com/chacha51/p/13876903.html
Copyright © 2020-2023  润新知