• DNS常见资源记录类型详解


    互联网访问绝大多数都是基于域名的访问,互联网访问的基础是基于IP来实现的,因此,需要有一种将域名解析成IP的机制,让用户在利用域名访问时,自动将域名转换成为对应的IP,这就是DNS的功能。

    DNS的基础概念

    DNS:Domain Name Service,基于C/S模式的域名解析服务,应用层协议;监听在53/udp,53/tcp端口;TCP用来区域传送; UDP用来解析。

    区域(zone)和域(domain)

    区域是物理概念,域是逻辑概念。

    比如:sfn.cn.这个域

    FQDN–>IP:

    正向解析库和正向解析的功能,就是一个正向解析区域。

    IP–>FQDN:

    反向解析库和反向解析的功能,就是一个反向解析区域。

    一般而言,一个域分为正向解析区域和反向解析区域,但是单纯的域却不一定比区域大,因为父域的区域,可能就比子域的域要大。

    区域数据库文件

    主要由资源记录(RR,resource record)组成。

    常见资源记录类型:SOA、NS、MX、A、AAAA、PTR、CNAME。

    SOA:start of authority,起始授权记录,一个区域解析库有且只能有一个SOA记录,且必须放在所有资源记录的第一条。

    NS:name service,域名服务记录,一个区域解析库可以有多个NS记录,一个NS记录表示一台DNS服务器,其中一个为主的,其余的为辅的。

    MX:mail exchanger,邮件交换器,用于标明域内邮件服务器的地址的记录,MX记录可以有多个,其MX记录有优先级的概念,优先级 0-99,数字越小,优先级越高。

    A:address,地址记录,也就是从FQDN–>IPv4

    AAAA:address,地址记录,从FQDN–>IPv6

    PTR:pointer,主要用于实现IP–>FQDN

    CNAME:别名记录。

    资源记录的定义格式

    语法:NAME [TTL] IN RR_TYPE VALUE

    SOA记录:

    NAME:当前区域的名字,例如:sfn.cn. 或者如果是反向区域,则 1.168.192.in-addr.arpa.

    VALUE:有多部分组成

    <1>当前区域的区域名称(也可以使用主DNS服务器名称);

    <2>当前区域的管理员的邮箱地址,但地址中不能使用@符号,一般用点号.来替代;

    <3>主从服务的协调属性的定义以及否定答案的缓存时长,整个内容要用()括号括起来,每行内容之后可以用;分号表示后面的都是注释信息。

    完整的SOA记录定义示例:

    sfn.cn. 86400 IN SOA sfn.cn. admin.sfn.cn (

    2016091801 //代表序列号,不能超过10位

    2H //代表从服务器向主服务器同步数据的刷新时间间隔,此处表示2小时

    10M //表示联系不上主服务器时,从服务器再次联系主服务器时的间隔时间,10分钟

    1W //表示过期时间,也就是服务器始终联系不上主服务器时的最长等待时间,也就是此时间一过,就判定主服务器故障,然后从服务器也停止服务,1周

    1D //表示否定答案的缓存时长,1天

    )

    NS记录:

    可有多个NS记录,一个NS记录对应一个DNS服务器,每个NS记录应该有一个对应的A记录。

    NAME:当前区域的区域名称

    VALUE:当前区域的某DNS服务器的名字,例如ns1.sfn.cn

    例如:

    sfn.cn. 86400 IN NS ns1.sfn.cn.

    sfn.cn. 86400 IN NS ns2.sfn.cn.

    MX记录:

    MX记录可以有多个,一个MX记录对应一个邮件服务器,每个记录的VALUE之前应该有一个数字,用于表示其优先级,数字越小,优先级越高。每个MX记录应该有一个对应的A记录。

    NAME:当前区域的区域名称

    VALUE:当前区域某邮件服务器的主机名

    例如:

    sfn.cn. IN MX 5 mail1.sfn.cn.

    sfn.cn. IN MX 20 mail2.sfn.cn.

    A记录:

    FQDN–>IPv4

    NAME:某FQDN,如:web.sfn.cn.

    VALUE:某IPv4地址

    例如:

    web.sfn.cn. IN A 1.1.1.1

    web.sfn.cn. IN A 1.1.1.2

    bbs.sfn.cn. IN A 1.1.1.2

    一个主机名额可以有多个IP,一个IP也可以有多个主机名

    *.sfn.cn. IN A 10.1.32.1

    表示将前面没有单独定义的都解析到10.1.32.1

    sfn.cn. IN A 10.1.32.1

    表示当用户访问域名前不带任何字符时,也即是直接访问sfn.cn.时解析到的地址是10.1.32.1

    G E N E R A T E 1 − 254 s e r v e r GENERATE 1-254 server GENERATE1254server IN A 1.1.1.$

    表示将server1.sfn.cn. 解析的地址为1.1.1.1

    server2.sfn.cn. 解析的地址为1.1.1.2

    server3.sfn.cn. 解析为1.1.1.3

    ….

    server254.sfn.cn. 解析为1.1.1.254

    同理:

    G E N E R A T E 5 − 20 t e s t GENERATE 5-20 test GENERATE520test IN A 1.1.1.2$

    表示将test5.sfn.cn. 解析的地址为1.1.1.25

    test6.sfn.cn. 解析的地址为1.1.1.26

    test7.sfn.cn. 解析为1.1.1.27

    ….

    test20.sfn.cn. 解析为1.1.1.220

    AAAA记录:

    FQDN–>IPv6地址,定义方式与A记录类似

    PTR记录:

    反向解析记录

    NAME:IP地址,有特定格式,IP反过来写,而且要加特定后缀,如:192.168.1.2的记录应该写成2.1.168.192.in-addr.arpa。

    VALUE:为FQDN

    例如:

    2.1.168.192.in-addr.arpa. IN PTR bbs.sfn.cn.

    CNAME记录:

    别名记录

    FQDN格式的别名;

    VALUE:FQDN格式的正式名称

    例如:

    web.sfn.cn. IN CNAME www.sfn.cn.

    表示web.sfn.cn.是www.sfn.cn.的别名

    注意:

    <1>TTL值可以从全局继承,不用每个记录都单独定义

    <2>@可以用来表示当前的区域的名字

    <3>相邻的两条记录,其NAME相同时,后面那条记录的NAME可以省略

    <4>任何MX、NS等类型的记录的value为一个FQDN,此FQDN应该有一个A记录

  • 相关阅读:
    javaweb 之 会话技术 Cookie Session 登录注册案例 验证码
    从底层看 Redis 的五种数据类型
    做软件测试如何突破月薪20K?
    Windows - RAID 5 服务搭建
    kubernetes / IPVS 和 IPTABLES
    【反内卷】开创全新AI多模态任务一视听分割:附原理、代码实践、优化教程(一)
    Redis数据库安装、使用、数据类型、常用命令(详解)
    C语言学习(五)之循环
    PTA 7-25 整数的分类处理分数 20
    [附源码]Python计算机毕业设计Django的疫苗接种管理系统
  • 原文地址:https://blog.csdn.net/weixin_53018687/article/details/126141211