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)
  • 相关阅读:
    461. Hamming Distance
    342. Power of Four
    326. Power of Three
    368. Largest Divisible Subset java solutions
    95. Unique Binary Search Trees II java solutions
    303. Range Sum Query
    160. Intersection of Two Linked Lists java solutions
    88. Merge Sorted Array java solutions
    67. Add Binary java solutions
    14. Longest Common Prefix java solutions
  • 原文地址:https://www.cnblogs.com/l-mac/p/11668815.html
Copyright © 2011-2022 走看看