DNS服务和搭建

DNS服务:
        名字解析
        DNS 服务
        实现主从服务器
        实现子域
        实现view
        编译安装
        压力测试
        DNS排错
DNS:Domain Name Service   应用层协议
         端口号: C/S,53/udp, 53/tc
本地名称解析配置文件:hosts   
           vim  /etc/hosts
格式:
        122.10.117.2 www.magedu.com      #ip地址可以对应多个域名
        93.46.8.89 www.google.com

根域
    一级域名:Top Level Domain: tld
         com, edu, mil, gov, net, org, int,arpa
         三类:组织 域、国家域(.cn, .ca, .hk, .tw)、 、 反向 域
    二级域名
    三级域名
    最多127 级域名
           ICANN (The Internet Corporation for Assigned Names
           and Numbers )互联网名称与数字地址分配机构,负责在全
           球范围内对 互联网通用顶级域名(gTLD )以及国家和地区顶
           级域名(ccTLD )系统的管理、以及根服务器系统的管理
DNS服务和搭建
DNS 查询类型:
      递归查询          #给定最终结果
      迭代查询          #只指示下一级域的dns和ip,和甩锅类似
      名称服务器:域内负责解析本域内的名称的主机
      根服务器:13 组服务器
      解析类型:
          FQDN –> IP                         #域名解析成IP
          IP –> FQDN
    注意:正反向解析是两个不同的名称空间,是两棵不同的解析树

DNS 服务器的类型:
       主DNS 服务器    管理和维护所负责解析的域内解析库的服务器
       从DNS 服务器    从主服务器或从服务器“复制”(区域传输)解析库副本
       缓存DNS 服务器(转发器)
       “ 通知” 机制:主服务器解析库发生变化时,会主动通知从服务器

一次完整的查询请求经过的流程:
       Client –>hosts件 文件 –>DNS Service Local Cache
       –> DNS Server (recursion) –> Server Cache –>
       iteration( 迭代) –>  根–>  顶级域名DNS–> 二级域名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                   #邮件交换记录

资源记录定义的格式:
          语法:name [TTL] IN  rr_type  value         #一共五项
     注意:           生命期      记录类型   值
      (1) TTL 可从全局继承 
      (2) @ 可用于引用当前区域的名字
      (3) 同一个名字可以通过多条记录定义多个不同的值;此时
            DNS 服务器会以轮询方式响应
      (4)  同一个值也可能有多个不同的定义名字;通过多个不同的名字指向
            同一个值进行定义;此仅表示通过多个不同的名字可以找到同一个主机

name:  当前区域的名字,例如“magedu.com.”
    value:  有多部分组成
      (1)  当前区域的主DNS 服务器的FQDN ,也可以使用当前区域的名字;
      (2)  当前区域管理员的邮箱地址;但地址中不能使用@ 符号,一般用. 替换
           例如linuxedu.magedu.com
      (3)  主从服务区域传输相关定义以及否定的答案的统一的TTL
例如:
     magedu.com.         86400     IN     SOA      ns.magedu.com.
  域名(这个点一定要写)   有效时间        记录类型     主DNS的名字
    可以用@代替方便些
     nsadmin.magedu.com.  (                #邮箱地址,建议写完整加上点
                           2015042201 ; 序列号
                           2H ; 刷新时间
                          10M ; 重试时间
                           1W ; 过期时间
                           1D ; 否定答案的TTL值
                           )
      name:  当前区域的名字
     value:  当前区域的某DNS 服务器的名字,例如:ns.magedu.com.
      注意:一个区域可以有多个NS 记录
  例如:
       magedu.com. IN NS ns1.magedu.com.
       magedu.com. IN NS ns2.magedu.com.
  注意:
     (1)  相邻的两个资源记录的name 相同时,后续的可省略
     (2)  对NS记录而言,任何一个ns 
          记录后面的服务器名字,都应该在后续有一个A
MX记录:
    name:  当前区域的名字
   value:  当前区域的某邮件服务器(smtp 服务器) 的主机名
           一个区域内,MX 记录可有多个;但每个记录的value 之前应
          该有一个数字(0-99) ,表示此服务器的优先级;数字越小优先级越高
   例如:
        magedu.com. IN MX 10 mx1.magedu.com.
        IN  MX 20 mx2.magedu.com.
   注意:
     (1)  对MX 记录而言,任何一个MX 记录后面的服务器名字,
          都应该在后续有一个A 记录
A记录:
exam:
www.magedu.com.  IN A  1.1.1.1
www.magedu.com.  IN A 2.2.2.2
mx1.magedu.com.  IN A 3.3.3.3
mx2.magedu.com.  IN A 4.4.4.4
$GENERATE 1-254 HOST$ A 1.2.3.$
.magedu.com.  IN A 5.5.5.5
magedu.com. IN A 6.6.6.6
    避免用户写错名称时给错误答案,可通过泛域名解析进行解
    析至某特定地址,如上使用

服务脚本和名称:/etc/rc.d/init.d/named
               /usr/lib/systemd/system/named.service
  主配置文件:/etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key
  解析库文件:/var/named/ ZONE_NAME.ZONE
  注意:
      (1)  一台物理服务器可同时为多个区域提供解析
      (2)  必须要有根区域文件;named.ca
      (3)  应该有两个(如果包括ipv6 的,应该更多)实现localhost
     rndc: remote name domain controller,
     默认与bind 安装在同一主机,且只能通过127.0.0.1 连接named 进程
    提供辅助性的管理功能;953/tcp

主DNS 名称服务器:
      (1)  在主配置文件中定义区域
           zone “ZONE_NAME” IN {
                type {master|slave|hint|forward};
                file “ZONE_NAME.zone”;
            };

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

        dig -x IP = dig –t ptr reverseip.in-addr.arpa

NDS排错:

• NOERROR 不代表没有问题,也可以是过时的记录
•  查看是否为权威记录,flags:aa 标记判断
•  被删除的记录仍能返回结果,可能是因为* 记录存在
•  如:*.example.com. . IN A 172.25.254.254
•  注意“. ”的使用
•  避免CNAME 指向CNAME 记录,可能产生回环
          test.example.com. IN CNAME lab.example.com.
          lab.example.com. IN CNAME test.example.com.
•  正确配置PTR 记录,许多服务依赖PTR ,如sshd,MTA
•  正确配置轮询round-robin

原创文章,作者:shewei,如若转载,请注明出处:http://www.178linux.com/73384

(0)
sheweishewei
上一篇 2017-04-15
下一篇 2017-04-16

相关推荐

  • 初涉Linux基本要点概括(2)

    linux上的文件查看与管理类命令 mkdir 作用: 创建目录 语法: mkdir [OPTION]… DIRECTORY… 示例: mkdir -p /tmp/x/y/z             &nb…

    Linux干货 2016-10-15
  • 文本处理工具sed、vim

    文本处理工具sed、vim 一、sed的使用 1、sed的概念 sed简单地说sed是一种行处理工具。 sed 是一种流性的行编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space ),接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末…

    Linux干货 2016-08-11
  • grep的使用,正则表达式

    文本处理grep     grep :根据模式去搜索文本,并将匹配到的文本显示出来 pattern(模式):文本字符和正则表达式的元字符组合而成的匹配条件 正则表达式:(REGular EXPression)正则表达式就是处理字符串的方法,通过一些特殊字符的辅助,让用户轻松方便的达到查找、删除、修改特定字符串的处理程序 grep 的用法     name: …

    Linux干货 2017-11-25
  • TCP和ARP

    TCP是一个工作在传输层,面向连接的协议,一台计算机与另一台计算机通信就需要TCP协议,当然还有一个和它并列的一个协议可以使用,只是TCP更加稳定且常用. 上图为一台计算机与另一台计算机建立通讯的过程,它实际通信中传递的不止斜线上的信息.上面的SYN是同步号, ACK为确认号.seq为序列号,ack为辅助的确认号 上面为建立通信时发送的TCP信息详细结构,i…

    Linux干货 2017-11-29
  • 分区块基本知识点及侧重点 — 上

        我们需要熟练了解磁盘分区原理。元数据及块设备对应inode是最重要也是最基本的原理。后面分区很多地方都和inode有关系。    一个磁盘片有63扇区,1024存储位,256个磁头,每个扇区只有前512字节是有效存储单元。所以后面磁盘清零都是跟512这个数字有关。    数据分数据区和元数据…

    Linux干货 2016-08-24
  • N25第七周学习总结(CentOS 7 系统启动流程)

    CentOs系统启动流程 大纲 1、    什么是CentOs系统启动流程 2、    为什么要了解CentOS系统启动流程 3、    了解CentOS系统启动流程对我们有什么帮助 4、    CentOs系统启动流程详解   …

    Linux干货 2017-02-20