zoukankan      html  css  js  c++  java
  • DNS服务的安装

    DNS服务器原理及配置

    域名讲解

    • www.baidu.com 完整的域名,通常.来进行分割三个部分;www是主机名,baidu是域名,com是类型
    • 主机名 + 域名 + 类型 构成完整的域名
    DNS服务器分为以下几种:
    - "." :完整网址中最后的那个 ".",代表DNS的根服务器,根服务器是DNS服务器中最上层的服务器,分布在全球,其中保存着该区域的所有类型的DNS服务器的ip地址
    - com:是一个DNS类型
    - baidu.com:baidu为域名,是com的下级dns服务器,里面保存着域名为baidu.com的所有主机对应的ip地址
    
    DNS服务器的两种查询模式:
    - 递归查询:到一个dns服务器查询到结果后就将结果返回给查询者,查询者再去查询别的DNS服务器,一次次的查询知道返回结果
    - 循环查询:查询者向一个DNS服务器发起查询后由这个DNS服务器去查询别的服务器A,A又去查询服务器B,回到找到结果,然后返回给B,B返回给A,A在返回查询者
    
    
    概念
    • DNS:Domain Name System 域名解析系统,作为域名和ip地址相互映射的一个分布式数据库,能够使得用户可以方便的访问互联网的过程称为域名解析
    • DNS协议运行在UDP协议之上,使用端口号为53.
    • 功能:每个ip地址都有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。
    DNS映射方式
    • 静态映射:每台上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用。
    • 动态映射:建立一套域名解析系统(DNS),只在专门的DNS服务器配置主机到IP地址的映射,网络上使用主机名通信的设备,需要在DNS服务器上查询主机对应的IP地址,通过主机名最终得到该主机对应的IP地址过程称为域名解析。
    DNS常用资源记录类型
    • A:地址,此记录列出特定主机名的IP地址,是名称解析的重要记录
    • CNAME:标准名称,此记录指定标准主机名的别名
    • MX:邮件交换服务器,此记录列出了负责接收到域中的电子邮件的主机
    • NS:名称服务器,此记录指定负责给定区域的名称服务器
    DNS服务器类型
    • 缓存服务器:缓存dns信息,提供服务给用户查询,不能自定义域名配置进行解析
    • 主DNS服务器:负责解析本地客户端请求
    • 辅助DNS服务器:辅助服务器的区域数据都是从主服务器复制而来,其数据都是只读的
    dig命令详解
    • 语法:dig -t 资源记录类型 名称 @server-ip
    • 工作机制:不加@server-ip,根据/etc/resolv.conf配置的解析文件类查询
    • 加@server-ip:根据指定的DNS服务器来解析,绕过了本地解析库设置的DNS服务器
    常用命令组合
    dig -x IP @server-ip  查询反向解析
    dig -t 资源记录类型 名称 trace  追踪解析的过程
    

    DNS服务器的搭建

    # DNS服务器安装bind、bind-chroot、bind-utils;bind-chroot会生成一个伪根目录
    # yum install -y bind bind-utils bind-chroot 
    
    # 编辑配置文件/etc/named.conf
    # vim /etc/named.conf
    options {
    //      listen-on port 53 { 127.0.0.1; };   #注释此行 //也可修改为dns服务器的ip地址或者any
    //      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";
            recursing-file  "/var/named/data/named.recursing";
            secroots-file   "/var/named/data/named.secroots";
    //      allow-query     { localhost; };      #注释此行  //也可设置为any
    
    # 启动named服务
    # systemctl start named
    # systemctl enable named 
    # netstat -ntlp #查看是否启动
    
    # 编辑区域配置文件
    # 文件位置: /etc/named.rfc1912.zones
    # vim /etc/named.rfc1912.zones
    新建区域:
    # 配置正向解析
    zone "dong.com" IN {
          type master;
          file "dong.com.zone";  
    };
    # 配置反向解析;反向解析的区域名称:reverseIP.in-add.arpa
    zone "1.168.192.in-addr.arpa" IN {
          type master;
          file "1.168.192.zone";
    };
    
    # 检查配置文件的语法
    # named-checkoutconf /etc/named.conf
    # named-checkoutzone zonename filename 
    
    
    # 创建区域数据文件
    # cp -p /var/named/named.localhost dong.com.zone #复制模板文件
    # cd /var/named/
    
    # 正向解析配置
    # vim dong.com.zone
    $TTL 1D
    @       IN SOA  @ rname.invalid. (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            IN   NS      @
            IN   A       192.168.1.10
    www     IN   A       192.168.1.10
    文件详解:
    SOA是start Of Authority开始验证的意思,与域有关,后面接的7个参数及含义
    1>master DNS服务器主机名,即在这个域中哪个DNS作为主服务器
    2>管理员的email,即出现问题可给管理员发送邮件
    3>序号,这个序号代表数据库档案的陈旧,序号越大,代表越新
    4>刷新频率 refresh,即slave向master要求数据更新的频率
    5>失败重新尝试时间 retry,如果因为某些因素,导致slave无法对master达成联机,那么在多久的时间内,salve会尝试重新联机到master
    6>失效时间 expire,如果一直失败尝试时间,持续联机到达这个设定值时,那么slave将不在继续尝试联机
    存活时间minimum ttl,如果在这个数据库zone file中,每笔记录都没有显性设定ttl快取时间的话,那么就以这个值为主 
    区域配置文件格式:
    [名称] [TTL] [网络类型] 资源记录类型 数据
    名称:指定资源记录引用的对象名,可以是主机名,也可以是域名。对象名可以是相对名称也可以是完整名称。完整名称必须以点结尾。当前域名为google,则表示www主机时,完整名称为www.google.com,相对名称为www
    TTL:指定资源记录存在缓存中的时间,单位为秒。若省略,则使用文件开始的TTL所定义的时间
    网络类型:常用的IN资源记录类型:SOA、NS、A、PTR、MX、CNAME;一般情况下SOA记录第一行,NS记录第二行,接着MX记录。
    通常用SOA记录@,表示当前域
    
    # vim /var/named/1.168.192.zone
    $TTL 1D
    @       IN SOA  dong.com. admin.dong.com. (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
           IN NS  dong.com.
    10     IN PTR dong.com.
    
    # 重启dns服务
    # systemctl restart named 
    # 添加防火墙
    # firewall-cmd --add-service=dns --permanent 
    # firewall-cmd --reload 
    # firewall-cmd --list-all
    
    # 使用命令解析
    # nslookup www.dong.com
    # dig -t A www.dong.com @192.168.1.10
    
    

    DNS服务器配置总结

    • 每个DNS服务器必须要有一个对应的NS资源记录
    • 创建slave的时候,其配置文件类型必须是type slave,必须制定主服务器的IP地址
    • 可以使用 dig -t axfr test.com @server_ip 从主DNS服务器拉取所解析库资源记录
    • 主从同步完成后,将自动在slave服务器上的slave/目录下生成zone文件,这些区域文件是从主DNS同步过来的,一般只读
    • 在主DNS上修改区域文件时,必须将SOA记录的serial加1因为slave是通过serial值进行判断更新的
    • DNS的日志默认保存在/var/log/message文件中
    • DNS解析依赖于解析库
    • 正向解析里面没有PTR记录,反向记录库里面不需要A 、MX 和CNAME记录

    区域传送原理

    区域传送
    • dns从服务器是容错设计,一旦dns主服务出现故障或因负载太重无法及时响应客户机请求,从服务器将挺身而出代理主服务器。从服务器的区域数据都是从主服务器复制而来的,因此从服务器的数据都是只读的。
    • slave从master复制区域数据的过程叫做区域传送,区域传送使用的TCP的53端口
    • 区域传送的类型:完全区域传送(AXFR) 增量区域传送(IXFR)
  • 相关阅读:
    Jzoj5542 董先生的钦点
    Jzoj5542 董先生的钦点
    (各种)FFT模板
    (各种)FFT模板
    Jzoj3528 图书馆
    Jzoj3528 图书馆
    Jzoj5317 Func
    Jzoj5317 Func
    Jzoj3591 数据
    【UVa11021】Tribles
  • 原文地址:https://www.cnblogs.com/l-mac/p/11668815.html
Copyright © 2011-2022 走看看