# DNS 区域文件记录生成器

表单式生成 SOA / NS / A / AAAA / CNAME / MX / TXT (SPF / DKIM / DMARC) / SRV / CAA / TLSA / NAPTR / DS 记录。输出 RFC 1035 zone-file 文本和人类可读摘要表,支持 TTL 和多记录。

> 标准页面: https://elysiatools.com/zh/tools/dns-zone-file-record-builder

- **分类:** Network

- **关键词:** DNS, 区域文件, BIND, SOA, A 记录, MX, TXT, SPF, DKIM, DMARC, SRV, CAA, TLSA

## 概述

逐条记录地构建 RFC-1035 DNS 区域文件,告别拼写错误和记不住每种记录字段顺序的烦恼。

**生成什么。** 完整的 SOA 记录 + NS / A / AAAA / CNAME / MX / TXT(含 SPF / DKIM / DMARC)/ SRV / CAA / TLSA / NAPTR / DS 的任意组合。输出是标准 RFC 1035 主文件语法——直接粘进 BIND、Knot、PowerDNS、NSD 或 hidden master。

**怎么填记录。** 在**记录**框里每行一条,每行就是一条迷你 zone-file 条目:
```
@           IN  A     203.0.113.10
www         IN  A     203.0.113.10
@           IN  MX    10 mail.example.com.
@           IN  TXT   "v=spf1 mx -all"
_dmarc      IN  TXT   "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"
_sip._tcp   IN  SRV   10 60 5060 sip.example.com.
@           IN  CAA   0 issue "letsencrypt.org"
```
- **name** 可以是 `@:`(区域源)、相对名(`www` → `www.example.com.`)、或以 `.` 结尾的完全限定名。
- `TTL` 可选(在 `IN` 之前,如 `www 3600 IN A ...`);省略时用区域默认 TTL。
- 引号字符串(TXT)保留空格。
- 以 `;` 开头的行是注释,原样保留。

**工具做的校验。**
- 检测明显错误的 IPv4 / IPv6 地址(A / AAAA)。
- 标记 MX / SRV / NS 目标名缺少末尾点。
- TXT 中未转义双引号告警。
- 发现 CNAME 与同名其他记录共存时报错(RFC 1034 §3.6.2)。
- 校验 DKIM/DMARC TXT 值以 `v=DKIM1` / `v=DMARC1` 开头。

**SOA 块。** 从上面表单字段填入。序列号默认为今天的 `YYYYMMDD01`(常规的"日期 + 修订"方案)。Refresh/Retry/Expire/Minimum 用 RFC 1912 推荐值。

**为什么不用网页面板?** 云/注册商面板会重写记录、隐藏 TTL、悄悄丢弃不支持的记录。自建 DNS、迁移、审计、"我的区域现在到底是什么样?"——纯文本区域文件仍是真相之源。

## 输入项

- **区域源 (域名)** (text): e.g. example.com
- **默认 TTL (秒)** (number): e.g. 3600
- **主域名服务器 (FQDN)** (text): e.g. ns1.example.com
- **管理员邮箱 (hostmaster@...)** (text): e.g. hostmaster@example.com
- **序列号** (text): e.g. 2026070801 (defaults to YYYYMMDD01)
- **刷新 (秒)** (number)
- **重试 (秒)** (number)
- **过期 (秒)** (number)
- **最小 / 否定 TTL (秒)** (number)
- **记录 (每行一条)** (textarea): One record per line: name \[ttl\] IN TYPE rdata. @ = zone origin. Comments start with ;.

## 适用场景

- 需要为 BIND、Knot、PowerDNS 或 NSD 等自建 DNS 服务器配置或迁移标准的 RFC 1035 区域文件时。
- 部署 SPF、DKIM 和 DMARC 等邮件认证记录，需要确保 TXT 语法和双引号正确转义时。
- 批量添加 A、AAAA、MX 或 SRV 记录，并需要自动校验 IP 地址格式及目标域名末尾点（.）时。

## 工作原理

- 在表单中输入区域源域名（Origin）、默认 TTL、主域名服务器（NS）及管理员邮箱，系统将自动生成标准的 SOA 记录块。
- 在记录输入框中逐行填写 DNS 记录（如 A、MX、TXT 等），支持使用相对域名或以点结尾的完全限定域名（FQDN）。
- 工具会自动运行校验算法，检测 IPv4/IPv6 格式、CNAME 冲突、MX/SRV 缺失末尾点以及 DKIM/DMARC 头部标识。
- 校验通过后，一键输出标准的 RFC 1035 区域文件文本，并同步生成直观的记录摘要表供快速核对。

## 使用案例

- 自建 DNS 服务器初始化：快速生成包含 SOA 和基础 NS/A 记录的 BIND 区域配置文件。
- 邮件安全协议部署：准确配置 SPF、DKIM 密钥和 DMARC 策略，避免因引号未转义导致解析失败。
- DNS 记录合规性审计：在迁移域名解析服务前，将现有的文本记录导入工具进行格式校验与冲突排查。

## 常见问题

### 这个工具支持哪些 DNS 记录类型？

支持 SOA, NS, A, AAAA, CNAME, MX, TXT (包括 SPF, DKIM, DMARC), SRV, CAA, TLSA, NAPTR 和 DS 记录。

### 为什么生成的 MX 或 SRV 记录目标域名后面有一个点（.）？

根据 RFC 1035 规范，以点结尾表示完全限定域名（FQDN），否则 DNS 解析器会将其视为相对域名并自动附加区域源域名。

### 工具如何处理 CNAME 记录的冲突？

工具会根据 RFC 1034 规范进行校验，如果发现 CNAME 记录与同名的其他记录（如 A 或 MX）共存，会主动发出报错提示。

### 序列号（Serial Number）是如何生成的？

默认采用 YYYYMMDD01 格式（即当前日期加修订号），您也可以在表单中手动指定自定义的序列号。

### 导出的区域文件可以直接导入到哪些 DNS 服务器？

导出的文本符合标准 RFC 1035 语法，可直接粘贴导入到 BIND, Knot DNS, PowerDNS, NSD 等主流 DNS 服务软件中。

## 相关工具

- [llms.txt / AI 爬虫审计生成器](https://elysiatools.com/zh/tools/llms-txt-and-ai-crawler-audit): 从实站爬取或粘贴的页面清单生成 llms.txt（llmstxt.org v2 格式：H1、引用块摘要、H2 文件列表），并按 RFC 9309 匹配算法审计 robots.txt 对 GPTBot、ClaudeBot、PerplexityBot、Bytespider 的策略——附 allow/block 预览与可直接粘贴的指令。
- [ECharts 主题 Token 抽取器](https://elysiatools.com/zh/tools/echarts-theme-token-extractor): 从 ECharts 主题 JSON 抽取设计 token——颜色、数字、字号与字符串——并直接导出到你的设计系统。粘贴一个主题对象（即通过 echarts.init(dom, themeName) 注册的那种），工具遍历每个叶子节点，为每个颜色（可选地将命名色/rgb 规范化为 hex）、间距数字、字号与字符串打标，然后输出干净的 CSS 变量、Tailwind theme.extend 配置、Style Dictionary tokens.json 或 SCSS 变量。在 ECharts 可视化主题与 Figma/CSS/Tailwind 设计 token 之间架桥，无需逐个手抄。
- [扩展文本编码(Base65536 + netstring)](https://elysiatools.com/zh/tools/extended-text-base-codecs): 编码/解码较少见的文本编码:Base65536(二进制→高密度 Unicode)和 netstring(自定界成帧)。Base85 不重复建设(已覆盖)。
- [OCR PDF 转结构化 JSON 桥](https://elysiatools.com/zh/tools/ocr-pdf-to-structured-json-bridge): 按几何结构抽取 PDF 文本层（y 坐标分行、列间隙识表、字号识标题、冒号键值对），然后逐字段填入用户提供的 JSON Schema——标签按归一化键名匹配、值按声明类型归一化，并用 ajv 校验。
- [Twitter / X 长推文拆分器](https://elysiatools.com/zh/tools/twitter-thread-splitter): 粘贴长文本，自动按 280 字符限制拆分成带编号的 X 线程。支持按词/句/段边界切分、自动加 1/N 编号、正确加权中日韩和全角字符、URL 按 23 字符计数，并为每条推文显示 X 风格预览卡和字数计量条。
- [AI货币和数字提取器](https://elysiatools.com/zh/tools/ai-currency-extractor): 使用AI智能提取文本中的数字、货币和金融金额，保留原始格式
- [缩进列表转 ASCII 目录树](https://elysiatools.com/zh/tools/ascii-tree-from-indented-list): 把 2 空格 / 4 空格 / Tab 缩进的层级列表（Markdown bullet、- * 1. 前缀可选）渲染为可复制的 ASCII 目录树。支持 Unicode 方框与经典 ASCII 两种风格，以及整根纵线、行尾空格、叶节点方括号等开关。
- [跟读提示生成器](https://elysiatools.com/zh/tools/audio-read-along-cue-generator): 从旁白音频及其脚本生成句子或单词级时间戳提示,用于卡拉OK式跟读和语言学习。

## 示例

- [时区协作排期器 ICS 样本](https://elysiatools.com/zh/samples/time-zone-workflow-scheduler-ics-samples): 与 Time Zone Workflow Scheduler 返回结构一致的 ICS 文件样本，包含多个候选会议 VEVENT
- [无版权MP3音频样本](https://elysiatools.com/zh/samples/mp3-samples): 免费使用和测试的无版权音频样本集合，包括自然声音、冥想音乐和环境音频，适用于测试和开发目的
- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
- [Android Java 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-java): Android Java 图像处理示例，包括图像读取保存、缩放和格式转换
