Linux域名如何管理DNS记录
小樊
39
2025-11-22 13:22:34
Linux 域名 DNS 记录管理实战
一 管理路径概览
- 自托管权威 DNS:在 Linux 上安装并运行 BIND(服务名通常为 named),通过编辑 /etc/bind/named.conf 与区域文件管理 A、AAAA、CNAME、MX、NS、PTR 等记录,适合需要自建权威解析的场景。
- 本地缓存与转发:使用 dnsmasq 做本地解析与缓存、DHCP 集成,适合小型网络或开发测试环境。
- 云厂商或托管 DNS:在域名注册商/云 DNS 控制台管理记录,Linux 主机仅作为客户端验证与调试。
- 常用验证工具:dig、nslookup、host 用于查询与排错;必要时配合日志与在线检测工具。
二 使用 BIND 自建权威 DNS 的标准流程
- 安装与启用
- Debian/Ubuntu:sudo apt-get install bind9;sudo systemctl enable --now bind9
- RHEL/CentOS:sudo yum/dnf install bind;sudo systemctl enable --now named
- 核心配置
- 主配置 /etc/bind/named.conf(或包含文件)中声明区域与访问控制;示例:
- zone “example.com” { type master; file “zones/db.example.com”; };
- zone “1.168.192.in-addr.arpa” { type master; file “zones/db.192.168.1”; };
- 访问控制(ACL)示例:
- acl “trusted” { 192.168.1.0/24; }; options { allow-query { trusted; }; };
- 区域文件要点(示例)
- 正向区域 db.example.com:
- $TTL 1D
- @ IN SOA ns1.example.com. admin.example.com. ( 2025112201 3H 1H 1W 1H )
- @ IN NS ns1.example.com.
- @ IN NS ns2.example.com.
- ns1 IN A 192.0.2.10
- www IN A 192.0.2.11
- mail IN A 192.0.2.12
- @ IN MX 10 mail.example.com.
- www IN AAAA 2001:db8::11
- 反向区域 db.192.168.1(PTR 示例):
- 11.1.168.192.in-addr.arpa. IN PTR www.example.com.
- 检查与生效
- 语法检查:named-checkconf;named-checkzone example.com /path/db.example.com
- 重载:sudo systemctl reload named
- 防火墙放行
- UFW:sudo ufw allow 53
- firewalld:sudo firewall-cmd --permanent --add-service=dns --add-port=53/udp;sudo firewall-cmd --reload
- 常用记录速览
- A(IPv4)、AAAA(IPv6)、CNAME(别名)、MX(邮件交换,数值越小优先级越高)、NS(权威服务器)、PTR(反向解析)。
三 本地解析与轻量方案 dnsmasq
- 适用场景:开发测试、小型局域网、需要本地缓存与简单主机名映射。
- 安装与启用:sudo apt/dnf/yum install dnsmasq;sudo systemctl enable --now dnsmasq
- 关键配置 /etc/dnsmasq.conf
- address=/www.example.com/192.0.2.11(本地域名强制解析)
- server=8.8.8.8;server=1.1.1.1(上游 DNS)
- cache-size=1000
- 验证:dig www.example.com @127.0.0.1;nslookup www.example.com 127.0.0.1
- 注意:如系统使用 systemd-resolved,需协调 127.0.0.1 的使用与 dnsmasq 配置,避免端口冲突。
四 记录变更与验证的实用流程
- 变更前
- 规划 TTL:降低 TTL 便于快速切换;变更后视需要再调高。
- 备份:区域文件与配置版本化管理(如 git)。
- 变更中
- 更新 Serial(建议采用 YYYYMMDDNN 格式),保持正向/反向记录一致性。
- 检查与重载:named-checkconf;named-checkzone;sudo systemctl reload named。
- 变更后
- 查询验证:
- dig example.com A +short
- dig www.example.com AAAA +short
- dig example.com MX +short
- dig -x 192.0.2.11 +short(PTR)
- 如需 DNSSEC:dig +dnssec www.example.com A
- 连通性:curl -v http://www.example.com 或 telnet 192.0.2.11 80
- 日志与在线工具:tail -f /var/log/**named/**query.log;使用 MX Toolbox 等在线检测。
五 安全与运维要点
- 访问控制:通过 ACL 限制 allow-query/allow-transfer,仅对受信网络开放查询与区域传输。
- 防火墙:放行 UDP/TCP 53;云环境同步安全组规则。
- DNSSEC:为关键域名启用 DNSSEC 提升查询完整性与抗劫持能力。
- 日志与监控:启用查询日志、解析时延监控与告警;定期审计区域与配置权限。