zoukankan      html  css  js  c++  java
  • DNS服务基础原理介绍

    FQDN 全称域名

        localhost(主机名或者是别名).localdomain(域名)
        FQDN=主机名.域名

        根域               .

        顶级域名       .com   .net    .org

        二级域名

        www  一般是代表一台主机的别名

    DNS服务基础原理

      1.小型规模  适用于企业内部网络

    2.DNS解析原理

     

    DNS解决方案 

        1.bind           使用最广泛    

        2.Unbond

    DNS:Domain Name Service 应用层协议

       1.udp  53

       2.tcp   53

    DNS服务器类型

       主DNS服务器

        (1) 在主配置文件中定义区域 

             zone "ZONE_NAME" IN

              { 

                      type { master|slave|hint|forward}; 

                      file "ZONE_NAME.zone"; 

              }; 

        (2) 定义区域解析库文件   

              出现的内容   

              宏定义   

              资源记录 

       从DNS服务器

           1、应该为一台独立的名称服务器 

           2、主服务器的区域解析库文件中必须有一条NS记录指向从服务器 

           3、从服务器只需要定义区域,而无须提供解析库文件;解析库文件应该放置于 /var/named/slaves/目录中 

           4、主服务器得允许从服务器作区域传送 

          5、主从服务器时间应该同步,可通过ntp进行; 

         6、bind程序的版本应该保持一致; 否则,应该从高   主低 

             定义从区域的方法: 

                 zone "ZONE_NAME" IN { 

                        type slave; 

                       masters { MASTER_IP; }; 

                      file "slaves/ZONE_NAME.zone"; 

             }; 

       转发器(缓存)DNS服务器

          注意:被转发的服务器需要能够为请求者做递归,否则转发请求不予进行

         (1) 全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器  Options {   forward  first|only;   forwarders { ip;};  }; 

        (2) 特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高  zone "ZONE_NAME" IN {   type forward;   forward  first|only;   forwarders { ip;};  }; 

            注意:关闭dnssec功能:  dnssec-enable no;  dnssec-validation no; 

    DNS基础搭建示例

    options {
            listen-on port 53 { localhost; };  
            listen-on-v6 port 53 { ::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     { any; };
    
    }
    /etc/named.conf
    zone "yxh.com" IN {
           type master;
           file "yxh.com.zone";
    
    };
    /etc/named.rfc1912.zones
    $TTL 1D
    @  IN SOA   master.yxh.com. admin.yxh.com. (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      master
    master  A      192.168.231.15
    www     A      192.168.231.15
    /var/named/yxh.com.zone
    #查看命令来自于哪个安装包
    [root@localhost named]# which host
    /usr/bin/host
    [root@localhost named]# rpm -qf /usr/bin/host
    bind-utils-9.9.4-61.el7.x86_64
    #查看端口占用
    [root@localhost centos7]# ss -ntl
    State       Recv-Q Send-Q       Local Address:Port         Peer Address:Port              
    LISTEN      0      128                      *:22                                   *:*                  
    LISTEN      0      100              127.0.0.1:25                                   *:*                  
    [root@yxh6 centos6]# netstat -ntlp | grep 80
    tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      7826/nginx          
    tcp        0      0 :::80                       :::*                        LISTEN      7826/nginx  
    
    
    [root@localhost named]# tail -f /var/log/messages
    Jun  3 04:05:13 localhost named[2236]: zone localhost/IN: loaded serial 0
    Jun  3 04:05:13 localhost named[2236]: zone localhost.localdomain/IN: loaded serial 0
    Jun  3 04:05:13 localhost named[2236]: zone yxh.com/IN: loading from master file yxh.com.zone failed: permission denied
    
    #修改文件的属主属组
    [root@localhost named]# chown root:named yxh.com.zone 
    [root@localhost named]# host www.yxh.com 192.168.231.15
    Using domain server:
    Name: 192.168.231.15
    Address: 192.168.231.15#53
    Aliases: 
    www.yxh.com has address 192.168.231.15
    
    [root@localhost named]# systemctl restart named
    [root@localhost named]# dig www.yxh.com @192.168.231.15
    [root@localhost network-scripts]# vi /etc/resolv.conf 
       # Generated by NetworkManager
        nameserver 192.168.231.15
        nameserver 223.5.5.5
        nameserver 223.6.6.6
    [root@localhost network-scripts]# ping www.yxh.com
    PING www.yxh.com (192.168.231.15) 56(84) bytes of data.
    64 bytes from localhost.localdomain (192.168.231.15): icmp_seq=1 ttl=64 time=0.016 ms
    [root@localhost network-scripts]# ping www.yxh.com
    ping: www.yxh.com: Name or service not known
    [root@localhost network-scripts]# cat /etc/resolv.conf 
    # Generated by NetworkManager
    nameserver 223.5.5.5
    nameserver 223.6.6.6
    nameserver 192.168.231.15
    其它注意事项

    DNS数据库资源记录

     区域解析库:由众多RR组成: 

             资源记录:Resource Record, RR 

             记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX

                SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录, 必须位于解析库的第一条记录

                A:internet      Address,作用,FQDN --> IP 

                AAAA:    FQDN --> IPv6 

                PTR: PoinTeR,IP --> FQDN 

                NS: Name Server,专用于标明当前区域的DNS服务器 

               CNAME:Canonical Name,别名记录 

               MX: Mail eXchanger,邮件交换器 

       SOA记录
               name: 当前区域的名字,例如“yxh.com.”

               value: 有多部分组成 

                     (1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字; 

                     (2) 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如 linuxedu.yxh.com

                     (3) 主从服务区域传输相关定义以及否定的答案的统一的TTL

                    例如: yxh.com. 86400 IN SOA ns.yxh.com. nsadmin.yxh.com.

                            (

                                2015042201 ;序列号

                                2H ;刷新时间

                               10M ;重试时间

                               1W ;过期时间

                               1D ;否定答案的TTL值

                           )

       

      NS记录
            name: 当前区域的名字

            value: 当前区域的某DNS服务器的名字,例如ns.yxh.com.

            注意:一个区域可以有多个NS记录

           例如: yxh.com. IN  NS   ns1.yxh.com.

                       yxh.com. IN  NS   ns2.yxh.com.

            注意:

                   (1) 相邻的两个资源记录的name相同时,后续的可省略

                   (2) 对NS记录 而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录

    DNS服务管理工具

    dig:只用于测试dns系统,不会查询hosts文件进行解析

      • -x IP :测试反向解析
      • -t axfr ZONE_NAME @SERVER :模拟区域传送
      • -t NS . @a.root-servers.net :查询所有的根DNS服务器

    host

      • -t:指定查询记录类型
      • host www.yxh.tech 192.168.0.7 :向192.168.0.7查询www.yxh.tech这个域名

    rndc

      • reload: 重载主配置文件和区域解析库文件
      • reload zonename: 重载区域解析库文件
      • retransfer zonename: 手动启动区域传送,而不管序列号是否增加
      • notify zonename: 重新对区域传送发通知
      • reconfig: 重载主配置文件
      • querylog: 开启或关闭查询日志文件/var/log/message
      • trace: 递增debug一个级别
      • trace LEVEL: 指定使用的级别
      • notrace:将调试级别设置为 0
      • flush:清空DNS服务器的所有缓存记录

     

    nsupdate :   远程管理DNS数据库记录 

                指定的zone语句块中:Allow-update {any;}; 

               chmod 770 /var/named

               setsebool -P named_write_master_zones on 

               nsupdate

                      >server 127.0.0.1 

                      >zone yxh.com 

                      >update add ftp.yxh.com 88888 IN A 8.8.8.8 

                     >send 

                     >update delete www.yxh.com A 

                    >send 

              send的结果会立即保存到yxh.com.zone.jnl的文件中,需要隔断时间后台服务才会自动合并到 yxh.com.zone数据库中

             测试:dig ftp.yxh.com @127.0.0.1

                        ll     /var/named/yxh.com.zone.jnl

                       cat    /var/named/yxh.com.zone 

      

    named-checkconf:检查配置文件的语法

    named-checkzone "yxh.com"    /var/named/yxh.com.zone :查询区域数据库文件的语法 

  • 相关阅读:
    PAT 甲级 1040 Longest Symmetric String
    POJ 1276 Cash Machine
    #Leetcode# 349. Intersection of Two Arrays
    #Leetcode# 922. Sort Array By Parity II
    【USACO题库】3.1.2 Score Inflation总分
    【USACO题库】3.4.4 Raucous Rockers“破锣摇滚”乐队
    【USACO题库】3.4.2 American Heritage美国血统
    【USACO题库】3.3.5 A Game游戏
    【USACO题库】3.3.4 Home on the Range家的范围
    【USACO题库】3.3.1 Riding the Fences骑马修栅栏
  • 原文地址:https://www.cnblogs.com/yxh168/p/9120093.html
Copyright © 2011-2022 走看看