转发模式对比:
生产环境采用forward only,所有外部解析统一走 202.103.24.68 这条链路,避免绕过转发器自己出去查,方便流量审计与安全管控。如果转发器本身不稳定,可改用forward first;或添加多个转发器地址作为备用。

# 关闭 DNSSEC 验证(简化演示配置,生产环境建议保持开启) dnssec-validation no;
DNSSEC 是什么? DNSSEC(DNS 安全扩展)通过对 DNS 解析结果做数字签名,防止缓存投毒攻击 ——即攻击者在 DNS 查询过程中插入伪造的解析结果。
关闭它的原因:如果上游转发器本身不支持 DNSSEC,可能导致部分域名的 DNSSEC 验证失败,查询直接返回 SERVFAIL 错误。生产环境如果上游支持,建议保持开启。

③ 注释或删除根提示区域
如果配置文件中存在根区域声明(zone "."),必须将其注释掉,否则 BIND 会认为自己拥有根区域的权 威数据,转而使用根提示进行递归查询,导致转发器配置被忽略:
# zone "." IN { # type hint; # file "named.ca";# };
这是最常见的“明明配了转发,实际却没走转发”的原因之一。

4.检查配置并重载服务
每次修改配置文件后,先做语法检查,确认无误后再重载服务。很多服务故障的原因其实很简单:配置文件写错了,但直接重启导致服务起不来,业务中断。语法检查就是避免这个"低级错误"的最后一道防线。
# 检查配置文件语法正确性 named-checkcon
如果没有输出任何错误信息,说明配置语法通过。然后重载:
这里用了 restart(完全重启),而非 reload(平滑重载)。两者区别:restart`会完全停止 BIND 进程再重新启动,期间短暂中断 DNS 服务,所有缓存也会被清空;reload 只让 BIND 重新读取配置文件,不会中断已有查询,也不清空缓存。日常修改一般用 `reload`,但首次部署或做了大量修改时,`restart` 更保险,可以确保一个全新的运行状态。
确认服务状态正常:
看到 active (running) 即表示一切正常。
