当前位置 主页 > 服务器问题 > Linux/apache问题 >

    详解Linux搭建DNS服务器

    栏目:Linux/apache问题 时间:2019-10-09 19:14

    1.DNS服务器概念

    在互联网上通信需要借助于IP地址,但人类对于数字的记忆能力远不如文字,那么将IP地址转换成容易记忆的文字是个好办法,可是计算机只能识别0、1代码,这时就需要一种机制来解决IP地址与主机名的转换问题,DNS全称为Domain Name System,即域名系统,其作用就是将我们经常使用的“网址”解析为IP地址 联机分布式数据库系统,DNS大多数名字在本地解析,仅少量需要在网上通讯,所以效率高

    2.DNS相关概念

    DNS利用树形目录结构,将主机名的管理分配给不同的层级,这样可以实现更加快速的完成主机名的查找, 修改主机名解析时也更加方便

    域:

    TLD:   Top Level Domain (顶级域名)

    组织域:.com, .org, .net, .edu,.gov,.mil,.cc,…

    国家域:.cn, .us, .tw, .iq,…

    反向域:.in-addr-arpa

    FQDN:

    FQDN全称为Fully Qualified Domain Name,即完全合格域名
    FQDN由两个部分组成:主机名和域名。
    因为DNS是逐级管理的 ,所以在不同的层级中主机名与域名也是不同的;
    以www.google.com为例:
    在第二层中,.com就是域名,google就是主机名;
    而到了第三层中,.google.
    正向解析: 从FQDN转换为IP地址称为正向解析

    反向解析: 从IP地址转换为FQDN称为反向解析

    区域:正向解析或反向解析中,每个域的记录就是一个区域

    3.DNS服务器解析

    DNS的主要作用是进行主机名的解析

    解析:

    根据用户提供一种名称,去查询解析库,以得到另一种名称。 域名—>IP,IP—>域名

    资源记录:rr(resource record) 有类型的概念;用于此记录解析的属性

    *SOA记录:起始授权记录,一个区域文件只能有一个 *A记录:用来指定主机名(或域名)对应的IP(ipv4)地址记录。(AAAA ipv6) *CNAME记录:别名解析(域名) *NS记录:域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。 *MX记录:邮件交换记录,指向邮件服务器 *PTR记录:反向DNS记录,A记录的反向 *TTL值:生存时间,DNS记录在DNS服务器上缓存时间

    4.DNS服务器原理

    DNS采用两种查询机制:递归和迭代

    客户端向DNS服务器发起查询请求,DNS服务器搜索本地解析库没有结果,于是向根域发起查询请求,根域告诉DNS服务器.com服务器上有它需要的资源,DNS服务器又向.com服务器发起查询请求,结果被告知.google.com服务器上有它想要的结果,后终于在.google.com服务器上找到了解析记录,并返回给了客户端 在上面的查询过程中,客户端只发起了一次请求,并得到了后的结果,这种查询方式被称为递归
    而DNS服务器在查询过程中不停的发起请求,直到找到想要的结果,这种查询方式被称为迭代

    5.DNS查询顺序

    本地hosts文件 本地DNS缓存 本地DNS服务器 发起迭代查询

     

    6.DNS服务器端口 TCP UDP 53

    7.DNS服务器类型

    主DNS服务器:

    为客户端提供域名解析的主要区域,主DNS服务器宕机,会启用从DNS服务器提供服务

    从DNS服务器:

    1.主服务器DNS长期无应答,从服务器也会停止提供服务 2.主从区域之间的同步采用周期性检查+通知的机制 3.从服务器周期性的检查主服务器上的记录情况,一旦发现修改就会同步,另外主服务器上如果有数据被修改了,会立即通知从服务器更新记录