• DNS 01-DNS简介


    DNS简介

    • DNS--域名系统(Domain Name System)
    • 用于查询域名对应的IP地址。
    • 域名与目录树类似形成一个树状结构, 最右侧为顶级域, 向左域名级别降低。
    • 所有域名都属于根域。根域由13组根域名服务器管理。
    A.ROOT-SERVERS.NET - M.ROOT-SERVERS.NET
    
    • 根域的下一级为顶级域 TLD (top level domain)
      • 通用顶级域名:.com,.net,.gov
      • 地区顶级域名:.cn,.jp
      • 次级域名:cnblogs,baidu,google
      • 最低级的为主机名:www,mail

    DNS解析过程

    • 查询本地hosts文件, unix系操作系统一般在/etc/hosts。
    • 若hosts文件不存在相关记录, 则检查本地DNS缓存。
    • 若本地DNS缓存不存在相关记录则查询首选名称服务器。

    DNS功能分类

    • 主DNS服务器:存储着原始资料的DNS服务器
    • 从DNS服务器:使用自动更新方式从主DNS服务器同步数据的DNS服务器(辅助DNS服务器)
    • 缓存服务器:不负责本地解析,采用递归方式转发客户机查询请求,并返回结果给客户机的DNS服务器。同时缓存查询回来的结果,也就递归服务器。
    • 转发器:发现非本机负责的查询请求时,不在向根域发起请求。而是直接转发给指定的一台或多台服务器。

    DNS记录类型

    • DNS是一个分布式的数据库, 主要是保存域名和IP之间的关系。
    • 名称服务器使用区域文件保存自己的记录, 区域文件中除了DNS记录外还定义了一些环境变量。
      • $ORIGIN:表示本NS管理的域, 如$ORIGIN example.com。
      • $TTL:表示解析记录在缓存中的默认过期时间。

    A记录和AAAA记录

    A记录是IPv4主机记录;AAAA记录是IPv6主机记录

    example.com.  IN  A     192.0.2.1
                  IN  AAAA  2001:db8:10::1
    
    • 表示主机example.com对应的IPv4地址为192.0.2.1, IPv6地址为2001:db8:10::1.
    • 第二个字段IN表示Internet
    • 最后加.表示采用绝对路径, 区域文件也可以用相对路径来配置

    SOA记录

    授权开始:SOA(Start of Authority)记录是区域文件的第一条记录, 用于记录为本服务器授权的上级名称服务器。

    example.com.  IN  SOA   ns.example.com. username.example.com. (         
        2007120710 ; serial number
        1d ; refresh interval 
        2h ; retry interval
        4w ; expiry period
        1h ; negative TTL
    )
    
    • 上述记录表示域example.com的主名称服务器为ns.example.com.
    • username.example.com.表示管理员邮箱为username@example.com, 注意@被替换为.
    • serial number:本服务器记录的版本号
      • 每次修改版本号就会加1
      • 通过比较本服务器版本号和上级服务器版本号已进行同步。
    • refresh interval:向SOA服务器请求更新记录的间隔
    • retry interval:向SOA服务器请求更新记录失败时的重试周期
    • expiry period:SOA服务器若在此时间内不响应, 则不再将其作为SOA服务器
    • negative ttl:当查询结果为无此记录时, 缓存该结果的时间

    NS记录

    用于表示某个域的名称服务器

    example.com.  IN  NS    ns   
    example.com.  IN  NS    ns2.example.com.
    
    • 上述两条记录表示example.com域的名称服务器为ns.example.com, 备用名称服务器为ns2.example.com。
    • 每个区域文件中至少定义两个名称服务器,以便在一个服务器出现问题时还能正确运行。
    • 在自顶向下查询过程中, 父域的名称服务器根据自己的ns记录确定子域的名称服务器。

    MX记录

    MX记录用于表示某个域的邮件服务器

    example.com.  IN  MX  10 mail.example.com.
    
    • 上述记录表示mail.example.com是example.com域的邮件服务器。
    • 也可以使用@表示根域, 使用相对路径表示邮件服务器。
    @             IN  MX    20 mail2.example.com. 
    @             IN  MX    50 mail3
    
    • 记录中第4个字段的数字表示优先级, 数字越小优先级越高。

    CNAME记录

    CNAME记录用于记录域名别名:

    www           IN  CNAME example.com.          
    wwwtest       IN  CNAME www
    
    • 上述记录表示www.example.com是example.com的一个别名。
    • wwwtest.example.com又是www.example.com的一个别名。

    DNS相关命令

    host

    常用的分析域名查询工具,可以用来测试域名系统工作是否正常。

    host 选项 参数
    
    选项
       -a:显示详细的DNS信息;
    	-c<类型>:指定查询类型,默认值为“IN“;
    	-C:查询指定主机的完整的SOA记录;
    	-r:在查询域名时,不使用递归的查询方式;
    	-t<类型>:指定查询的域名信息类型;
    	-v:显示指令执行的详细信息;
    	-w:如果域名服务器没有给出应答信息,则总是等待,直到域名服务器给出应答;
    	-W<时间>:指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息,则退出指令;
    	-4:使用IPv4;
    	-6:使用IPv6.
    	
    

    实例

    host www.baidu.com
    host -a  www.baidu.com
    

    nslookup

    常用域名查询工具,就是查DNS信息用的命令。

    • nslookup有两种工作模式,即“交互模式”和“非交互模式”。
      • 在“交互模式”下,用户可以向域名服务器查询各类主机、域名的信息,或者输出域名中的主机列表。
      • 在“非交互模式”下,用户可以针对一个主机或域名仅仅获取特定的名称或所需信息。
    • 进入交互模式,直接输入命令,不加任何参数:(此时nslookup会连接到默认的域名服务器,即/etc/resolv.conf的第一个dns地址。)
    nslookup
    
    • 进入非交互模式,输入命令:
    nslookup -nameserver/ip
    
    • 选项:-sil:不显示任何警告信息。

    dig

    常用的域名查询工具,可以用来测试域名系统工作是否正常。

    dig 选项 参数 
    选项
       @<服务器地址>:指定进行域名解析的域名服务器;
    	-b<ip地址>:当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求;
    	-f<文件名称>:指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息;
    	-P:指定域名服务器所使用端口号;
    	-t<类型>:指定要查询的DNS数据类型;
    	-x<IP地址>:执行逆向域名查询;
    	-4:使用IPv4;
    	-6:使用IPv6;
    	-h:显示指令帮助信息。
    
    参数
        主机:指定要查询域名主机;
        查询类型:指定DNS查询的类型;
        查询类:指定查询DNS的class;
        查询选项:指定查询选项。
    

    实例

    dig www.baidu.com
    
  • 相关阅读:
    字符串----基础训练(一)
    多维数组和矩阵----子矩阵最大累加和
    多维数组和矩阵----子数组最大累加和
    多维数组和矩阵----边界为1的最大子方阵
    多维数组和矩阵----基础训练
    数组的包含
    数组能排成的最小数(特殊排序)
    堆排序应用之topK问题
    需要排序的最短子数组长度
    排序数组中找和的因子
  • 原文地址:https://www.cnblogs.com/liangjingfu/p/9475699.html
Copyright © 2020-2023  润新知