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 18:37
下一篇 2017-04-16 10:02

相关推荐

  • 四.Linux博客-2016年7月26日ls、通配符、touch、cp、mv、rm、mkdir

    格式说明: 操作 概念 命令 说明及举例 四.ls、通配符、touch、cp、mv、rm、mkdir du -sh /sys 查看文件、文件夹大小 /sys/class/scsi_host/host2/scan 在线扫盘(新加硬盘执行这个命令后才能发现) stat /etc/issue 更详细的看数…

    Linux干货 2016-08-23
  • DNS域名系统

    【本文导航】DNS域名系统DNS域名系统DNS解析类型DNS查询类型DNS服务器类型资源记录   SOA记录   NS记录   MX记录   A记录与泛域名   PTR记录   CNAME记录   AAAA记录子域区域传…

    Linux干货 2016-12-26
  • linux基础知识

    冯*诺依曼体系 摩尔定律

    2018-03-26
  • 0803linux基础小记

    让普通用户无法登录: centos 6  touch /etc/nologin echo "wating" > /etc/nologin 普通用户登录时不能进入系统,有提示信息 centos7  touch /etc/nologin 或touch /run/nologin  chage -l …

    Linux干货 2016-08-05
  • Linux基础之shell脚本编程(三)

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;   1 #!/bin/bash   2 #author:BaoZhang   3 #  …

    Linux干货 2016-11-20
  • 方便实用的文件查找与压缩

    在平时的运维工作当中通常会编辑某些文件,但时间久了,突然一下子记不起文件的名字,遇到的事情又很紧急,需要立马去处理,而自己只知道那个文件部分的特征信息,我们需要在系统中去搜索自己想要的文件,那么有没有办法去实现呢,当然有,在我们的系统中,文件查找的工具有两个,locate和find。那么下面来介绍这两个工具的用法以及两个工具之间的差别。 在我们linux系统…

    Linux干货 2016-08-13