节点与延迟 2026年5月8日

2026 多条 IPv4 A 记录与 SSH「粘性」:当 ProxyMac Mac mini 主机名在香港、日本、韩国、新加坡、美国返回多个地址时,究竟会发生什么

ProxyMac 工程团队 2026年5月8日 约 13 分钟阅读

在香港、日本、韩国、新加坡与美国租用 Apple Silicon M4 Mac mini 的运维同学,常常会对同一条主机名执行 dig +short A mini.example.com,看到 三至四条 IPv4,随即担心 SSH 会像负载均衡的 HTTP 一样「每一次按键都换后端」。真相更朴素也更值得写下来:DNS 给出的是候选列表;已建立的 TCP 连接记住最终握手的那一票。本文依次说明 (1) 为何多数情况下长连接不会在 DNS 轮询里漂移;(2) 什么时候真的会受害——通常是 CI 高频重连而非交互式 shell;(3) 一张 四列表矩阵区分人类、自动化与跳板;(4) 含数值锚点的 八步稳定性手册(例如 300 秒 TTL 对比 24 小时会话);(5)解析器故障出口 IP 白名单IPv6 / Happy Eyeballs 的衔接,以及在变更 PTR、调整任播或多活集群时如何同步安全运营记录。读完后再决定要不要把「亚太路由劣化」写进事故单——很多时候只是 DNS 策略与自动化频率不匹配。

已建立的 TCP 连接并不追随随后的 TTL 过期

OpenSSH 完成三次握手后,内核路由表会把后续报文送往当时的对端 IP——即便权威 DNS 稍后把另一条 A 记录轮换到首位,现有套接字也不会自动迁移。笔记本上的 stub 解析器只在新建连接时重新登场:典型触发是重新执行 ssh、跳板长时间空闲后重建,或 NAT 中间盒拆掉状态表。之所以线上误会频发,是因为浏览器与 API 客户端频繁建立短连接,使人们误以为 SSH 也会「每个请求」解析一次。

  • 量化参考:内部工单里约 18% 所谓「一夜之间 SSH 换了区域」最终被证明是编排器重连频率过高,而非骨干网抖动。
  • 故障样式:若 CI 把 ssh -o ConnectionAttempts=12 与短暂丢包叠加,就会在多台后端之间看似随机弹跳——本质是 DNS 顺序变化而不是路由黑洞。
  • 安全角度:主机密钥校验仍绑定主机名;多 A 若缺少一致的 PTR,SOC 可能比网络团队更早亮起告警。
牢记:把权威 TTL 从 3600 秒 降到 60 秒 只会加速新建连接的故障切换,并不会搬运已经在线路上的字节。

基础设施团队为何要公布多条 A 记录

地理感知 DNS、任播入口或多活集群往往合法返回多条 IPv4,使客户端自行分摊负载——这对横向扩展极其友好。反之,追求「脚本绝对可重复」的流水线更需要确定性终点:要么单独注册仅含一条 A 的主机别名,要么在配置管理里写死数字 IP,并与变更窗口绑定。若你需要证明首次命中的是哪一条链路,请配合 MTR 诊断 抓取路径指纹。

四列表矩阵:谁会最先感受到 DNS 轮换

角色 典型重连间隔 是否容易察觉多 A 漂移 缓解优先级
交互式开发者 单次会话可达数小时 少见——除非 VPN 拆掉 TCP 为跳板准备稳定主机名
GitHub Actions → SSH 部署 每个 Job(常见 3–12 分钟 常见——每次 Job 重新解析 固定数字 IP 或仅一条 A 的别名
经 SSH 隧道的 rsync 单次长传输 传输中途不会跳 IP 结合 keepalive 文章防止空闲断链
OpenClaw 网关北向 SSH 守护进程自动重连 故障切换期间明显 对齐 网关恢复 剧本

八步手册:把 SSH 目的地钉在可审计的位置

  1. 清点答案:至少连续执行 五次 dig +short A,记录顺序差异。
  2. 登记活跃对端:在 macOS 可用 lsof -nP -iTCP -sTCP:ESTABLISHED | grep ssh;Linux 换用 ss -tnp
  3. 对齐空闲超时:TCP keepalive 调整 ServerAliveInterval,避免 NAT 偷偷触发「隐形重连」。
  4. 冻结自动化:在 DNS 迁移窗口暂停 cron 驱动的批量 SSH——别把局部故障放大成全集群风暴。
  5. 创建单 A 跳板别名:例如 stable-mini-sg.provider.example,仅在维护审批后改动指向。
  6. 校验 SaaS 出口:若 REST API 绑定固定出口 IP,后端漂移时必须复查 出口稳定性
  7. 文档化 TTL 链路:同时写下权威 TTL 与本地 stub 缓存——运维常见落差在 30–120 秒
  8. 复盘模板:收集时间戳、受影响区域(HK / JP / KR / SG / US)以及 IPv6 是否掺入。
误区:设置 CheckHostIP no 并不能「关掉多 A」——它只是放松 known_hosts 里的 IP 绑定,应与 主机密钥治理 同行,而不是盲目关闭校验。

双栈现实:AAAA 竞速可能抢先于 IPv4 轮询

RFC 8305 Happy Eyeballs 可能在您只盯着 IPv4 A 记录时已经建立了 IPv6 会话,于是肉眼误以为「SSH 选错了 A」。请同时抓取 dig AAAA +shortdig A +short;若 IPv6 路径损坏,请回到 Happy Eyeballs 调优。若 MTU 黑洞与 DNS 变更同时出现,请并行阅读 PMTUD 卡死——当隧道封装把有效载荷压到 1400 字节附近时,表现为 SCP 间歇停顿,与多 A 无直接关系。

常见问题

系统完整性保护会改 DNS 吗?不会,SIP 保护系统二进制,不负责 stub 缓存策略。

ProxyMac 会每周轮换地址吗?仅在公告维护期;请订阅供应商通知,而不是猜测 TTL。

是否该长期 ssh -4可在 IPv6 排障阶段临时使用,别把它当成长期掩盖 DNS 架构欠账的补丁。

为何 ProxyMac Mac mini 适合与「显式路由纪律」一起使用

当你把自动化指向可预测的终点后,分布在 HK / JP / KR / SG / USMac mini M4 租赁能让团队在免采购硬件的前提下保持原生 macOS 工具链与 Apple Silicon 能效。对照套餐请访问 定价页,连接与账号问题以 帮助中心 为准;若需要人工核对 IP 与 DNS 屏幕截图,可配合 VNC 说明 进行图形化验收。

先选区域,再写清 DNS 叙事

HK · JP · KR · SG · US · Apple Silicon M4