域名注册与 DNS 解析:从买下名字到能 ping 通

买域名是建站第一步,也是最容易踩坑的一步:坑不在价格,而在谁来解析要不要实名服务器在境内还是境外。这篇把我自己走通的流程记下来。

一、后缀怎么选

先说结论:个人站点优先 .com,其次 .net / .dev / .me;纯国内业务再考虑 .cn

后缀首年参考价续费价备注
.com60~90 元80~120 元通用性最好,转手也最容易
.net70~100 元100~130 元与 .com 同级别,适合网络类站点
.dev90~120 元120~150 元强制 HTTPS,浏览器内置 HSTS
.me90~140 元130~180 元适合个人品牌
.cn30~50 元40~60 元必须实名,境内解析体验最好

别只看首年价格。注册商最常用的套路就是首年 29 元、续费 129 元,买之前一定翻到续费价那一栏。

二、注册商:境内还是境外

  • 境内注册商(万网/腾讯云等).cn 必须实名认证,通常 1~3 个工作日;好处是解析到国内服务器时延迟低、备案流程衔接顺。
  • 境外注册商(Cloudflare Registrar、Namesilo、Spaceship 等):不用实名,Cloudflare 按成本价卖(无溢价),自带免费 WHOIS 隐私;缺点是人民币付款和发票麻烦一些。

我的做法:域名放在 Cloudflare Registrar,解析也交给 Cloudflare,服务器用境外的轻量机——这样整条链路不用碰备案。

如果服务器在中国大陆(阿里云/腾讯云轻量等),域名必须完成 ICP 备案才能用 80/443 端口对外服务。这个卡的是服务器所在地,不是注册商。

三、把 DNS 托管到 Cloudflare

  1. 注册后在控制台 Add a domain,选 Free 套餐即可;
  2. Cloudflare 会扫出原有记录,检查有没有漏掉(尤其是 MX 邮件记录);
  3. 它会给你两个 NS 地址,例如 lola.ns.cloudflare.com
  4. 回到注册商后台,把域名的 NS 记录换成这两个;
  5. 等待生效,一般 10 分钟 ~ 24 小时,绝大多数情况半小时内完成。
bash
dig +short NS example.com
# 期望输出:
# lola.ns.cloudflare.com.
# tim.ns.cloudflare.com.

四、几种必须认识的记录类型

类型作用典型写法
A域名 → IPv4example.com1.2.3.4
AAAA域名 → IPv6example.com2001:db8::1
CNAME域名 → 另一个域名wwwexample.com
MX邮件服务器@mx1.example.com,优先级 10
TXT校验/SPF/DKIMv=spf1 include:... ~all
NS指定权威 DNS@ns1.xxx.com
CAA限定可签发证书的 CA@0 issue "letsencrypt.org"

三个高频坑:

  1. 根域名不能写 CNAME(标准不允许)。想让 example.com 指向某个服务,用注册商提供的 ALIAS/ANAME,或者直接用 A 记录。Cloudflare 支持根域名 CNAME 的 flatten,会自动解析成 A。
  2. Cloudflare 的小云朵:橙色(Proxied)表示流量走 CDN,会隐藏源站 IP;灰色(DNS only)表示纯解析。源站直连调试时先改灰色,否则你会以为解析没生效。
  3. TTL 不是越小越好。调试期设 300s(5 分钟)没问题,稳定后建议 1800s 以上,能减少递归查询、也降低解析失败概率。

五、用 dig 排查,不要靠刷新浏览器

bash
# 看解析到的 IP
dig +short A example.com

# 看完整应答,确认 TTL 和权威服务器
dig example.com A

# 指定公共 DNS 对比,判断是不是本地缓存问题
dig @1.1.1.1 example.com A +short
dig @223.5.5.5 example.com A +short

# 从根服务器开始追踪,定位到底哪一级没生效
dig +trace example.com A

Windows 上没有 dig 可以用 nslookup example.com 8.8.8.8;另外推荐 DNS Checker 看全球生效情况。

记得清本地缓存再测:

bash
# macOS
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
# systemd-resolved(多数 Linux 发行版)
sudo resolvectl flush-caches
# Windows
ipconfig /flushdns

六、上线前的安全小检查

  • 开启 DNSSEC(Cloudflare 控制台一键开,需要注册商支持写入 DS 记录);
  • 打开 WHOIS 隐私保护,减少垃圾邮件;
  • 给域名开注册锁(Transfer Lock),防止被恶意转移;
  • 配一条 CAA 记录,只允许指定 CA 给你签发证书。
bash
dig +short CAA example.com

走完这套流程,域名就真正属于你了。下一步是搞一台服务器:拿到裸机之后前十分钟该做什么。