IT
🌐

Complete DNS Setup Guide: From the Difference Between A Records and CNAME to Practical Configuration

USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。

Complete DNS Setup Guide: From the Difference Between A Records and CNAME to Practical Configuration

核心要点

  • A记录将域名直接映射至IPv4地址,CNAME为域名别名(不可指向IP)。
  • MX记录用于邮件路由,TXT记录用于域名验证与SPF/DKIM配置。
  • 通过Cloudflare管理DNS时,可一键切换「代理模式」(橙色云朵)与「仅DNS模式」(灰色云朵)。
  • TTL(存活时间)决定DNS缓存刷新周期,生产环境建议设为300~3600秒,变更操作前建议临时调低至60秒。
  • 新解析记录生效通常需要数分钟,根域名服务器变更(如从Gabia迁移至Cloudflare)则可能需要24~72小时。

DNS是什么?它如何工作?

person holding paper near pen

DNS(Domain Name System,域名系统)是互联网的「地址簿」。当用户在浏览器输入example.com时,DNS将其解析为实际的服务器IP地址(如104.21.45.123),从而建立连接。

DNS解析流程如下:

  1. 1用户输入域名 → 浏览器向本地DNS解析器发起查询
  2. 2本地解析器缓存未命中 → 向根域名服务器(Root DNS)查询
  3. 3根域名服务器返回顶级域(TLD)服务器地址(如.com
  4. 4TLD服务器返回权威DNS服务器地址
  5. 5权威DNS服务器返回最终IP地址
  6. 6浏览器建立TCP连接,完成访问

整个过程通常在100毫秒内完成,用户几乎感知不到延迟。


四大核心DNS记录类型详解

low angle photo city high rise buildings during daytime

A记录(Address Record)

将域名直接映射至IPv4地址,是最常用的DNS记录类型。

类型    名称           值              TTL
A       example.com    104.21.45.123   300
A       www            104.21.45.123   300

注意:A记录只能指向IP地址,不能指向域名。若服务器IP发生变更,须手动更新A记录。

CNAME记录(Canonical Name Record)

为域名设置别名,使其指向另一个域名而非IP地址。

类型     名称     值                    TTL
CNAME    blog     myblog.netlify.app    300
CNAME    shop     myshop.shopify.com    300

CNAME的主要用途是将子域名指向第三方服务(如Netlify、Shopify)时,无需关心对方IP的变化。注意:根域名(@example.com)不能使用CNAME,否则会破坏其他DNS记录的解析。

MX记录(Mail Exchange Record)

定义接收邮件的服务器地址,优先级(Priority)数值越低优先级越高。

类型    名称    优先级    值                          TTL
MX      @       10        mail.example.com            300
MX      @       20        mail2.example.com           300

使用Gmail Workspace或Naver Works时,均需在DNS中添加对应的MX记录。

TXT记录(Text Record)

存储任意文本信息,常用于域名验证与SPF/DKIM/DMARC邮件安全配置。

类型    名称    值                                                  TTL
TXT     @       v=spf1 include:_spf.google.com ~all                300
TXT     @       google-site-verification=xxxxx                     300

Google Search Console、Naver Webmaster Tools的域名所有权验证均通过TXT记录完成。


Cloudflare DNS实战配置步骤

person putting money business finance
  1. 1登录Cloudflare Dashboard → 选择目标域名 → 点击「DNS」选项卡
  2. 2点击「添加记录」按钮
  3. 3选择记录类型(A / CNAME / MX / TXT)
  4. 4填写「名称」字段:

- 根域名:填写@ - www子域名:填写www - 其他子域名:填写对应名称(如blogapi

  1. 1填写「内容/值」字段
  2. 2设置TTL(建议:调试期间60秒,稳定后3600秒)
  3. 3选择是否启用代理(Proxy):

- 橙色云朵(Proxied):流量经Cloudflare代理,享受CDN加速与DDoS防护 - 灰色云朵(DNS Only):仅做DNS解析,流量直连源站

  1. 1点击「保存」

TTL设置建议

场景建议TTL
日常稳定运营3600秒(1小时)
计划变更IP/迁移前60~300秒(提前24小时调低)
调试/临时测试60秒
低流量静态页面86400秒(24小时)

TTL调低后,DNS变更生效速度更快,但会增加DNS查询频次,对高流量站点略有性能影响。


常见错误与解决方法

错误1:域名解析后长时间无法访问

原因:DNS传播(Propagation)尚未完成。根域名服务器变更(如从Gabia迁移至Cloudflare)通常需要24~72小时全球生效。

解决:使用dig命令或DNS Checker确认各地区解析状态,无需反复修改记录,耐心等待即可。

错误2:CNAME配置后根域名访问异常

原因:根域名(@)不支持CNAME记录(CNAME Flattening除外)。Cloudflare支持根域名CNAME展平(CNAME Flattening),但标准DNS不支持。

解决:根域名使用A记录,子域名使用CNAME。

错误3:邮件无法收发

原因:MX记录配置错误或优先级设置有误。

解决:确认MX记录名称为@(根域名),值为邮件服务商指定的主机名,优先级按服务商要求填写。

错误4:Google验证TXT记录后仍显示「未验证」

原因:TXT记录尚未全球生效,或记录内容有多余空格。

解决:等待15~30分钟后重新验证,并仔细核对TXT记录内容是否与Google提供的字符串完全一致。


常见问题(FAQ)

Q1. A记录与CNAME各自的适用场景是什么? A记录适合直接拥有服务器IP的场景(如自建服务器、固定IP的VPS)。CNAME适合将子域名指向第三方平台(Netlify、Vercel、Shopify等),因为这些平台的IP可能随时变化,使用CNAME可自动跟踪最新地址。

Q2. 什么情况下需要使用AAAA记录? AAAA记录用于IPv6地址映射,格式与A记录相同,但值为IPv6地址(如2001:db8::1)。当前大多数托管平台已自动处理IPv6,无需手动配置。

Q3. Cloudflare代理(橙色云朵)会影响SSL证书吗? 启用Cloudflare代理后,SSL由Cloudflare统一管理,源站与Cloudflare之间可使用「灵活」或「完全」加密模式。若源站已安装有效SSL证书,建议选择「完全(严格)」模式以确保端到端加密。

Q4. 能否在同一域名下同时配置多个MX记录? 可以,且推荐配置。多个MX记录提供邮件接收的冗余保障,当主邮件服务器不可用时,低优先级备用服务器会自动接管。

Q5. DNS记录删除后多久生效? 删除操作同样受TTL影响。原TTL为3600秒时,删除后最长需等待1小时才能全球生效。调试时建议提前将TTL调低至60秒。

Q6. 如何验证我的DNS配置是否正确? 使用命令行工具dig example.com A(macOS/Linux)或nslookup example.com(Windows)可查询当前解析结果。也可使用whatsmydns.net在线工具查看全球各地区的解析状态。


💡 实战洞察

在实际为韩国客户配置DNS的过程中,最常见的问题是:将域名从Gabia或Whois迁移至Cloudflare后,认为立刻生效就开始排查问题。事实上,根域名服务器(NS记录)的变更需要24~72小时才能全球传播,迁移期间两套DNS并存,部分用户访问旧NS,部分用户访问新NS,表现出来的就是「时好时坏」。解决方法:迁移前24小时将所有关键记录的TTL调低至60秒,迁移完成后再逐步调高至3600秒。

另一个高频问题是Cloudflare代理模式(橙色云朵)与某些服务(如Let's Encrypt证书验证、邮件服务器、游戏服务器)不兼容。遇到此类情况,将对应子域名切换为「DNS Only」(灰色云朵)即可解决,无需更改整个域名的代理设置。


参考资料


🔧 Related Free Tools

相关