概述
域名系统(DNS)是互联网的通讯录。当有人在浏览器中输入 example.sa,或向 you@example.sa 发送邮件时,DNS 会将这个便于人类记忆的名称翻译成实际路由请求所需的机器指令。这些指令就存放在 DNS 记录中——它们是保存在你域名区域(zone)里的小型结构化条目。
DNS 记录的结构
每条记录都遵循相同的基本结构:
NAME TTL CLASS TYPE VALUE
www 3600 IN A 192.0.2.10
- NAME — 该记录所适用的主机名(
www、代表根域名的@,或代表通配符的*)。 - TTL(Time To Live,生存时间)— 解析器可以缓存该应答的秒数。在计划进行变更之前先调低它(例如 300),变更稳定后再调高(3600 以上)。
- TYPE — 记录类型,详见下文。
- VALUE — 数据本身:一个 IP 地址、另一个主机名,或一段文本。
核心记录
A 记录 —— 名称指向 IPv4
A 记录将主机名映射到一个 IPv4 地址。这是互联网上最常见的记录。
@ 3600 IN A 192.0.2.10
www 3600 IN A 192.0.2.10
用它将你的域名指向 Web 服务器、云托管实例或 VPS。
AAAA 记录 —— 名称指向 IPv6
AAAA 记录(读作 "quad-A")为 IPv6 地址完成同样的工作。如果你的服务器拥有 IPv6 地址,请同时发布 A 和 AAAA 记录,这样双栈客户端就能通过任一协议访问你。
@ 3600 IN AAAA 2001:db8::10
CNAME 记录 —— 名称指向另一个名称
CNAME(Canonical Name,规范名称)将一个主机名设为另一个主机名的别名。当多个名称需要指向同一个目标时,它非常理想——例如将 www 和 shop 指向同一处,或将某个子域名指向 CDN 或 SaaS 端点。
www 3600 IN CNAME example.sa.
blog 3600 IN CNAME hosting.provider.net.
有两条规则需要注意:
- 切勿在根域名/顶点(apex)上设置 CNAME(
@,例如example.sa)并与 MX 或 NS 等其他记录并存——这会破坏整个区域。请改用 A 记录(或你的 DNS 提供商提供的 ALIAS/ANAME 扁平化机制)置于顶点。 - CNAME 的目标本身必须能够通过 A/AAAA 解析;串联过多 CNAME 会增加延迟。
MX 记录 —— 邮件去向何处
MX(Mail Exchanger,邮件交换器)记录告诉全世界哪些服务器负责接收你域名的邮件。每条记录都有一个优先级(数字越小越优先);再加一条优先级更高(数字更大)的备用记录可以增强可靠性。
@ 3600 IN MX 10 mail.example.sa.
@ 3600 IN MX 20 backup-mail.example.sa.
MX 的值必须是主机名(且该主机名要有自己的 A/AAAA 记录),绝不能是 IP 地址。如果你运行企业邮箱托管服务,你的提供商会给出需要发布的确切 MX 目标。
TXT 记录 —— 验证、SPF、DKIM、DMARC
TXT 记录保存任意文本。在实践中,它们承载着让你的邮件保持可信、不被丢进垃圾邮件箱的三类记录:
| 用途 | 主机 | 示例值 |
|---|---|---|
| SPF(授权发件方) | @ |
v=spf1 include:_spf.example.sa -all |
| DKIM(签名密钥) | selector._domainkey |
v=DKIM1; k=rsa; p=MIGfMA0... |
| DMARC(策略) | _dmarc |
v=DMARC1; p=quarantine; rua=mailto:dmarc@example.sa |
TXT 也是你向 Google Search Console 等服务证明域名所有权的方式(google-site-verification=...)。
NS 记录 —— 谁拥有权威
NS(Name Server,名称服务器)记录列出你区域的权威服务器。它们需要在你的注册商处(即委派 delegation)和区域内部同时设置,且两者必须一致。
@ 86400 IN NS ns1.alskyline.com.
@ 86400 IN NS ns2.alskyline.com.
不太常见但有用的记录
- SRV — 在某个主机和端口上定位服务,用于 SIP、XMPP、Microsoft autodiscover 等:
_sip._tcp 3600 IN SRV 10 5 5060 sip.example.sa. - PTR — 反向 DNS,将 IP 映射回名称。它设置在该 IP 所在的网络上(通常由你的托管提供商设置),对于邮件可达性(deliverability)至关重要。
- CAA — 限制哪些证书颁发机构(CA)可以为你的域名签发 SSL 证书:
@ 3600 IN CAA 0 issue "letsencrypt.org"。
实战示例:一个完整的小型企业区域
@ 3600 IN A 192.0.2.10
www 3600 IN A 192.0.2.10
@ 3600 IN AAAA 2001:db8::10
shop 3600 IN CNAME example.sa.
@ 3600 IN MX 10 mail.example.sa.
mail 3600 IN A 192.0.2.20
@ 3600 IN TXT "v=spf1 include:_spf.example.sa -all"
_dmarc 3600 IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.sa"
@ 3600 IN CAA 0 issue "letsencrypt.org"
验证你的记录
请始终通过命令行确认变更,而不要依赖浏览器,因为浏览器缓存非常激进:
dig example.sa A +short
dig example.sa MX +short
dig _dmarc.example.sa TXT +short
# Windows 上的等效命令:
nslookup -type=MX example.sa
请记住,传播(propagation)由你的 TTL 决定。如果你设置了较长的 TTL 后又需要更改某条记录,那些已经缓存了旧应答的解析器会持续提供旧值,直到该 TTL 到期为止。
为什么托管 DNS 与数据驻留很重要
将你的 DNS 托管在快速、可靠、由 anycast 支撑的平台上,可以降低访客的查询延迟,并保护你免受注册商层面的故障影响。对于王国(沙特)境内的组织而言,将 DNS 以及其背后的服务运行在境内基础设施上,有助于满足 PDPL、NCA 和 SDAIA 的数据驻留要求,同时让阿拉伯语支持触手可及。
Skyline 托管 DNS 为上述每一种记录类型提供清爽的编辑器、合理的默认 TTL,以及面向 SPF/DKIM/DMARC 和 .sa 域名的模板——全部由本地支持团队提供保障。
立即开始
准备好指向一个域名、托管一个站点,或在完全掌控 DNS 的情况下运行企业邮箱了吗?
创建你的 Skyline Cloud 账户,几分钟内即可配置你的第一个区域——内置数据驻留与阿拉伯语支持。
Comments
0 total · 0 threads