DNS服务

作者: 一桥长书 | 来源:发表于2017-10-08 15:27 被阅读0次

    由于网络是基于IP来进行信息传递,但是IP,又不太容易记住,为了容易记忆,所以研发地址解析,方便人们记忆

    1 DNS and BIND

    DNS: Domain Name Service (域名解析服务) 应用层协议
    是基于C/S,监听端口 53/udp,53/tcp
    BIND: Berkerley Internat Name Domain 研发
    网址是 www.isc.org
    本地名称解析配置文件: hosts
    linux: /etc/hosts
    windows: %WINDIR%/system32/drivers/etc/hosts

    2 DNS 域名的结构

    几个基本概念
    域: 是逻辑概念,指管理一个范围
    DNS服务器: 负责具体的域,管理本域的域名解析服务
      根服务器: 全球一共13个,一个主根服务器和9个辅助服务器都在美国,2个在欧洲,1个在日本
    DNS服务器可分为主从服务器 缓存服务器 转发服务器 主服务器
      主DNS服务器: 维护所负责的解析的域内解析库服务器,解析库由管理员维护
      从DNS服务器: 从主服务器或其他从DNS服务器复制(区域传递)一份解析库
        序列号  解析库版本号 前提 主服务器解析库发生变化,及序列号递增
        刷新时间 从服务器从主服务器请求同步解析库的时间间隔
        重试时长 从服务器从主服务器请求同步解析库失败时,再次尝试的时间间隔
        过期时长 在指定的时间内不能从主服务器同步数据,从服务器也会down掉
        "通知" 机制 notify 主服务器修改通知从服务器更改信息
      区域传送可分为两种:
        全量传送 axfr
        增量传送 ixfr
    

    3 DNS 查询类型及解析

    • DNS的资源类型
    查询方式
      递归查询: 查询请求者一次就可以得到结果
      迭代查询: 查询请求这要多次才能得到答案
    查找顺序
      client --> hosts文件 --> DNS service --> local cache(本地缓存) --> DNS Server(recursion)递归 --> Server cache --> iteration(迭代)
    解析得到的答案
      肯定答案: 请求得到结果,进行返回
      否定答案: 请求的条目不存在等原因返回结果
      权威答案: 由自己管理的域名,及自己的解析库中,有这条记录
      非权威答案: 由缓存得之,非自己管理的域名解析,本地解析库没有这条记录
    
    资源记录类型 resource record
      SOA start of authority 起始授权记录
      定义一个区域解析库有且仅能有一个SOA记录,而且必须为第一条记录
      SOA 定义域 
      NS 域内负责解析的主机 name server 标识当前区域的DNS服务器
      A ipv4 Internet address  作用 FQDN-->IPv4
      AAAA ipv6  作用 FQDN-->IPv4
      PTR 反向解析 pointer 作用 IP-->FQDN 
      CNAME 别名 canonical name 
      MX 邮件 Mail eXchanger 邮件交换器
    资源类型的定义格式
      语法: name [TTL] IN rr_type value
    注意
      1 TTL 可以全局继承
      2 @可用于引用当前区域的名字
      3 同一个名字可以通过多条记录定义多个不同的值,此时,将以轮询的方式来进行响应
      4 同一个值也可以有多个不同的定义名字,通过多个不同的名字指向同一个值进行定义,此仅表示通过多个不同的名字可以找到同一个主机
    SOA 记录
     name:当前区域的名字 如 "johniu.com"
     value: 
      1 当前区域的主dns服务器FQDN 也可以是当前区域的名字
      2 当前区域管理员的邮箱地址,但地址中不能使用@符号 一般用.代替 例如 linuxedu.magedu.com.
      3 (主从服务协调器属性的定义以及否定的答案的统一的TTl)
     例如
     @  86400 IN SOA ns.johniu.top.     admin   (
                                     2017070901 ;序列号
                                     2H         ;刷新时间,从服务器到主服务器
                                     10M        ;重试时间,从服务器到主服务器
                                     1W         ;过期时间,从服务器
                                     1D         ;否定答案的TTL值
                                     )
    NS
     name 当前区域的名字
     value 当前区域的某个DNS 服务器的名字 例如 ns.johniu.top.;
     注意 一个区域可以有多个NS 记录
     例如
                            NS  ns1.johniu.com.
                            NS  ns2.johniu.com.
     注意
      1 相等的两个资源记录的name相同时,后续的可以省略
      2 对NS记录而言,任何一个ns记录后面的服务器名称,都应该在后续有一个A 记录
    MX
     name 当前区域的名字
     value 当前区域某个邮件服务器(smtp服务器)的主机名
     一个区域内可以有多个,但每一个value都有一个数字(0-100),标识服务器的优先级,数字越小优先级越高
    例如
            MX 100  mx1.johniu.top.
            MX 10   mx2.johniu.top.
    A
     name 某个主机的FQDN 例如 www.johniu.top.
     value 主机名对应的IP地址
     例如
     www        IN     A     IP
     www    IN     A     IP2
     mx1    IN     A     IP3
     mx2    IN     A     IP4
     泛域名解析
     *      IN     A     IP
     按照一定序列进行解析
     $GENERATE  1-100 server$   A 192.168.25.$   
     避免用户写错名称时,给错名字,可以通过泛域名解析进行解析至某指 定的地址
    PTR 反向解析
     name: IP 有特定格式,把IP地址反过来写
     value: FQDN
     例如
     4.3.2.1.in-addr.arpa.          IN      PTR    www.johniu.com.
     可简写
     4                      IN  PTR    www.johniu.com.
     注意,网络地址及后缀可以省略,主机地址依然需要完整写
    CNAME
     name 别名的FQDN
     value 正工名字的FQDN
     例如,
     web                    IN     CNAME    www
    
    • DNS 配置文件
    服务配置文件主配置文件 /etc/named.conf,/etc/named.rfc1912.zones,/etc/rndc.key
      在 /etc/named.conf 的option{}中定义一些服务器属性
      如果要搭建服务需要定义区域
       zone "ZONE_NAME" IN {
          type {master|slave|hint|forward(局部转发域)};
          file "ZONE_NAME.zone";
        }
    解析库文件 /var/named
    
    • 主服务器搭建
    1 首先在/etc/named.rfc1912.zones 添加域名解析
      zone {
        type master;
        file "johniu.com.zone";
      };
    2 添加区域解析库
     新建编辑 /var/named/johniu.com.zone 注意权限,named用户有读的权限
     $TTL 1D
     @       IN SOA  ns1 admin (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
             NS      ns1
             MX  10  mail
     ns1     A       172.18.23.40
     web     NS      172.18.23.40
     *       A       172.18.23.40
     $GENERATE  1-100 server$   A 192.168.1.$
     @       A       172.18.23.40
     www     CNAME   web
     mail   A       172.18.23.40
    

    然后,就可以启动服务进行测试
    测试工具

    dig [-t type] name [@server] +option
    如 dig -t NS johniu.com @localhost 
         dig -t A www.johniu.com @localhost
    
    • 主从服务器搭建
    1 首先,另找一台主机,将其搭建为从服务器,安装并配置好服务
     在options中定义可以供外部查询,及禁止区域传送
     allow-transfer {none;};
     在/etc/named.rfc1912.zones定义主服务器的
     zone "johniu.com" IN {
       type slave;
       masters { master_ip; };
       file "slaves/zone_name.zone";
     }
    2 在主服务器上,定义可以传送的主机options选项中定义
    allow-transfer {从服务器 IP;};
    3 开启服务进行测试
    
    • 搭建转发服务器
    转发分为全局转发和区域转发
    全局转发: 但客户端来进行DNS查询的时候,全部转发到定义的服务器上
     options {
      forward {first|only}; #first 先转发,如果转发到的服务器也不能查到结果,就自己出去查询,only表示只做转发,自己不查询
      forwarders {IP1;IP2;};
     }
    区域转发: 仅转发对特定区域的请求之指定服务器
      zone "ZONE_NAME" IN {
        type forward;
        forward {only|first};
        forwarders {IP1;IP2;}; 
      };
    

    4 BIND 中基础的安全相关的配置

    acl 把一个或多个地址归并为一个集合,并通过一个统一的名称调用
      acl acl_name {
        ip;
        ip;
       net/netmask;
      };
      如:
      acl mynet {
        172.18.0.0/16;
      }
    bind中四个内置的acl
      none 没有任何主机
      any 任意主机
      local 本机
      localnet 本机的IP同子网掩码运算后得到的网络地址
    注意,acl需要先定义,后使用,他一般定义在配置文件中的options之前
    访问控制的指令
      allow-query {}; 允许查询的主机,或为网络主机
      allow-transfer {};允许进行传送的主机
      allow-recursion {}; 允许递归的主机
      allow-update {}; 允许更新区域数据库中的内容
    

    相关文章

      网友评论

          本文标题:DNS服务

          本文链接:https://www.haomeiwen.com/subject/blveyxtx.html