这是 tls/dns-records.md 的每次改动内容,按时间从新到旧。其他文章一起提交的部分不会出现在这里。
#1
2026-10-18
+61
−0
docs: 新增存储/中间件/自动化/云与K8s/证书/流程 6 个分类和 16 篇文章
e4d2cd0
new file mode 100644
@@ -0,0 +1,61 @@
+---
+tags: [DNS, 域名, 解析]
+order: 20
+---
+
+# DNS 记录与解析排查
+
+## 场景
+
+内部系统换 IP 了,域名还指着旧的;或者新域名解析不生效。
+
+## 前置条件
+
+- 有域名的管理权限
+- 知道当前解析值
+- 了解 TTL 的影响
+
+## 配置
+
+常见记录类型:
+
+| 类型 | 用途 | 例子 |
+| --- | --- | --- |
+| A | 域名 → IPv4 | `kb.example.com → 10.0.0.10` |
+| AAAA | 域名 → IPv6 | `kb.example.com → 2001:db8::10` |
+| CNAME | 别名 | `www → kb.example.com` |
+| MX | 邮件 | `mail.example.com` |
+| TXT | 验证 / SPF | `v=spf1 ...` |
+| NS | 委派 | `ns1.example.com` |
+
+修改流程:先在 DNS 服务商后台改记录,**把 TTL 提前调小**(比如 300 秒),观察没问题再恢复。
+
+## 验证
+
+```bash
+dig +short kb.example.com
+dig kb.example.com @8.8.8.8
+dig +trace kb.example.com
+nslookup kb.example.com
+resolvectl query kb.example.com # systemd-resolved
+```
+
+本机解析优先级:
+
+```bash
+cat /etc/resolv.conf
+cat /etc/nsswitch.conf | grep hosts
+```
+
+## 回滚
+
+改回原来的记录值即可,但要等 TTL 过期。
+
+## 坑
+
+- **TTL 是缓存时间**,改了记录不会立刻全网生效,之前调小 TTL 很重要。
+- CNAME 不能和 MX/TXT 同时存在于同一记录名上。
+- 内网 DNS 和公网 DNS 是两套,改错了地方等于没改。
+- `/etc/hosts` 优先级高于 DNS,排查时先看。
+- 解析到 IPv6 优先,但机器没 IPv6 路由,表现是「解析得到却连不上」。
+- 域名过期或者实名认证没通过,解析会被停。