DNS服务基础

DNS服务:是一种工作在应用层的特定应用,也是.c/s架构模式的,DNS的是一种应用层协议,他的端口是UPD协议的53号端口,()根据应用场景不同也会用到tcp协议)这就意味着DNS是默认通过UDP协议进行通信的

我们访问任何一个网站都是通过主机名的方式进行访问的;例如www.baidu.com,这是个主机名.称之为FQDN(完全限定域名)

常见的顶级域中的组织域有:.com,.net,.org,.gov,.edu,.mil

常见的顶级域中的国家域有:.iq,.tw,.jp,.cn…

DNS查询类型:
递归查询:
迭代查询:
DNS名称解析方式:
名称 --> IP:正向解析
IP --> 名称:单向解析
注意:二者的名称空间,非为同一个空间;即非为同一颗树,因此,也不是同一个解析库
DNS服务器类型:
负责解析至少一个域:
    主名称服务器
    辅助名称服务器
不负责域解析:
    缓存名称服务器
一次完整的查询请求经过的流程:
client --> hosts文件 --> DNS Loscal Cache --> DNS Server(recursion,递归) -->
自己负责解析的域:直接查询数据库并返回答案;
不是自己负责域:server cache --> iteration(迭代)

解析答案:
    肯定答案:
    否定答案:不存在查询的键,因此,不存在与其查询对应的值

    权威答案:由直接负责的DNS服务器返回的答案
    非权威答案:

主-辅DNS服务器

主DSN服务器:维护所负责解析的域的数据库的那台服务器,读写操作均可进行
从DNS服务器:从主DNS服务器那里或其他的从服务器那里"复制"一份解析库,但只能进行读操作
    "复制"操作的实施方式
        序列号:也即是数据库的版本号,主服务器数据库内容发生变化时,其版本号递增
        刷新时间间隔:从服务器每多久到主服务器检查序列号更新状况
        重试时间间隔:从服务器从主服务器请求同步解析库失败时,再次发起尝试请求的时间间隔
        过期时长:从服务器始终联系不到主服务器时,多久之后放弃从主服务器同步数据,停止提供服务
        否定答案的缓存时长:

        注意:主服务器数据发送更新以后,主服务器会"通知"从服务器随时更新数据,忽略刷新时间间隔机制进行
    同步方式:
        区域传送:
            全量传送:传送整个数据库;
            增量传送:仅传送变化的数据
区域和域的区别:
    以magedu.com域为例
        FQDN --> IP 
            正向解析库:正向解析区域
        IP --> FQDN
            反向解析库:反向解析区域
区域数据库文件:
资源记录:简称rr
    记录有类型:A,AAA,PTR,SOA,NS,CHAME,MX
    SOA:起始授权记录,一个区域解析库有且只能有一个SOA记录;而且只能放在第一条
    NS:域名服务记录;一个区域解析库可以有多个NS记录;其中一个为主
    A:地址记录,从FQDN解析为IPV4地址记录
    AAAA:地址记录,从FQDN解析为IPV6地址记录
    CNAME:别名记录
    PTR:把IP地址解析成FQDN,所以PTR记录是用来反向解析的记录
    MX:邮件交换器
        优先级:0-99,数字越小优先级越高
资源记录的定义格式:
    语法: name    [ttl]   IN  RR_TYPE value
多种不同的资源记录他们的名称和值的特点要求,如下;
SOA:
    name:当前区域的名字;例如"magedu.com",或者"2.3.4.in-addr.arpa"
    value:有多部分组成
        1)当前区域的区域名称(也可以使用主DNS服务器名称)
        2)当前区域的管理员的邮箱地址;但地址中不能使用@符号,一般使用点号来替代
        3)(朱从的服务协调属性的定义以及否定答案的TTL)

            例如:
                magedu.com. 86400   IN  SOA magedu.com. admin.magedu.com. (
                    2017010801 ;serial
                    2H         ;refresh
                    10m        ;retry
                    1w         ;expire
                    1D         ;negative answer ttl
                )
NS:
    name:当前区域的区域名称
    value:当前区域的某DNS服务器的名字,例如ns.magedu.com
        注意:一个区域可以用多个ns记录
    例如:
        magedu.com. 86400   IN  NS  ns1.magedu.com.
        magedu.com. 86400   IN  NS  ns2.magedu.com.

MX:
    name:当前区域的区域名称
    value:当前区域某邮件交换器的主机名
        注意:MX记录可以有多个;但每个记录的value之前应该有一个数字表示其优先级
    例如:
        magedu.com. 86400   IN  MX  10  mx1.magedu.com.
        magedu.com. 86400   IN  MX  20  mx2.magedu.com.
A:
    name:某FQDN,例如www.magedu.com.
    value:某IPV4地址
    例如:
        www.magedu.com. IN  A   1.1.1.1
        www.magedu.com. IN  A   1.1.1.2
        bbs.magedu.com. IN  A   1.1.1.1
AAAA:
    name:FQDN
    value:IPV6
PTR:
    name:IP地址,有特点格式:IP反过来写,而且加特别后缀;
    例如:1.2.3.4的记录应该写为4.3.2.1.in-addr.arpa.
    value:FQDN
    例如:
        4.3.2.1.in-addr.arpa.   IN  PTR www.magedu.com
CNAME:
    name:FQDN格式的别名
    value:FQDN格式的正式名字
    例如:
        web.magedu.com. IN  CNAME   www.magedu.com

注意:
    1)TTL值可以全局继承;不用每个都定义
    2)@表示当前区域的名称
    3)相邻的两条记录其name相同时,后面的可省略
    4)对于正向区域来说,各MX,NS等 类型的记录的value为FQDN,此FQDN应该有一个A记录

DNS and Bind

如何安装配置使用DNS服务

BIND:伯克利互联网域名,BIN是DNS协议的一种实现,BIND这个程序运行起来的进程名叫named.

dns:协议
bind:dns协议的一种实现
named:bind程序的运行的进程名
BIND的安装配置:
bind-libs:被bind和bind-utils包中的程序共同用到的库文件
bind-utils:bind客户端程序集,例如dig,host,nslookup等
bind:提供的dns server程序,以及几个常用的测试程序
bind-chroot:选装程序,让named运行于jail(监狱)模式下

主配置文件

/etc/named.conf
或包含其他文件;
    /etc/named.iscdlv.key
    /etc/named.rfc1912.zones
    /etc/named.root.key

解析库文件;

/var/named/目录下;
    一般名字为:ZONE_NAME.zone
注意:1)一台DNS服务器可同时为多个区域提供解析;
    2)必须要有根区域解析库文件:named.ca
    3)还应该有两个区域解析库文件:localhost和127.0.0.1正反向解析库
        正向:named.localhost
        反向:named.loopback

rndc:远程名称域控制器

rndc默认情况下工作在tcp的953端口,但默认监听于127.0.0.1地址,因此仅允许本地使用.BIND安装在同一主机,bind程序安装完成之后,默认即可做缓存名称服务器使用;如果没有专门复杂解析的区域,直接即可启动服务;

开启

centos6:service named start
centos7:systemctl start named.service

主配置文件格式:

全局配置段:
    options{...}
日志配置段:
    logging{...}
区域配置段:
    zone{...}
        那些由本机负责解析的区域,或转发的区域
    注意:每个配置语句必须以分号结尾 
缓存名称服务器的配置:
    监听能与外部主机通信的地址
        listen-on port 53;
        listen-on port 53{ 172.16.100.67; };

    学习时,建议关闭dnssec
        dnssec-enable no;
        dnssec-validation no;
        dnssec-lookaside no;
检查配置文件的语法错误;
    named-checkconf [/etc/named.conf]
测试工具:dig,host,nslookp
    dig命令:
        dig [-t RR_TYPE] name [@SERVER] [query options]
            用于测试dns系统,因此其不会查询hosts文件
            查询选项:
                +[no]trace:跟踪解析过程
                +[no]recures:进行递归解析
            注意:反向解析测试
                dig -x ip
            模拟完全区域传送
                dig -t axfr DOMAIN [@server]

    host命令:
        host [-t RR_TYPE] name SERVER_IP

    nslookup命令
        nslookuop [-options] [name] [server]

    交互式模式:
        nslookup>
            server IP:以指定的IP为DNS服务器进行查询
            set q=RR_TYPE:要查询的资源记录类型
            name:要查询的名称

原创文章,作者:M20-1马星,如若转载,请注明出处:http://www.178linux.com/58133

(0)
M20-1马星M20-1马星
上一篇 2016-11-07
下一篇 2016-11-07

相关推荐

  • 系统启动及内核管理

    一、知识整理 1、nohup 命令:不挂断地运行命令,远程连接当断网或断开shell时还可以继续运行。无论是否将nohup命令的输出重定向到终端,输出都将附加到当前目录下的nohup.out文件中,如果当前不可写,则重定向到家目录nohup.out文件,除非定义了输出文件。 nohup COMMAND 输出重定向至文件 nohup COMMAND &…

    Linux干货 2016-09-19
  • 标准I/O和管道

    程序包含指令和数据,经常需要读入数据和输出数据 打开的文件都有一个fd:file descriptor(文件描述符) 用nano打开一个文件,查看其PID  0,1,2就是所谓的文件描述符。 在Linux里输入输出和错误都由这三个描述符来表示 标准输入(STDIN) -0 默认接受来自键盘的输入 标准输出(STDOUT)-1 默认输出到终端窗口 标…

    Linux干货 2016-08-08
  • class 11 压缩软件(二)、shell编程(三)和软件包管理(一)

    一、压缩软件(二) tar tar [OPTION]… (1) 创建归档     tar -c -f / PATH/TO/SOMEFILE .tar FILE…     tar cf…

    Linux干货 2016-08-21
  • FHS文件系统介绍及各目录功能说明

    作者:M21-陆东贵 FHS文件系统介绍及各目录功能说明 FHS简介 Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾…

    Linux干货 2016-10-18
  • HDFS写入和读取流程

    一、HDFS HDFS全称是Hadoop Distributed System。HDFS是为以流的方式存取大文件而设计的。适用于几百MB,GB以及TB,并写一次读多次的场合。而对于低延时数据访问、大量小文件、同时写和任意的文件修改,则并不是十分适合。 目前HDFS支持的使用接口除了Java的还有,Thrift、C、FUSE、WebDAV、HTTP等。HDFS…

    Linux干货 2015-05-12
  • MySQL复制

    目录: 1.备份与恢复 2.主从复制 3.主主复制 4.半同步复制 5.MHA 6.centos7搭建mariadb Galera集群 1.备份和恢复 备份工具:mysqldump+复制binlog xtrabackup (1) mysqldump+复制binlog 备份: mysqldump -E -R –triggers –master-data=2 –…

    2017-11-21