DNS服务

5465 字
27 分钟
DNS服务

1. 域名#

域名采用树形层级结构进行分级,由互联网名称与数字地址分配机构(ICANN)及各国域名管理机构统一管理,核心从根域名向下逐层划分,日常所说的一级、二级域名是对这个树形结构的通俗简化称呼(存在规范定义和口语称呼的小差异),三级及以下为子域名,层级可无限延伸

1.1 根域名#

所有域名的顶层,用一个点(.) 表示,是域名解析的最终根节点,用户不可见 / 不可注册

例子: .(所有域名最后都隐含这个根,如baidu.com实际是baidu.com.)

管理机构:ICANN(互联网根服务器管理机构)

1.2 顶级域名#

也叫一级域名,根域名下的第一层,是域名的 “后缀”,决定域名的类型 / 归属地,用户不可直接注册,仅能在其下注册下级域名

  • 例子:.com、.org、.net(通用);.cn、.us、.jp(国家 / 地区);.xyz、.shop(新通用)
  • 管理机构:ICANN(通用顶级)/ 各国机构(如.cn 由中国互联网络信息中心 CNNIC 管理)

1.3 二级域名#

顶级域名下的第一层,用户可直接在域名服务商处注册的核心域名,具有全球 / 对应地区的唯一性

  • 例子:baidu.comqq.com163.cn、taobao.xyz
  • 管理机构:域名服务商(如阿里云、腾讯云),注册后归用户所有

1.4 三级 / 四级域名(子域名)#

二级域名下的衍生域名,由域名所有者自行创建 / 解析,无需向服务商注册,可无限创建,无额外费用

二、域名解析#

2.1 使用dig +trace#

dig +trace 是 DNS 诊断工具 dig 的追踪模式,它会模拟完整的 DNS 递归解析过程:从根域名服务器(.)开始,依次查询顶级域(com.)、二级域(baidu.com.),最后到目标域名(www.baidu.com),并输出每一步的查询结果。

Terminal window
# 执行命令
dig +trace www.baidu.com

2.2 结果解析#

2.2.1 阶段1:查询根域名服务器(.#

Terminal window
; <<>> DiG 9.10.6 <<>> +trace www.baidu.com
;; global options: +cmd
. 518400 IN NS a.root-servers.net.
. 518400 IN NS b.root-servers.net.
. 518400 IN NS c.root-servers.net.
...(共13台根服务器的NS记录)
;; Received 239 bytes from 192.168.1.1#53(192.168.1.1) in 5 ms

核心含义:本地 DNS 先查询根域名服务器的地址,返回全球 13 台根服务器的 NS(域名服务器)记录。

字段解读

  • 第一列 .:查询的是根域名;
  • 第二列 518400:TTL(生存时间),表示该记录可缓存 518400 秒(6 天);
  • 第三列 IN:表示 Internet 类 DNS 记录(通用);
  • 第四列 NS:记录类型为 “域名服务器”;
  • 最后一行 Received:从本地网关(192.168.1.1)的 53 端口(DNS 默认端口)收到响应,耗时 5ms。

2.2.2 阶段 2:查询顶级域服务器(com.#

Terminal window
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
...(共13台com顶级域服务器的NS记录)
;; Received 1176 bytes from 198.41.0.4#53(a.root-servers.net) in 12 ms

核心含义:向根服务器(如 a.root-servers.net,IP 198.41.0.4)查询 com. 域的权威服务器,返回 com 顶级域的 NS 记录。

关键:Received 行显示响应来自根服务器的 IP(198.41.0.4),而非本地网关,说明进入 “递归查询” 阶段。

2.2.3 查询二级域服务器(baidu.com.#

Terminal window
baidu.com. 172800 IN NS ns7.baidu.com.
baidu.com. 172800 IN NS ns4.baidu.com.
...(百度域名的权威NS服务器)
;; Received 500 bytes from 192.5.6.30#53(a.gtld-servers.net) in 8 ms

核心含义:向 com 顶级域的权威服务器(a.gtld-servers.net,IP 192.5.6.30)查询 baidu.com. 的权威服务器,返回百度自己的 DNS 服务器(如 ns7.baidu.com)。

2.2.4 查询最终域名(www.baidu.com#

Terminal window
www.baidu.com. 1200 IN CNAME www.a.shifen.com.
www.a.shifen.com. 1200 IN A 180.101.50.242
www.a.shifen.com. 1200 IN A 180.101.50.188
;; Received 83 bytes from 14.215.177.229#53(ns7.baidu.com) in 6 ms

核心含义:向百度的权威 DNS 服务器(ns7.baidu.com,IP 14.215.177.229)查询 www.baidu.com,得到最终解析结果:

  • CNAMEwww.baidu.comwww.a.shifen.com 的别名;
  • Awww.a.shifen.com 对应的 IPv4 地址是 180.101.50.242/188(百度的服务器 IP)。

2.3 DNS 常用记录类型说明表#

记录类型使用目的核心特点 / 适用场景
A 记录将域名指向一个外网 IPv4 地址最基础常用,域名直连服务器 IPv4
CNAME 记录将域名指向另一个域名,由目标域名提供外网 IP 地址域名别名,多域名指向同一服务器时适用
MX 记录设置邮箱,使域名对应的邮箱能正常接收邮件带优先级(数字越小优先级越高),邮箱必备
NS 记录将子域名交给其他 DNS 服务商进行解析授权子域名解析权限,主辅 DNS 分离时用
AAAA 记录将域名指向一个外网 IPv6 地址适配 IPv6 网络,与 A 记录互补
SRV 记录标识某台服务器运行的特定服务标注服务类型 / 端口 / 优先级,多用于微软 AD 等专业场景
TXT 记录对域名进行标识和说明,绝大多数用于配置 SPF 反垃圾邮件记录多功能型,也用于域名归属、DKIM/DMARC 验证
隐 / 显性 URL 记录将一个域名指向另一已存在的站点实现域名跳转;显性地址栏变化,隐形地址栏不变

三、DNS服务器搭建#

3.1 关闭NetworkManager + 防火墙 + SELinux#

Terminal window
# 关闭NetworkManager并禁止开机自启
systemctl stop NetworkManager
systemctl disable NetworkManager
# 关闭firewalld并禁止开机自启(生产环境可开放53端口,下文有说明)
systemctl stop firewalld
systemctl disable firewalld
# 临时关闭SELinux(重启失效)
setenforce 0
# 永久关闭SELinux(需重启生效,修改后可先继续配置,最后重启)
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

3.2 配置服务器静态 IP#

Terminal window
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static # 静态IP
IPADDR=192.168.1.100 # DNS服务器IP
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 网关
DNS1=127.0.0.1 # 本机DNS指向自己
NAME=ens33
DEVICE=ens33
ONBOOT=yes # 开机启动网卡

3.3 安装相关软件包#

Terminal window
yum install bind bind-utils bind-libs
# 验证版本
anmed -v

3.3.1 修改配置文件#

BIND 的配置分为主配置文件区域配置文件区域数据文件三层,按顺序修改,语法严格(分号 / 大括号不能错),建议修改前备份原文件。

Terminal window
# 备份配置文件
cp /etc/named.conf /etc/named.conf.bak
cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak

3.3.1.1 修改主配置文件#

Terminal window
# 主配置文件 /etc/named.conf
# 该文件是 BIND 的核心配置,定义监听地址、允许查询网段、DNSSEC 等全局参数,仅修改需要调整的项,其余保持默认:
vim /etc/named.conf
# 修改监听地址,可选参数:ip列表;any(所有ip)
listen-on port 53 { 127.0.0.1; 192.168.1.100;any };
# ipv6监听,可选参数:ipv6列表;none(关闭ipv6监听);any
listen-on-v6 port 53 { ::1; };
# 允许哪些主机查询 DNS 记录。可选参数:localhost;ip网段;any;none
allow-query { localhost; 192.168.1.0/24; any};
# 关闭DNSSEC验证(内网DNS无需开启,开启可能导致解析失败)
dnssec-validation no;

1. options {}其余可选配置:

Terminal window
# 转发器,本地无法解析的域名,转发到指定 DNS 服务器
forwarders { 114.114.114.114; 223.5.5.5; };
# 配合 forwarders 控制转发策略
forward only; # 可选参数:only:仅转发(转发失败则返回失败);first:优先转发(转发失败则本地迭代解析)
# 控制哪些主机可使用 DNS 缓存(默认继承 allow-query),可选参数同allow-query
allow-query-cache {any;};
# 控制哪些主机可触发递归解析,可选参数同allow-query
allow-recursion {any;};
# 是否开启 DNSSEC 验证(内网 DNS 建议设 no,避免解析失败)
dnssec-validation no;
# 是否开启递归解析(内网 DNS 必须设 yes,否则无法解析外网域名)
recursion yes;
# 全局 DNS 缓存的最大生存时间,超过则重新解析,时间(如 1D、12H、3600 秒)
max-cache-ttl 1D;
# BIND 的工作目录,区域数据文件默认存这里
directory "/var/named";
# 缓存转储文件路径
dump-file "/var/named/data/cache_dump.db";
# 统计信息文件路径
statistics-file "/var/named/data/named_stats.txt";
# PID 文件路径
pid-file "/run/named/named.pid"
# 会话密钥文件路径
session-keyfile "/run/named/session.key"
# 限制单个查询的最大客户端数,防止 DoS 攻击
max-clients-per-query 100;
# 限制每秒响应数,防攻击
rate-limit { responses-per-second 10; };
  1. acl可选模块

自定义 ACL 可以简化权限配置(比如多次用到同一个网段时,只需写 ACL 名称)

Terminal window
# 定义名为 "lan" 的ACL,包含内网网段+本机
acl "lan" {
192.168.1.0/24;
127.0.0.1;
::1;
};
# 在options中引用ACL
options {
allow-query { lan; }; # 等价于写 192.168.1.0/24; 127.0.0.1; ::1;
};
  1. logging可选模块

控制 DNS 日志的输出位置、级别

Terminal window
logging {
# 定义日志通道:输出到文件,级别debug
channel "dns_log" {
file "/var/log/named/named.log" versions 3 size 100M; # 日志文件+保留3个版本+单文件100M
severity debug; # 日志级别:debug/info/warn/error/critical
print-time yes; # 打印时间
print-severity yes; # 打印级别
print-category yes; # 打印分类
};
# 定义日志类别:将所有查询日志输出到dns_log通道
category queries { dns_log; };
# 定义日志类别:将所有错误日志输出到dns_log通道
category error { dns_log; };
};
  1. include可选模块

用于拆分配置(比如把区域配置放到 named.rfc1912.zones),路径可变

Terminal window
# 引入区域配置文件(CentOS 7 默认配置)
include "/etc/named.rfc1912.zones";
# 引入密钥文件(如DDNS密钥)
include "/etc/named.ddns.key";

3.3.1.2 修改区域配置文件#

该文件用于定义正向解析区域和反向解析区域,告诉 BIND 需要管理哪些域名和 IP 段的解析,在文件末尾添加以下配置:

Terminal window
vim /etc/named.rfc1912.zones
# 正向解析区域:域名→IP
zone "laixianshen.com" IN {
type master; # 类型为主服务器(内网核心DNS)
file "laixianshen.com.zone"; # 正向区域数据文件名称(自定义,需与后续创建的文件一致)
allow-update { none; }; # 禁止动态更新(内网无需)
};
# 反向解析区域:IP→域名(区域名规则:IP段倒序.in-addr.arpa)
# 192.168.1.0/24段的反向区域名:1.168.192.in-addr.arpa
zone "22.168.192.in-addr.arpa" IN {
type master;
file "192.168.22.zone"; # 反向区域数据文件名称(自定义)
allow-update { none; };
};
示例参数是否可变核心说明
”laixianshen.com”区域名,正向解析填域名,反向解析填倒序 IP 段(如 1.168.192.in-addr.arpa)
INDNS 类标识,固定为IN(Internet 类),无需修改
type区域类型,决定 DNS 服务器对该区域的角色
file区域数据文件的名称 / 路径(默认存/var/named/,可填相对路径或绝对路径)
allow-update控制哪些主机可动态更新该区域的解析记录(如 DDNS 场景)
zone 配置块的所有核心可变参数(含可选值 + 场景)#

除示例中的参数外,BIND 的 zone 块还支持大量可调参数,以下是内网 / 外网 DNS 最常用的参数,按使用频率排序:

1. 核心必配参数#
参数名可选值 / 格式作用 & 使用场景
type- master:主服务器(管理区域解析记录)
- slave:从服务器(同步主服务器记录)
- forward:转发区域(仅转发该区域的查询)
- stub:存根区域(仅同步主服务器的 NS 记录)
定义 DNS 服务器对该区域的角色,内网核心 DNS 必设为master
file字符串(如test.com.zone/var/named/test.com.zonetype master/stub需要,指定存储解析记录的区域数据文件路径;type forward无需该参数
mastersIP 地址列表(如{ 192.168.1.100; }type slave/stub需要,指定主服务器 IP,用于同步解析记录
forwardersIP 地址列表(如{ 114.114.114.114; 223.5.5.5; }type forward需要,指定该区域查询的转发目标 DNS 服务器
forward- only:仅转发(本地不解析,转发失败则返回失败)- first:优先转发(转发失败则本地迭代解析)配合forwarders使用,控制转发策略
2. 权限控制参数(常用)#
参数名可选值 / 格式作用 & 使用场景
allow-query- none:禁止所有查询
- any:允许所有查询
- 网段 / IP(如{ 192.168.1.0/24; 127.0.0.1; }
控制哪些主机可查询该区域的解析记录,内网 DNS 建议限定内网网段
allow-update- none:禁止动态更新(内网默认)
- any:允许所有主机更新(危险)
- 网段 / IP(如{ 192.168.1.101; }
- 密钥认证(如{ key "ddns-key"; }
控制动态更新权限(如 DDNS 场景),内网非必要则设为none
allow-transfer- none:禁止传输
- any:允许所有
- 从服务器 IP(如{ 192.168.1.102; }
master类型需要,控制哪些从服务器可同步该区域的解析记录,建议仅允许从服务器 IP
notifyyes/nomaster类型需要,修改记录后是否主动通知从服务器同步(主从架构建议设yes
3. 其他实用参数#
参数名可选值 / 格式作用 & 使用场景
serial数字(如 2026020901)区域数据文件的序列号(主从同步依据),也可在 zone 块中定义(建议写在区域数据文件里)
refresh时间(如 1D、1H、30M)从服务器主动同步主服务器的间隔,主从架构用
expire时间(如 1W、3D)从服务器同步失败后,保留旧记录的最长时间,主从架构用
negative-cache-ttl时间(如 3H、1H)否定缓存时长(如查询不存在的域名时,缓存 “不存在” 结果的时间)

3.3.1.3 创建区域数据文件(正向 + 反向)#

区域数据文件是实际存储域名 - IP 映射关系的文件,存放在/var/named/必须以named为属主(BIND 运行用户),建议基于系统默认模板named.localhost复制(模板已配置好权限和 SOA 记录格式)。

  1. 创建正向解析数据文件:/var/named/test.com.zone
Terminal window
# 复制模板,保留原权限
cp -p /var/named/named.localhost /var/named/named.laixianshen.com.zone
# 编辑文件
vim /var/named/named.laixianshen.com.zone
$TTL 1D ; 全局TTL,缓存时间1天,可选参数:D(天)、H(时)、M(分)、S(秒)
@ IN SOA @ rename.invalid. (
0 ; 序列号(修改配置后需+1,否则从服务器不同步)
1D ; 刷新时间
1H ; 重试时间
1W ; 过期时间
3H ) ; 否定缓存时间
NS @
@ IN A 192.168.77.11
dns IN A 192.168.33.22
test IN A 192.168.44.55
www IN A 192.168.33.55
www IN AAAA ::1

关键参数说明:

  1. TTL作用:客户端 / 其他 DNS 服务器缓存这些解析记录的时间,超过后会重新查询获取最新记录,避免长期使用过期记录。

  2. @ IN SOA @ rename.invalid.:

  • @:DNS 区域文件的特殊符号,代表当前区域名(该文件对应的是laixianshen.com区域,则@等价于laixianshen.com.,末尾的.是 “绝对域名” 标识,不可省略)。

  • IN:固定值,代表Internet类 DNS 记录(所有 DNS 记录默认用 IN 类,可省略)。

  • SOA:Start of Authority(授权起始记录)的缩写,是每个区域文件必须包含的核心记录,标识该 DNS 区域的 “权威信息”,一个区域文件只能有 1 个 SOA 记录。

  • @:指定该区域的主 DNS 服务器(Primary Nameserver),这里用@等价于当前区域名(laixianshen.com.),生产中建议写具体域名(如ns.laixianshen.com.)。

  • rename.invalid.:该区域管理员的邮箱地址,DNS 中用.替代邮箱的@,所以rename.invalid.实际对应rename@invalid(这是系统默认占位符,生产中需改为真实邮箱,如admin.test.com.对应admin@test.com);末尾的.必须加(代表绝对域名)。

  1. ( ):括号里面的为SOA参数

  • serial:序列号,SOA 的第一个核心参数,是区域文件的版本号(纯数字)。每次修改区域文件(新增 / 修改 / 删除记录)后,必须将序列号 + 1(如 8→9),否则从 DNS 服务器会认为文件未更新,不会同步新记录。

  • refresh:刷新时间,SOA 的第二个参数,定义从 DNS 服务器主动向主 DNS 服务器查询 “是否有更新” 的间隔。设置一天,即从服务器每 24 小时主动检查一次主服务器的区域文件序列号,若序列号变大则同步新记录。

  • retry:重试时间,若从服务器尝试 “刷新(refresh)” 失败(比如主服务器宕机),则等待该时间后重新尝试。设置一小时,即刷新失败后,每 1 小时重试一次。

  • expire:过期时间,若从服务器持续无法与主服务器通信,超过该时间后,从服务器会放弃使用该区域的缓存记录,不再对外提供该区域的解析服务。设置1 周,即主从断连超过 7 天,从服务器就会失效该区域的所有记录。

  • minimum:否定缓存时长(也叫 negative TTL),定义客户端查询 “不存在的域名” 时,缓存 “该域名不存在” 这个结果的时长。设置3 小时,比如查询xxx.test.com(无该记录),客户端会缓存 “xxx.test.com不存在” 的结果 3 小时,3 小时内再查不会发起新请求。

  1. NS @

  • NS:Name Server(域名服务器记录),标识该区域的权威 DNS 服务器

  • 该行等价于@ IN NS @(省略了IN,默认生效),含义是:当前区域名(laixianshen.com.)的权威 DNS 服务器是它自己(@)。

  • 注意:生产中 NS 记录建议写具体的 DNS 服务器域名(如ns.laixianshen.com.),且需配套 A/AAAA 记录,否则会解析失败。

  1. @ IN A 192.168.77.11

  • A:IPv4 地址记录,核心作用是将域名映射到 IPv4 地址

  • 含义:当前区域名(@laixianshen.com.)对应的 IPv4 地址是192.168.77.11,即访问laixianshen.com会解析到这个内网 IP。

  • IN:显式指定 IN 类,可省略(默认生效)。

  • 注意:该条与NS @对应,将权威dns服务器映射到该ip地址,若权威dns服务器无IP地址映射则会报错

  1. dns IN A 192.168.33.22

  • 含义:子域名dns.当前区域名dns.laixianshen.com.)对应的 IPv4 地址是192.168.33.22

  • 注意:子域名后省略了末尾的.,BIND 会自动拼接当前区域名,形成 “绝对域名”(dns.laixianshen.com.)。

  1. www IN AAAA ::1:

  • AAAA:IPv6 地址记录,核心作用是将域名映射到 IPv6 地址(与 A 记录对应,适配 IPv6 网络)。
  • 含义:子域名www.当前区域名www.laixianshen.com.)对应的 IPv6 地址是::1(本机回环地址,等价于 IPv4 的127.0.0.1)。
  • 补充:同一域名可同时配置 A(IPv4)和 AAAA(IPv6)记录,实现 IPv4/IPv6 双栈解析。
  1. 创建反向解析数据文件:/var/named/192.168.1.zone

反向解析数据文件,用于ip解析成为域名,和正向解析数据文件没有关联,可以相互独立出来

Terminal window
# 复制模板,保留原权限
cp -p /var/named/named.loopback /var/named/192.168.22.zone
# 编辑文件
vim /var/named/192.168.22.zone
$TTL 1D
@ IN SOA helloworld.com. admin.test.com. (
0 ; 序列号
1D ; 刷新
1H ; 重试
1W ; 过期
3H )
NS ns.helloworld.com.
100 IN PTR ns.helloworld.com.
101 IN PTR www.helloworld.com.
102 IN PTR test.helloworld.com.

关键参数说明:

  1. @ IN SOA helloworld.com. rename.invalid.

  • @:DNS 区域文件的特殊符号,代表当前反向区域名(反向区域名规则:IP 段倒序 +.in-addr.arpa,比如 192.168.22.0/24 网段的反向区域名是22.168.192.in-addr.arpa,此时@就等价于这个反向区域名)。

  • helloworld.com.:该反向区域的主 DNS 服务器域名,@则为22.168.192.in-addr.arpa(注意末尾的.是 “绝对域名” 标识,不可省略);生产中建议写反向区域对应的权威 DNS 服务器(如ns.helloworld.com.

  1. NS ns.helloworld.com.:

  • NS:Name Server(域名服务器记录),标识该反向区域的权威 DNS 服务器

  • 该行等价于@ IN NS ns.helloworld.com.(省略了@IN,默认生效),含义是:当前反向区域名(1.168.192.in-addr.arpa)的权威 DNS 服务器是ns.hellowrold.com.(注意末尾的.不可省略)

  • 关键:NS 记录指定的域名(ns.hellorld.com.)必须有对应的 A/AAAA 记录,否则反向解析会失败。

  1. 100 IN PTR ns.helloworld.com.:

  • PTR:Pointer(指针记录),反向解析的核心记录,作用是「将 IP 地址映射到域名」(与正向解析的 A 记录相反)。
  • 核心规则:反向区域文件中,PTR记录前的数字是 IP 的最后一段(需结合反向区域名确定完整 IP)。反向区域名是22.168.192.in-addr.arpa(对应 192.168.22.0/24),则100代表完整 IP 是192.168.22.100
  • 含义:IP 地址192.168.22.100反向解析到域名ns.helloworld.com.
  • 注意:PTR后的域名必须加末尾的.(绝对域名),否则 BIND 会自动拼接当前反向区域名,导致域名错误(如变成ns.helloworld.com.22.168.192.in-addr.arpa.)。

3.3.1.4 修改区域数据文件权限#

/var/named/下的区域数据文件属主必须是 named,否则 BIND 启动失败

Terminal window
chown named:named /var/named/named.laixianshen.com.zone /var/named/192.168.22.zone

3.3.1.5 配置文件语法检查#

Terminal window
# 检查主配置文件语法,无输出即表示语法无错误
named-checkconf
# 检查正向区域:正向区域名 + 区域数据文件
named-checkzone laixianshen.com /var/named/named.laixianhen.com.zone
# 检查反向区域:反向区域名 + 区域数据文件
named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.zone
# 正常输出
zone test.com/IN: loaded serial 0
OK

3.4 启动服务#

Terminal window
# 启动服务
systemctl start named
# 设置开机自启
systemctl enable named
# 查看状态
systemctl status named
systemctl is-enable named

3.5 测试#

3.5.1 DNS本机测试#

将自身ip加入到 /etc/resolv.conf

Terminal window
vim /etc/resolv.conf
nameserver 127.0.0.1

3.5.1.1 正向解析测试#

Terminal window
nslookup www.laixianshen.com
# 出现如下结果,说明解析正常,与正向区域数据文件填入的ip地址一致
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.laixianshen.com
Address: 192.168.33.55
Name: www.laixianshen.com
Address: ::1
dig @127.0.0.1 laixianshen.com
# 出现如下结果
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> @127.0.0.1 laixianshen.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28448
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;laixianshen.com. IN A
;; ANSWER SECTION:
laixianshen.com. 86400 IN A 192.168.77.11 #解析正常
;; AUTHORITY SECTION:
laixianshen.com. 86400 IN NS laixianshen.com.
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Feb 10 11:11:02 CST 2026
;; MSG SIZE rcvd: 74

3.5.1.2 反向解析测试#

Terminal window
nslookup 192.168.22.100
# 出现如下结果,说明解析正常
100.22.168.192.in-addr.arpa name = ns.helloworld.com.
dig @127.0.0.1 -x 192.168.22.101
# 出现如下结果说明解析正常
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> @127.0.0.1 -x 192.168.22.101
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36551
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;101.22.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
101.22.168.192.in-addr.arpa. 86400 IN PTR www.helloworld.com. # 解析正常
;; AUTHORITY SECTION:
22.168.192.in-addr.arpa. 86400 IN NS ns.helloworld.com.
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Feb 10 11:14:37 CST 2026

3.5.2 客户端测试#

修改linux客户端或win客户端的dns服务器为该dns服务器(这里为192.168.106.33

修改后,同样使用上述命令进行测试验证

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

DNS服务
https://2233941.xyz/posts/dns服务/
作者
lumifly
发布于
2026-07-24
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
lumifly
不逐世间万丈星河,自守一隅细碎明光
✨ 今日一言
" 加载中... "
——
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
本年还剩 -- --%
本月还剩 -- --%
本周还剩 -- --%
距离--
--
--
天气预报
站点统计
文章
24
分类
1
标签
15
总字数
136,852
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.12.1
文章许可
CC BY-NC-SA 4.0

文章目录