跳到内容
🛠️ToolsShed

DNS记录生成器

生成A、MX、TXT、CNAME、SRV记录的DNS区域文件条目。

@	3600	IN	A	1.2.3.4

关于此工具

DNS 记录是域名系统的基础构建块——它们告诉服务器如何将流量路由到您的域,并处理电子邮件、安全性和其他服务。DNS 记录生成器简化了为不同记录类型(A、MX、TXT、CNAME 和 SRV)创建区域文件条目的过程,否则需要手动格式化和仔细注意语法。无论您是在设置新域、迁移主机还是配置高级网络,此工具都无需记住 DNS 语法规则,并降低了配置错误的风险。

使用此工具很简单:选择您需要的 DNS 记录类型(用于 IPv4 地址的 A、用于邮件服务器的 MX、用于 SPF 或 DKIM 等文本记录的 TXT、用于别名的 CNAME 或用于服务记录的 SRV),填写所需字段,如主机名、值和 TTL(生存时间),工具会生成格式正确的区域文件条目。您可以将输出直接复制到您的域注册商的 DNS 面板或主机的区域文件中。常见用途包括重定向子域、设置电子邮件传递、配置用于电子邮件身份验证的 DKIM 签名、创建服务发现条目以及将域指向不同的 IP 地址。

对于管理多个域或经常调整 DNS 配置的域管理员、系统工程师和开发人员来说,DNS 记录生成器非常宝贵。DNS 记录中即使是微小的语法错误也会破坏电子邮件传递、阻止网站访问或造成安全漏洞,因此结构化工具对于可靠性至关重要。无论您是管理单个站点还是协调复杂的多服务器基础结构,此生成器都确保您的记录遵循正确的格式并准备好立即部署。

常见问题

代码实现

# Generate DNS zone file records programmatically
from dataclasses import dataclass
from typing import Optional

@dataclass
class DnsRecord:
    name: str
    record_type: str
    value: str
    ttl: int = 3600
    priority: Optional[int] = None  # For MX records

    def to_zone_line(self) -> str:
        if self.priority is not None:
            return f"{self.name}\t{self.ttl}\tIN\t{self.record_type}\t{self.priority}\t{self.value}"
        return f"{self.name}\t{self.ttl}\tIN\t{self.record_type}\t{self.value}"

records = [
    DnsRecord("@",    "A",     "93.184.216.34"),
    DnsRecord("www",  "CNAME", "example.com."),
    DnsRecord("@",    "MX",    "mail.example.com.", priority=10),
    DnsRecord("@",    "TXT",   '"v=spf1 mx ~all"'),
    DnsRecord("mail", "A",     "93.184.216.35"),
]

print("$ORIGIN example.com.")
print("$TTL 3600")
for record in records:
    print(record.to_zone_line())

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.