US.KG 免费域名实战命令参考:dig、curl 与 openssl 全链路诊断
DigitalPlat FreeDomain(US.KG)教程的进阶部分(Part 6)中,命令参考 汇集了从域名委派验证到 TLS 证书检查的完整命令行工具箱。本篇以该参考文档为主体,逐组展开 dig、curl、openssl、nc、ss/lsof 等诊断命令的参数含义、适用场景与判读方法,并结合书中 DNS 委派、故障排查、HTTPS、邮件 DNS 等章节补充每条命令背后的原理与上下文。读完后,你可以对已注册的 .US.KG、.DPDNS.ORG 等免费域名独立完成一次从注册层委派到应用层响应的端到端体检,并把诊断结果安全地整理成可分享的证据文件。
适用前提:先替换示例名
参考文档开篇即强调:使用这些命令之前,先替换示例中的域名和文档地址。文中所有命令使用两类占位符:
example.dpdns.org:代表你在 DigitalPlat FreeDomain 上注册的域(例如你的.US.KG域名);ns1.dns-service.example:代表你在注册平台配置的外部权威 DNS 服务器主机名(参见 委派与外部名称服务器 中"注册视图、父级 DNS 视图、子域权威视图"三视图一致的要求)。
直接照抄占位符执行没有意义,务必替换为真实值后再运行。
验证域名委派:dig NS、+trace 与 SOA
dig NS example.dpdns.org
dig +trace NS example.dpdns.org
dig SOA example.dpdns.org
dig NS example.dpdns.org通过普通递归解析器查询该域委派给哪些权威服务器,返回的 NS 集合应当与注册平台中配置的外部 DNS 服务一致;dig +trace NS example.dpdns.org从根服务器逐层跟踪解析路径,用于区分"父级委派问题"和"子域问题"——如果父层指向了旧的 NS 主机名,问题在注册层或父级委派;如果 NS 主机名正确但查询超时,问题在外部权威服务或网络(对照 委派故障模式表 逐层定位);dig SOA example.dpdns.org查询起始授权机构记录,它是区域(zone)存在的标志:如果 SOA 返回区域不存在,说明该区域在外部 DNS 服务上缺失,此时"等待传播"不会修复权威答案错误(参见 DNS 故障排查 第 4 步的判断逻辑)。
这三条命令构成排障的"第 2 步:检查父级委派"与"第 3 步:逐台检查权威服务器"的基础。
直连权威服务器查询
绕过递归缓存,直接问权威服务器要答案:
dig @ns1.dns-service.example SOA example.dpdns.org
dig @ns1.dns-service.example A example.dpdns.org
dig +tcp @ns1.dns-service.example SOA example.dpdns.org
@ns1.dns-service.example把查询目标指向指定的权威服务器;多台权威服务器应逐一查询(例如再加一条@ns2...),所有权威服务器都应当回答同一个区域。如果各服务器返回不同序列号或长期不一致,说明 DNS 服务的区域同步出了问题(DNS 故障排查 第 3 步);+tcp强制使用 TCP 而非默认的 UDP 发送 DNS 查询。自托管权威 DNS 一章节指出:TCP 不是可以忽略的可选回退,大响应、区域传输和协议行为都可能依赖它,因此权威 DNS 必须同时应答 53 端口的 UDP 和 TCP,+tcp命令正是验证 TCP 通道的标准手段。
网站记录检查:A、AAAA、CNAME 与 CAA
dig A example.dpdns.org
dig AAAA example.dpdns.org
dig CNAME www.example.dpdns.org
dig CAA example.dpdns.org
A与AAAA分别验证 IPv4 与 IPv6 解析。DNS 故障排查 特别提到"只有部分用户看到新网站"的常见原因之一就是 IPv4 和 IPv6 指向了不同服务器,因此两条都要查;CNAME www.example.dpdns.org验证www别名指向。注意常见误区:www的 CNAME 不会自动配置根域名,"www 能打开但根域名打不开"时必须检查根域名的A/AAAA记录以及 Web 服务器接受的主机名列表;CAA查询证书颁发机构授权记录。启用与验证 HTTPS 在证书申请前要求确认"任何 CAA 记录都允许你所使用的证书颁发机构",这条命令就是验证手段。
邮件记录检查:MX 与三类 TXT
dig MX example.dpdns.org
dig TXT example.dpdns.org
dig TXT selector1._domainkey.example.dpdns.org
dig TXT _dmarc.example.dpdns.org
这四条命令覆盖 邮件 DNS:MX、SPF、DKIM 与 DMARC 的全部验证点:
MX验证收信路由,较低优先级数字优先尝试,目标应是主机名而非 IP;- 域根上的
TXT对应 SPF 策略(v=spf1 ...)——每个名称只应发布一条 SPF 策略,且要留意嵌套 include 带来的 DNS 查询次数限制; selector1._domainkey下的TXT是 DKIM 公钥记录,selector1需替换为邮件系统实际给出的选择器;私钥永远留在发信系统,绝不放入 DNS;_dmarc下的TXT是 DMARC 策略,建议从不了解全部合法发信源的监控策略(p=none)起步,待报表确认对齐后再逐步收紧。
精简输出:+short 的便利与代价
dig +short A example.dpdns.org
dig +short NS example.dpdns.org
+short 只输出答案主体,便于在脚本中解析。参考文档给出了明确的使用边界:精简输出虽然方便脚本,但丢掉了 flags、authority 段和 TTL 等诊断上下文,排障时应使用普通输出。这一点很关键——判断缓存剩余时间、负缓存、委派胶水记录等信息都需要完整输出。
HTTP 与重定向检查
curl -I http://example.dpdns.org
curl -I https://example.dpdns.org
curl -L -o /dev/null -s -w '%{http_code} %{url_effective}\n' http://www.example.dpdns.org
curl -I只取响应头(HEAD 请求),用于快速确认 HTTP/HTTPS 服务是否可达、返回的状态码与跳转目标,是 DNS 故障排查 中"DNS 正确但网站打不开"场景的第一手证据;- 第三条命令的
-L跟随重定向链,-o /dev/null -s丢弃正文并静默,-w '%{http_code} %{url_effective}\n'最终只打印状态码和落地 URL——这是把"重定向是否正确一次到达目标 HTTPS 主机名"(HTTPS 最终检查清单 的要求)变成一行可脚本化判定的标准写法。
DNS 生效前测试虚拟主机
域名解析还未指向新服务器时,也可以先验证服务器上的虚拟主机配置:
curl -I -H 'Host: example.dpdns.org' http://192.0.2.10
curl --resolve example.dpdns.org:443:192.0.2.10 -I https://example.dpdns.org
- 第一条命令用
Host头手动指定虚拟主机名,直接请求目标 IP(192.0.2.10为文档地址,需替换),可提前发现 Web 服务器未接受该主机名的问题; - 第二条用
--resolve让 curl 在本地把主机名固定解析到指定地址再发起 HTTPS 请求。参考文档指出,该 HTTPS 命令会在连接指定地址的同时按主机名验证证书——这意味着你可以在 DNS 切换前就确认证书与虚拟主机都已就绪,避免"解析切过去才发现配置不对"的切换事故。这是 网站架构模式 中"迁移时保持边界、小步验证"思路的具体落地。
检查 TLS 证书
完整握手输出:
openssl s_client -connect example.dpdns.org:443 -servername example.dpdns.org </dev/null
</dev/null 防止命令在交互等待中输入卡住;-servername 设置 SNI,让多虚拟主机服务器返回正确的证书。
证书字段摘要(日常使用更推荐这条,输出紧凑可复制):
openssl s_client -connect example.dpdns.org:443 -servername example.dpdns.org </dev/null 2>/dev/null \
| openssl x509 -noout -subject -issuer -dates -ext subjectAltName
该管道将握手输出经 openssl x509 过滤,只保留主题(subject)、颁发者(issuer)、有效期(dates)和 SAN 扩展四段信息。对照 HTTPS 验证清单:证书必须覆盖所有对外提供 HTTPS 服务的主机名,且能被自动续期;监控与事故响应 也要求对"证书过期、主机名不匹配、无效链"设置告警,这条摘要命令正是这类监控任务的基础。
查看本地监听端口
确认 80/443 等端口确实被目标进程监听:
Linux:
sudo ss -lntup
macOS:
lsof -nP -iTCP -sTCP:LISTEN
两条命令分别基于 ss 与 lsof,只列出处于 LISTEN 状态的 TCP 监听;-p 关联进程、-n/-nP 跳过反解以便快速阅读。当 dig A 返回的地址正确但端口不通时,先用这两条命令排除"进程没起、绑错地址(如只绑了 127.0.0.1)或防火墙拦截"这类本机问题。
Web 服务器状态与日志
sudo nginx -t
systemctl status nginx --no-pager
journalctl -u nginx --since '30 minutes ago' --no-pager
sudo nginx -t在重载配置前做语法与配置测试(HTTPS 章节 中"测试配置后再 reload"即此命令);systemctl status nginx --no-pager查看服务运行状态,--no-pager避免输出被分页器挂起;journalctl -u nginx --since '30 minutes ago' --no-pager拉取最近 30 分钟的服务日志。
这三条命令对应 服务器加固与运维 所在运维章节中"DNS 只负责定位服务器,后续要检查服务器进程、防火墙、虚拟主机、证书与应用日志"的排障顺序(参见 DNS 故障排查 的"DNS 正确但网站打不开"小节)。
端口连通性:nc -vz
nc -vz example.dpdns.org 80
nc -vz example.dpdns.org 443
-vz 表示详细模式 + 仅探测不发送数据:TCP 三次握手成功即报告可达并退出。参考文档特别强调一个判断边界:TCP 连接成功不能证明 HTTP、TLS 或应用本身是正确的——端口通只是 监控与事故响应 中"DNS 解析 → TCP 连接 → TLS 验证 → HTTP 返回预期状态码"用户路径上的第二环,后续环节仍需 curl 与 openssl 逐一确认。
保存诊断输出
把多个命令的结果一次性归档到文件:
{
date -u
dig NS example.dpdns.org
dig A example.dpdns.org
curl -I --max-time 15 https://example.dpdns.org
} > domain-diagnostic.txt 2>&1
花括号块依次执行:先记录 UTC 时间戳(跨时区协同时可精确定位"何时改的、改前 TTL 是多少"),再抓取委派、解析与 HTTP 响应头,--max-time 15 防止 curl 卡死整个采集过程,2>&1 保证错误信息一并落盘。
分享前务必审阅文件,删除个人数据、内部主机名、令牌、Cookie 等敏感内容——这与 DNS 故障排查 "求助前先收集证据"清单的要求一致:准确的主机名与记录类型、dig NS 输出、权威直连结果、期望与实际值、变更时间与旧 TTL、相关时的 curl -I 状态码。
组合成诊断流程:从委派到应用
参考文档的各命令组并非孤立清单,按 DNS 故障排查 的五步法串起来即是一条完整的诊断链:
- 确认名称与类型:
dig A www.example.dpdns.org(检查拼写、重复后缀、记录类型); - 检查父级委派:
dig +trace NS example.dpdns.org对照注册层配置的 NS 集合; - 逐台检查权威服务器:
dig @ns1... SOA/dig @ns2... SOA,比较序列号一致性; - 直连查询记录:
dig @ns1.dns-service.example A www.example.dpdns.org,权威答案错了就改区域,而不是等待传播; - 比较递归答案:在本地解析器与第二个解析器之间对比,TTL 过渡期内出现不同缓存值是正常现象。
确认 DNS 链路无误后,再沿用户路径向下走:nc -vz(TCP)→ curl -I(HTTP/HTTPS)→ openssl s_client(证书)→ 本地 ss/lsof 与 nginx -t/journalctl(服务器侧)。参考文档中"权威答案错误时等待传播不会修复问题"的原则贯穿全程——每一步的判断依据都来自该层命令的实际输出。
相关文档
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0623
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00