Linux之DNS服务

FQDN

Fully Qualified Domain Name (FQDN)是一种网络标识符,用于唯一地标识互联网上的主机。它是一个包含主机名和域名的完整字符串,表示一个特定的网络资源的位置。
FQDN在互联网基础设施中扮演着重要的角色,它不仅提供了对网络资源的唯一标识,还有助于实现域名解析、路由和通信等网络功能。

FQDN组成

一个标准的FQDN通常包含三个部分:主机名、二级域名和顶级域名。这三部分之间通过点号(.)连接,形成一个层次结构。以下是一个FQDN的示例:www.example.com。

  • 主机名(Hostname):主机名是FQDN的第一个部分,它标识了特定网络中的主机或服务器。在示例中,主机名是www,通常用于表示网络服务器。
  • 二级域名(Second-level Domain):二级域名是主机名后面的部分,提供更具体的信息或定位。在示例中,二级域名是example,它通常是组织、公司或个人的名称。
  • 顶级域名(Top-level Domain):顶级域名是FQDN的最后一部分,通常表示国家、组织或类型。在示例中,顶级域名是com,代表商业类域名。

举个例子,假设有一个FQDN为mail.openai.org。在这个例子中:

  • mail是主机名,可能表示这是一个邮件服务器。
  • openai是二级域名,指示这个服务器属于OpenAI组织。
  • org是顶级域名,表示这是一个组织的域名。

DNS

域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项用于名称解析的服务。

域名 含义
www 主机名
.sina 子域
.com 二级域
.cn 顶级域
. 根域

递归查询与迭代查询

  • 主机向本地域名服务器的查询一般都是采用递归查询。

所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,
向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。
因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

  • 本地域名服务器向根域名服务器的查询的迭代查询。

迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。
然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。
顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。
最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机


注意:子域不知道父域在哪,都需要先找根域,然后一层一层迭代

权威答案和非权威答案

  • 权威答案:由直接负责的DNS返回的答案
  • 非权威答案:缓存的答案,可能没来得急缓存

DNS服务器类型

  • 主DNS服务器:维护所负责解析的域的数据库的那台服务器;读写操作都可以。
  • 辅助DNS服务器:辅助服务器包含区域文件的只读副本,它们通过称为区域传输的通信从主服务器获取其信息。每个区域只能有一个主DNS服务器,但它可以有任意数量的辅助DNS服务器。无法在辅助服务器上更改区域的DNS记录,但在某些情况下,辅助服务器可以将更改请求传递到主服务器。
  • 缓存DNS服务器:不负责任何权威答案,只负责缓存。
  • 转发器:不负责域解析,它将对外部 DNS 名称的 DNS 查询转发到网络外部的 DNS 服务器。还可以使用条件转发器按照特定域名转发查询。

授权

每个DNS服务器所负责的权威域,都必须由它的上级域进行授权。

域名系统设计的主要目的就是要能实现分散管理,就好比项目经理把一个项目分解成若干个小任务分配给外个员工去做。在域中通常由父域将任务委派给子域完成,父域仅仅保留指向子域数据来源的指针,告诉客户端,你要的信息我已经让谁去处理了,你直接找他吧。域名为"test.com."的域,需要有它的上级域".com."的授权。互联网中的域名需要注册。

区域和域

  • 区域(zone)
    域名系统 (DNS) 被划分为可管理的数据集(称为区域)。并且其中的每个数据集都有特定的区域类型。
    DNS 区域是一个管理空间,其可实现对权威性域名服务器等 DNS 组件的更精细控制。
    区域通过区域数据文件定义
  • 域(domain)
    域是逻辑概念,一个域包含正向解析区域和反向解析区域。
    域从上级的区域文件得到授权。
理解
1、zone 是同授权(Delegation)联系在一起的,为了管理上的方便,我们把域的某部分授权出去让别人代为管理,这部分就是一个 zone 。为什么说是为了管理上的方便呢?因为这样一个很大的域就可以实现分散管理,而不是集中由一两台服务器来管理。而 zone 的划分就是通过 “授权机制”来实现的。这也是
   设计 DNS 系统得初衷。

2、并不能说 domain 就比 zone 大,反过来也一样。例如 edu 域可以包含多个 zone :berkeley.edu 、purdue.edu 。但 edu 也可以看成是根域 "." 下的一个被授权出去的 zone ,它含有 berkeley.edu 、purdue.edu 等几个域。

3、域是以域名进行分界的,而 zone 是以授权范围来定界的。一个 zone 有可能跨域多个域名。例如 berkeley 域是所有以 berkeley.edu 结尾的域名空间;而 edu zone 可以包括 berkey 和 purdue 这两个域,都统一归 edu 这个 zone 管理。

4、一个域和一个 zone 可能具有相同的域名,但包含的节点却不同。例如使用了授权的域

5、Name Server 在加载数据时是以 zone 为单位,而不是以 Domain 为单位

domain 这是从逻辑上进行划分,体现域名的树性结构,根域、com域、edu域等;zone更多是从域名服务器管理的角度划分,就是一台域名服务器,可以管理一个或多个zone,这个zone,可以是一个域名,或该域名的一部分(子域名),只要有授权即可。就是说多个域名可能通过一台域名服务器解析;

区域数据库文件

在DNS服务器上,一个域名及其下级域名组成一个区域(Zone)。一个Zone的相关的DNS信息构成一个区域数据库文件。
数据文件包含了描述区域的资源记录,资源记录描述了区域内所有的主机,并标记了子域的授权情况。
正向解析和反向解析的区域文件需要分别定义,并且第一条记录必须是SOA记录。

资源记录

在数据库文件中,每一条记录域名信息映射关系的条目,称之为资源记录(RR,resource record)。
每个区域(Zone)数据库文件都是由资源记录(RR)构成的,一个资源记录就是一行文本,提供了一组有用的 DNS 配置信息。

在DNS系统中,最常见的资源记录是Internet类记录,该记录由包含4个字段的数据构成:
Name、Value、Type、TTL。
其中Name和Value可以理解为一对键值对,但是其具体含义取决于Type的类型,TTL记录了该条记录应当从缓存中删除的时间。

当我们查询域名www.zdns.cn的时候,查询结果得到的资源记录结构体中有如下数据:

  • TTL,就是生存周期(可省略),是递归服务器会在缓存中保存该资源记录的时长。
  • 网络/协议类型,它的代表的标识是IN,IN就是internet,目前DNS系统主要支持的协议是IN。
  • type,就是资源记录类型,一般的网站都是都是A记录(IPv4的主机地址)。
  • rdata是资源记录数据,就是域名关联的信息数据。

类型 编码 内容
A 1 (Address)将 DNS 域名映射到 IPv4 地址,基本作用是说明一个域名对应了哪些 IPv4 地址
NS 2 (Name Server)权威名称服务器记录,用于说明这个区域有哪些 DNS 服务器负责解析
CNAME 5 (Canonical NAME))别名记录,主机别名对应的规范名称
SOA 6 (Start or Authority) 起始授权机构记录,NS 记录说明了有多台服务器在进行解析,但哪一个才是主服务器,NS 并没有说明,SOA 记录了说明在众多 NS 记录里哪一台才是主要的服务器
PTR 12 (Pointer)IP 地址反向解析,是 A 记录的逆向记录,作用是把 IP 地址解析为域名
MX 15 (Mail eXchanger) 邮件交换记录,指定负责接收和发送到域中的电子邮件的主机
TXT 16 文本资源记录,用来为某个主机名或域名设置的说明
AAAA 28 将 DNS 域名映射到 IPv6 地址,基本作用是说明一个域名对应了哪些 IPv6 地址

资源记录示例

  • SOA型资源记录
ZONE NAME    TTL  IN  SOA  FQDN  邮件地址 (
             SERIAL
             REFRESH
             RETRY
             EXPIRE     
)

@ 600 IN SOA ns.test.com. admin.163.com. ( 
                                     1999051401 ; Serial 
                                     3600 ; Refresh 
                                     300 ; Retry 
                                     3600000 ; Expire 
                                     3600 ) ; Minimum 
						

注意:
用于标明本区域内多个DNS彼此怎么完成同步的。
@代表域名本身,邮箱的@需要用"."代替。

serial number(序列号):是域名记录的版本,每更改一次域名的任何DNS记录,版本号就会自动加一,这时secondary dns就会知道DNS记录发生更改,以便重新同步。
refresh(刷新时间):告诉secondary dns多久应该查询primary dns,看看DNS记录是否有更新。每次查询时,secondary dns会向primary dns请求SOA记录。如果记录中的serial number跟
secondary dns已有的序列号不一样,则会向primary dns请求传送域名的当前的DNS记录。
retry(重试时间):如果想primary dns请求传送域名当前的DNS记录失败后,间隔重试时间后再次重试请求。一般来说,retry小于refresh。
expire(过期时间):在过期时间之前,secondary dns会继续请求传送DNS记录,并且在此时间里,secondary dns会根据已有的记录应答相关的DNS查询。如果到了过期时间后,secondary dns会停止应答该域名的DNS查询。
min TTL(最小TTL):域名所有记录的最小生存时间值。当用户DNS查询到记录后,将存在缓存中,直到至少过了这个时间才将缓存刷新重新查询。

  • NS型资源记录(ZONE NAME --> FQDN)
ZONE NAME               TTL   IN  MX  pri  VALUE 
test.com.(区域名)       600    IN    NS    ns.test.com.(主机名)
ns.test.com.           600    IN    A     1.1.1.2
ns.test.com.可以简写为ns(后边不能加“ . ”),因为.test.com.会自动补全SOA记录中的域
ns   600    IN    A     1.1.1.2

注意:
NS型资源记录需要附加一个A记录用来告诉域名对应的主机名
区域名全写一定加“ . ”,简写无需加“ . ”
  • MX资源记录(ZONE NAME --> FQDN)
ZONE NAME    TTL  IN  MX  pri  VALUE 
test.com.    600  IN  MX  10   mail.test.com.
mail.test.com.   600  IN  A    1.1.1.3 

注意:
MX资源记录需要指定优先级
优先级:0-99(数字越小级别越高)
  • A资源记录(FQDN --> ipv4)
正向区域文件
ZONE NAME              TTL    IN    A     VALUE 
ns.test.com.           600    IN    A     1.1.1.2
*.test.com.            600    IN    A     1.1.1.6

反向区域文件
地址                     TTL    IN    A     VALUE    
0.168.192.in-addr.arpa.  600   IN    A   VALUE
  
注意:
反向区域文件中,第一列是网段地址,不是IP地址,即( 网段地址.in-addr.arpa. )
*.test.com. 是泛区域文件
  • AAAA资源记录(FQDN --> ipv6)
  • PTR资源记录(IP --> FQDN)
  • CNAME资源记录(FQDN --> FQDN)
www.test.com.  IN   CNAME www.example.com. 

区域传送的类型

区域传送发送在主从结构的情况下,当主DNS的区域文件发送变化后,主DNS将来发送变化的内容发送给从DNS。

  • 完全区域传送:axfr
  • 增量区域传送:ixfr

区域类型

  • 主区域:master
  • 从区域:slave
  • 提示区域:hint
  • 转发区域:forward

DNS安装

  • 软件包和配置文件

DNS的软件包名为bind,程序运行的进程名为named。

  • 安装包
bind-libs:被bindbind-utils的程序共同用到的库文件
bind-utils:bind客户端程序集
bind:提供dns server程序
bind-chroot:选装,实现目录的隔离,虚拟根域。
  • 配置文件
/etc/named.conf
定义BIND进程的工作属性,定义区域属性

/etc/rndc.conf & /etc/rndc.key
rndc: Remote Name Domain Controller
密钥文件
配置信息:/etc/rndc.conf

/var/named/
区域数据文件,需要自己定义

/var/named/named.ca
十三个根服务器的地址

/var/named/named.localhost
本地区域文件

/var/named/named.loopback
本地主机名的正反向解析

  • 主配置文件解析
/etc/named.conf

options {                                                               #配置全局属性
        listen-on port 53 { any; };                                     #定义监听到哪个套接字上,127.0.0.1只能自己访问。
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };                                       #允许哪些地址查询,可写地址网段
        allow-transfer  { 192.67.0.68; };                               #允许哪些主机进行区域传送,可以定义在区域配置中,允许那些区域的哪些主机进行区域传送

        recursion yes;                                                  #定义是否开启递归功能,不是自己负责的域,需要递归给根域去查询。                                     

        dnssec-enable yes;
        dnssec-validation yes;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.root.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {                                        #区域的定义,默认会有根区域的定义
        type hint;
        file "named.ca";
};


include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

定义不同类型的区域

zone "ZONE NAME" IN {                               #区域的定义
        type {master|slave|hint|forward};
        file "区域数据文件";                         #定义区域数据文件的路径,directory的相对路径
};


主区域

zone "ZONE NAME" IN {                              #区域的定义
        type { master };
        file "区域数据文件";                         #定义区域数据文件的路径,directory的相对路径
};

从区域

zone "ZONE NAME" IN {                               #区域的定义
        type { slave };
        file "区域数据文件";                         #定义区域数据文件的路径,directory的相对路径
        masters { 主DNS服务器的地址; };              #定义从DNS服务器需要指定主服务器地址
};

配置案例

  • 配置缓存DNS服务

将主机配置成缓存DNS服务器,将本地DNS指定为自己,用来解析互联网域名。
当它无法解析的时候,就会找根域进行解析。

修改主配置文件

# vi /etc/named.conf
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { localhost; };
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};


include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
# vi /etc/named.rfc1912.zones

zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

重启服务并验证

# named-checkconf
# named-checkzone "localhost" /var/named/named.localhost
zone localhost/IN: loaded serial 0
OK
# systemctl restart named
# setenforce 0
# getenforce
Permissive
# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      49449/named
tcp        0      0 172.17.0.1:53           0.0.0.0:*               LISTEN      49449/named
tcp        0      0 192.67.0.67:53          0.0.0.0:*               LISTEN      49449/named
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      49449/named
tcp6       0      0 ::1:953                 :::*                    LISTEN      49449/named
tcp6       0      0 ::1:25                  :::*                    LISTEN      1247/master
tcp6       0      0 ::1:53                  :::*                    LISTEN      49449/named
udp        0      0 172.17.0.1:53           0.0.0.0:*                           49449/named
udp        0      0 192.67.0.67:53          0.0.0.0:*                           49449/named
udp        0      0 127.0.0.1:53            0.0.0.0:*                           49449/named
udp6       0      0 ::1:53                  :::*                                49449/named

# cat /etc/resolv.conf
nameserver 192.67.0.67

# yum -y install bind-utils
# dig -t . NS
  • 配置权威DNS服务器

假如在互联网注册一个域名,并且上级域已经授权当前域进行解析,来搭建一个DNS服务用来给别人解析。

修改配置文件

# vi /etc/named.rfc1912.zones

zone "leilei.com" IN {
        type master;
        file "leilei.com.zone";
};

创建区域数据文件

# cd /var/named/
# cat /var/named/leilei.com.zone

$TTL 600
leilei.com.     IN SOA  ns1.leilei.com.  admin.leilei.com. (
                                         0      ; serial
                                         1D     ; refresh
                                         1H     ; retry
                                         1W     ; expire
                                         3H )   ; minimum
        NS      ns1
ns1     IN      A       192.67.0.67


# chmod 640 leilei.com.zone
# chown root:named leilei.com.zone
# named-checkzone "leilei.com" /var/named/leilei.com.zone
zone leilei.com/IN: loaded serial 0
OK

# ping ns1.leilei.com
PING ns1.leilei.com (192.67.0.67) 56(84) bytes of data.
64 bytes from HLWHOST (192.67.0.67): icmp_seq=1 ttl=64 time=0.015 ms
64 bytes from HLWHOST (192.67.0.67): icmp_seq=2 ttl=64 time=0.013 ms
64 bytes from HLWHOST (192.67.0.67): icmp_seq=3 ttl=64 time=0.020 ms
64 bytes from HLWHOST (192.67.0.67): icmp_seq=4 ttl=64 time=0.033 ms
64 bytes from HLWHOST (192.67.0.67): icmp_seq=5 ttl=64 time=0.030 ms
  • 配置递归DNS服务器
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";

        allow-query     { any; };                     #允许那些主机来查询
#       recursion yes;                                
        allow-recursion { 192.66.0.0/16; };           #只给192.66.0.0/16网段递归查询
        
        dnssec-enable yes;
        dnssec-validation yes;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.root.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};


include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
  • 配置从DNS服务器
vi /etc/named.rfc1912.zones

zone "test5.com" IN {
         type slave;                                      #配置为从服务器
         masters { 192.168.100.105; };                    #指定主服务器地址
         allow-notify { 192.168.100.105; };
         file "slaves/test5.com.zone";                    #区域配置文件位置,存放在/var/named/没有权限,需要修改目录权限
 };
zone "100.168.192.in-addr.arpa" IN {
         type slave;
         masters { 192.168.100.105; };
        allow-notify { 192.168.100.105; };
         file "slaves/test5.com.local";

子域授权

子域的域名必须经过父域的授权才能使用。

  • 正向区域
SUB_ZONE_NAME           IN  NS   NSSERVER_SUB_ZONE_NAME
NSSERVER_SUB_ZONE_NAME  IN  A    IP

父域为".com"授权"leilei.com"授权文件

leilei.com.    IN    NS  ns1.lelei.com.
ns1.lelei.com.  IN    A  192.66.0.1

父域为leilei.com.授权fin、market
授权文件

fin.leilei.com.		IN		NS      ns1.fin.leilei.com          #子域
fin.leilei.com.		IN		NS		ns2.fin.leilei.com
ns1.fin.leilei.com.		IN		A		172.16.100.8            #A记录
ns2.fin.leilei.com.		IN		A		172.16.100.9

market.leilei.com.	   IN		NS  	ns1.market.leilei.com.
ns1.market.leilei.com.		IN     A    172.16.100.108

案例

  • 父域授权文件

  • 子域配置
    vi /etc/named.conf

    区域配置文件

子域转发

  • 配置全局转发,自己解析不了的转发给指定的IP。
  • 配置转发域

请求转发域的域名,转发给指定IP解析。

BIND ACL

acl主配置语句用于定义一个命名的访问列表,里面包含了一些用IP表示的主机,这个访问列表可以在其他语句使用,表示其所定义的主机。

其格式如下:
acl acl-name {   
    address_match_list   
}; 

视图view

view语句定义了视图功能。视图是BIND 9提供的强大的新功能,允许DNS服务器根据客户端的不同有区别地回答DNS查询,每个视图定义了一个被特定客户端子集见到的DNS名称空间。
这个功能在一台主机上运行多个形式上独立的DNS服务器时特别有用。达到智能解析的功能。

视图是BIND9强大的新功能,允许名称服务器根据询问者的不同有区别的回答DNS查询。特别是当运行拆分DNS设置而不需要运行多个服务器时特别有用。
每个视图定义了一个将会在用户的子集中见到的DNS名称空间。
注意:一旦使用了视图,所有区域都必须定义在视图中。

view view_name [class] {
match-clients { address_match_list } ;           #匹配的客户端,可以是地址,也可以是acl
match-destinations { address_match_list } ;
match-recursive-only { yes_or_no } ;
[ view_option; ...]
zone-statistics yes_or_no ; ]
[ zone_statement; ...]
};
  • 定义主配置文件
  • 定义区域文件


dig用法

  • 查找域对应的DNS IP
# dig -t NS leilei.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.15 <<>> -t NS leilei.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49994
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;leilei.com.                    IN      NS

;; ANSWER SECTION:
leilei.com.             600     IN      NS      ns1.leilei.com.

;; ADDITIONAL SECTION:
ns1.leilei.com.         600     IN      A       192.67.0.67

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN:  5 10 11:58:54 CST 2024
;; MSG SIZE  rcvd: 73

# dig -t A ns1.leilei.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.15 <<>> -t A ns1.leilei.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27755
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ns1.leilei.com.                        IN      A

;; ANSWER SECTION:
ns1.leilei.com.         600     IN      A       192.67.0.67

;; AUTHORITY SECTION:
leilei.com.             600     IN      NS      ns1.leilei.com.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN:  5 10 12:01:02 CST 2024
;; MSG SIZE  rcvd: 73
  • 递归查询
将www.souhu.com递归给192.67.0.67查询
# dig +recurse -t A www.souhu.com @192.67.0.67

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.15 <<>> +recurse -t A www.souhu.com @192.67.0.67
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41010
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.souhu.com.                 IN      A

;; ANSWER SECTION:
www.souhu.com.          3382    IN      A       47.76.62.167

;; AUTHORITY SECTION:
souhu.com.              172582  IN      NS      buy.domains.go.marksmile.com.
souhu.com.              172582  IN      NS      emailto.service.at.marksmile.com.

;; ADDITIONAL SECTION:
buy.domains.go.marksmile.com. 172582 IN A       47.76.62.167
emailto.service.at.marksmile.com. 172582 IN A   47.76.62.167

;; Query time: 0 msec
;; SERVER: 192.67.0.67#53(192.67.0.67)
;; WHEN: 二 514 09:25:57 CST 2024
;; MSG SIZE  rcvd: 162
  • 不递归查询,本地DNS查询不到,返回根域名
# dig +norecurse -t A cn.bing.com @192.67.0.67

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.15 <<>> +norecurse -t A cn.bing.com @192.67.0.67
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12909
;; flags: qr ra; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 27

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;cn.bing.com.                   IN      A

;; AUTHORITY SECTION:
com.                    172466  IN      NS      d.gtld-servers.net.
com.                    172466  IN      NS      h.gtld-servers.net.
com.                    172466  IN      NS      a.gtld-servers.net.
com.                    172466  IN      NS      e.gtld-servers.net.
com.                    172466  IN      NS      i.gtld-servers.net.
com.                    172466  IN      NS      c.gtld-servers.net.
com.                    172466  IN      NS      j.gtld-servers.net.
com.                    172466  IN      NS      b.gtld-servers.net.
com.                    172466  IN      NS      l.gtld-servers.net.
com.                    172466  IN      NS      m.gtld-servers.net.
com.                    172466  IN      NS      f.gtld-servers.net.
com.                    172466  IN      NS      g.gtld-servers.net.
com.                    172466  IN      NS      k.gtld-servers.net.

;; ADDITIONAL SECTION:
c.gtld-servers.net.     172466  IN      A       192.26.92.30
d.gtld-servers.net.     172466  IN      A       192.31.80.30
e.gtld-servers.net.     172466  IN      A       192.12.94.30
j.gtld-servers.net.     172466  IN      A       192.48.79.30
b.gtld-servers.net.     172466  IN      A       192.33.14.30
h.gtld-servers.net.     172466  IN      A       192.54.112.30
l.gtld-servers.net.     172466  IN      A       192.41.162.30
a.gtld-servers.net.     172466  IN      A       192.5.6.30
f.gtld-servers.net.     172466  IN      A       192.35.51.30
g.gtld-servers.net.     172466  IN      A       192.42.93.30
m.gtld-servers.net.     172466  IN      A       192.55.83.30
i.gtld-servers.net.     172466  IN      A       192.43.172.30
k.gtld-servers.net.     172466  IN      A       192.52.178.30
c.gtld-servers.net.     172466  IN      AAAA    2001:503:83eb::30
d.gtld-servers.net.     172466  IN      AAAA    2001:500:856e::30
e.gtld-servers.net.     172466  IN      AAAA    2001:502:1ca1::30
j.gtld-servers.net.     172466  IN      AAAA    2001:502:7094::30
b.gtld-servers.net.     172466  IN      AAAA    2001:503:231d::2:30
h.gtld-servers.net.     172466  IN      AAAA    2001:502:8cc::30
l.gtld-servers.net.     172466  IN      AAAA    2001:500:d937::30
a.gtld-servers.net.     172466  IN      AAAA    2001:503:a83e::2:30
f.gtld-servers.net.     172466  IN      AAAA    2001:503:d414::30
g.gtld-servers.net.     172466  IN      AAAA    2001:503:eea3::30
m.gtld-servers.net.     172466  IN      AAAA    2001:501:b1f9::30
i.gtld-servers.net.     172466  IN      AAAA    2001:503:39c1::30
k.gtld-servers.net.     172466  IN      AAAA    2001:503:d2d::30

;; Query time: 0 msec
;; SERVER: 192.67.0.67#53(192.67.0.67)
;; WHEN:  5 14 09:27:53 CST 2024
;; MSG SIZE  rcvd: 836
  • 跟踪域名查询的过程
# dig +trace  -t A www.baidu.com @192.67.0.67

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.15 <<>> +trace -t A www.baidu.com @192.67.0.67
;; global options: +cmd                            
.                       180521  IN      NS      g.root-servers.net.                    #第一步返回根
.                       180521  IN      NS      e.root-servers.net.
.                       180521  IN      NS      c.root-servers.net.
.                       180521  IN      NS      h.root-servers.net.
.                       180521  IN      NS      m.root-servers.net.
.                       180521  IN      NS      j.root-servers.net.
.                       180521  IN      NS      f.root-servers.net.
.                       180521  IN      NS      l.root-servers.net.
.                       180521  IN      NS      a.root-servers.net.
.                       180521  IN      NS      d.root-servers.net.
.                       180521  IN      NS      b.root-servers.net.
.                       180521  IN      NS      k.root-servers.net.
.                       180521  IN      NS      i.root-servers.net.
.                       180521  IN      RRSIG   NS 8 0 518400 20240522210000 20240509200000 5613 . XwldMd75H7TTP2VNiW8xswNuuvJsNWpO0csdj+Mv3ObldvHlxAN07JDj 96YzmOxK+JZgtjBV/PQ9VaMm+o+ujcYtRPRei3u3FZQmbfrgDH75gilI 3dH+KR4sR/r3k7az8wwXgEmF9kLkP5Ahk5KDh5uOZ8EMYghqZ3L/jI1p 7gsTXL96JkM3qw6Tv6BnV0ZgWUDfAxhu/OikA/zZbSdENrGiWxPnLovc fmVpTohlycOO106JEXB8Kv+frdMkIqf6WoxPKl8l/f36dGOswy7w1PGU 5C4XowlOan2i5e2uLaTjw3NcLjS292we+t0seHbzT81lyuRthk3XmjCL iWlH4g==
;; Received 1097 bytes from 192.67.0.67#53(192.67.0.67) in 0 ms

com.                    172800  IN      NS      a.gtld-servers.net.                     #第二部返回 com.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    86400   IN      DS      19718 13 2 8ACBB0CD28F41250A80A491389424D341522D946B0DA0C0291F2D3D7 71D7805A
com.                    86400   IN      RRSIG   DS 8 1 86400 20240526170000 20240513160000 5613 . FI6eVfxqynl2LDuvi1pCMqkS02BcNWuIZYMvBK8Md5QhjgH+ihvMi2Xf mILOsWBptpkjt4mKEVWQcVciFf80UkkjkC5+41pOBREkmnlllK/zNLn2 dbho38DzacIMsnilD754ueDORu5/PgramG5yOWSEU9D3dta9Ka9rf4Iz ycWOqddrQeLGdcLwqmuMrnuhBF+1bsIlSMxuclONdNRVfX2SugKMatTU jjuwwpClSp8SKrwKWcmaBxMxM+SPuj/f0E2jHPQmqfdnDhoDKG/xM0Nf vMKfeJdKpDNbsEXY2sfEZkI5NQ7TitJhUQ1l+NGDn0Zx5k3ELSU3/JL2 XaKWUw==
;; Received 1173 bytes from 193.0.14.129#53(k.root-servers.net) in 3 ms

baidu.com.              172800  IN      NS      ns2.baidu.com.                          #第三部返回 baidu.com.
baidu.com.              172800  IN      NS      ns3.baidu.com.
baidu.com.              172800  IN      NS      ns4.baidu.com.
baidu.com.              172800  IN      NS      ns1.baidu.com.
baidu.com.              172800  IN      NS      ns7.baidu.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q2D6NI4I7EQH8NA30NS61O48UL8G5 NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 13 2 86400 20240520042501 20240513031501 956 com. 15tl9iHPNvS8cmf4Rxbn/ZQwRs/+Ow9AnDMPDEtkYqZp302XW8HkqzOO PBE3VKKinZpDad5udW5fCqX+kA9FzQ==
HPVV1UNKTCF9TD77I2AUR73709T975GH.com. 86400 IN NSEC3 1 1 0 - HPVVP23QUO0FP9R0A04URSICJPESKO9J NS DS RRSIG
HPVV1UNKTCF9TD77I2AUR73709T975GH.com. 86400 IN RRSIG NSEC3 13 2 86400 20240519050116 20240512035116 956 com. wuLkH5A4CqtB3zOyNxmIEOViR3O/UxiWOF5JEvkjFJnw7xRd/Rwo+IRQ 3vCyweF9uljNJs/Rs7S0S90K3Qsg+g==
;; Received 657 bytes from 192.52.178.30#53(k.gtld-servers.net) in 249 ms

www.baidu.com.          1200    IN      CNAME   www.a.shifen.com.
;; Received 72 bytes from 153.3.238.93#53(ns3.baidu.com) in 22 ms
  • 查看leilei.com区域内的所有记录
# dig -t axfr leilei.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.15 <<>> -t axfr leilei.com
;; global options: +cmd
leilei.com.             600     IN      SOA     ns1.leilei.com. admin.leilei.com. 0 86400 3600 604800 10800
leilei.com.             600     IN      NS      ns1.leilei.com.
ns1.leilei.com.         600     IN      A       192.67.0.67
leilei.com.             600     IN      SOA     ns1.leilei.com. admin.leilei.com. 0 86400 3600 604800 10800
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN:  5 14 10:28:14 CST 2024
;; XFR size: 4 records (messages 1, bytes 151)
  • 手动进行区域传送
# dig -t IXRF=NUMBER leilei.com

NUMBER可以进行增量传送

参考和转载
https://zhuanlan.zhihu.com/p/61394192
https://www.cnblogs.com/crazymakercircle/p/14976612.html
https://blog.51cto.com/sddai/3078133
https://www.cnblogs.com/mfyang/p/8454576.html
https://blog.csdn.net/zhu_tianwei/article/details/45104125(视图)

posted @   *一炁化三清*  阅读(102)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示