内网域名解析不能一台说了算:群晖 DNS Server 次要区域与 TSIG 主备冗余实操
内网域名解析不能一台说了算:群晖 DNS Server 次要区域与 TSIG 主备冗余实操
引言
自建内网 DNS 之后,解析服务自己就成了新的单点:主 DNS 一停,全员域名访问瘫痪,应用明明都健康,就是互相找不到。DNS Server 对此有原生答案——次要区域。它把主要区域的区域文件通过「区域传输」(AXFR 协议)复制到第二台服务器,主备两台各自应答查询,主机停了备机顶上。区域传输本身还需要防伪,配套机制就是 TSIG 传输签名密钥。这篇按主端收紧、密钥建立、备端接入、应急接管的顺序配一遍。
区域类型先分清
DNS Server 的区域分三种:主要区域包含区域文件所需的全部信息,是权威源;次要区域复制来自主要区域的区域文件(即「区域传输」),本机只读;转发区域将匹配的 DNS 查询转发给特定转发器。主备冗余=一台主要区域加一台次要区域,改动永远只在主端做,备端靠同步保持一致。
操作步骤
-
在主服务器上收紧区域传输:编辑主要区域的区域设置,启用限制区域传输并配置区域传输规则。为什么:官方明确区域传输用的是 AXFR 协议、传的是整个区域文件——不限权等于把内网域名拓扑向任意来源敞开;启用后只有规则中指定的主机或子网可传输区域文件,这是主备体系的第一道门。
-
在主服务器启用次要区域通知:区域设置中启用并填写次要区域 IP 列表。为什么:主要区域更改时主动通知指定的次要区域主机——变更传播不必等刷新周期,主备不一致窗口压到最短。
-
创建 TSIG 密钥:DNS Server > 密钥 > 创建 > 创建密钥,输入密钥名称并选择算法。为什么:TSIG(传输签名)密钥限制哪些主机可从主服务器同步区域文件;DNS Server 支持 HMAC-MD5 与 HMAC-SHA512 两种算法——没有密钥的「假备机」拉不走区域数据,伪造来源这条路被堵死。
-
把密钥送到两端:密钥页选中密钥单击导出密钥;在另一台服务器上创建 > 导入密钥,选择密钥文件保存。为什么:签名验证要求两端持有同一份密钥;官方注明密钥文件为 Bind9 密钥声明格式,名称最多 63 个字符,「rndc-key」为系统保留名——从 Linux 侧 BIND 迁移密钥时直接适用。
-
在次要服务器上创建次要区域:DNS Server > 区域 > 创建 > 次要区域,选择域类型(正向或反向)、输入域名、主 DNS 服务器填主端地址。为什么:次要区域同步主服务器的区域文件——主 DNS 服务器一栏决定同步方向,填错对象备机就成了别人的镜像;反向区域按是否需要 PTR 记录决定。
-
勾选启用 TSIG,并从密钥名称下拉菜单选择第 3 步的密钥。为什么:官方明确主服务器使用 TSIG 验证传输时,此端必须选择对应密钥,否则同步请求被拒——密钥名称两端一致是传输成立的条件。
-
按需启用限制来源 IP 服务。为什么:控制哪些主机可向这台服务器发送该区域的查询——备机同样要有访问面治理,内网 DNS 不是谁都能问;未在来源 IP 列表中的主机查询会被挡下。
-
核对主区域 SOA 记录参数:编辑 > SOA 记录,确认刷新时间、重试时间、到期时间、被动缓存 TTL。为什么:刷新时间决定备服务器与主服务器同步的频率,重试与到期决定失联后备机的行为边界——到期后停止同步尝试,备机带着最后一份区域文件继续服务;这些值就是主备关系的「心跳」参数(范围 1 至 2147483647 秒),按内网规模调整而非照抄默认。
-
灾备接管演练:确认次要区域同步成功后,单击更改为主要区域。为什么:主机故障时把次要区域提升为主要区域,从这台机器继续权威解析、接管变更;官方注明两个要点——只有同步成功后才能转换,且主要区域无法更改回次要区域,接管是单向门:演练前想清楚回切方案。
-
日常巡检两件事:看序列号、导出区域留档。为什么:序列号区分区域记录的版本,官方给两种格式——整数(0 至 4294967295)或日期(YYYYMMDDNN,一天内更新超过 99 次 NN 会重置为 00,高频更新建议整数格式);导出区域(资源记录或完整区域设置)留档,与次要区域互为补充——备机防主机故障,离线文件防主备一起出事。
三条边界先知道
- 次要区域只读:资源记录与 SOA 只能在主要区域编辑,一切变更走主端——在备机上改了也不会同步回去。
- 删除无法还原:区域一经删除无法还原,操作前先导出完整区域设置留底。
- 接管是单向门:次要可升主要、主要不能降次要,灾难切换与演练都要按此设计回切路径。
结语
内网域名解析的可用性,取决于那台谁都绕不开的 DNS 服务器有没有替补:次要区域让备机持续持有完整区域文件,TSIG 让传输过程可信,SOA 参数让主备心跳可控。贵州诚鑫致达科技在网络与存储体系建设中,内网 DNS 主备与离线区域留档是基础架构交付的标准章节——解析服务不单点,业务寻址才有冗余可言。