2026:IPv6、AAAA 与 Happy Eyeballs——SSH 连 ProxyMac Mac mini 变慢时
工程师常把锅甩给「东京区域」,可 ssh mini.jp.example 在横幅出现前要卡好几秒,而 ssh -4 却飞快。现代解析器同时返回 A 与 AAAA;现代协议栈会做 Happy Eyeballs 式竞速(RFC 8305 描述的大致算法与多数库收敛方向一致),于是 IPv6 尝试可能刚好卡到像丢包,而 ProxyMac Mac mini(香港、日本、韩国、新加坡、美国)本身其实健康。本文不是 IPv6 布道,而是一张决策表:四行症状矩阵、macOS 上的客户端开关(ssh -4、ssh -6、AddressFamily)、字面 IPv6 的方括号写法、七步手册,并在 VPN 下答案不同时指向 DNS 与拆分视界故障,在大 TCP 段消失时指向 PMTUD,在地址族确定后指向 keepalive 调优。若策略先把一切经零信任 hairpin,请先读 VPN 路由,再追 AAAA 幽灵。
mini 正常但 SSH 首次连接「犹豫」
症状可归三类:(1) 每分钟首次 TCP 固定停顿数秒;(2) 与 DNS TTL 到期相关的间歇卡顿;(3) 与负载大小相关(SCP)而非握手。第 1 类强烈指向地址族竞速;第 3 类通常不是 IPv6——请改看 MTU,别在这页读两遍。
- 务必记录
ssh -vvv中Connecting到Connection established之间的时间戳。 - 对比 同一主机名在默认与
ssh -4下——若仅默认慢,则值得验证 IPv6 假设。 - 字面 IPv6 须加方括号:
ssh user@[2001:db8::1],否则解析器会把冒号当成端口分隔符。
A 与 AAAA 症状矩阵(分诊第一步)
| 体感 | 更可能的层次 | 首选命令 | 延伸阅读 |
|---|---|---|---|
停顿 2–5 秒后会话很快;ssh -4 消除停顿 | IPv6 损坏或 hairpin | dig AAAA hostname +time=2 | 本文 + DNS 指南 |
| 数字 IP 可连,主机名失败 | 解析器顺序 / 拆分 DNS | scutil --dns | head -n 80 | DNS 指南 |
| 交互正常,SCP 中途死掉 | PMTUD / 中间盒 | 包大小扫描 | MTU 指南 |
| 空闲数十分钟后断开 | NAT 计时器 | ServerAlive 探测 | Keepalive 指南 |
dig A 与 dig AAAA 输出,并一行说明 ssh -4 是否改变了到横幅的墙钟时间——网络团队没有这两项对比就不会认真看大段文字。
macOS 笔记本上的 Happy Eyeballs 式竞速(OpenSSH 继承什么)
解析双栈名称的应用可能并行发起连接,谁先完成用谁。当 IPv6 几乎 可用——路由器宣告前缀但上游过滤 ICMPv6——你会付出延迟税,却看不到干脆的「connection refused」。请记录 VPN 开/关 差异:许多 ZTNA 客户端会重排解析器列表或注入与咖啡厅 Wi‑Fi 不同的虚拟 IPv6 路由。
OpenSSH 参数、~/.ssh/config 与负责任地固定地址族
把 ssh -4 与 ssh -6 当作诊断开关,确认后再用 Host 段写入 AddressFamily inet 或 inet6(在策略允许后)。避免在会在「IPv6 干净校园」与「仅 IPv4 酒店」间漫游的笔记本上永久 -4——若无 Match exec 守卫,拆分配置可减少意外。
Host proxymac-jp-stable
HostName mini.example.jp
User build
AddressFamily inet
ServerAliveInterval 30
ServerAliveCountMax 4
租用 mini 须暴露什么(您仍须自行核实)
ProxyMac 提供可预期的 SSH 入口,但客户自有主机名的权威 DNS 可能仍在您的注册商处,除非已委派。确认您的区只发 仅 A、仅 AAAA 还是两者皆有——以及企业解析器是否「出于安全」静默剥掉 AAAA。若 IT 丢弃 AAAA,笔记本不会凭空发明 IPv6;反之若 AAAA 存在但上行坏了,客户端仍可能先试 v6。
七步手册:再让运维「搬 mini」之前
- 快照 在办公室、VPN、家庭上下文分别跑
dig A/dig AAAA。 - 计时 同一名字下
ssh -vvv与ssh -4 -vvv——差 >1s 可疑。 - 检查 VPN 切换时
scutil --dns顺序;错序的搜索域会像 IPv6 问题。 - 排除 MTU:若 bulk 复制失败而 shell 正常,用链接指南。
- 地址族稳定后再叠加 keepalive。
- 在 Git 里记录最终
Host段,与防火墙工单并列。 - 只有那时 再用 MTR 证据比较 区域——别凭感觉。
常见问题
是否应在 mini 上关闭 IPv6? 优先修坏路径;全局关 v6 可能破坏合法双栈监控。
屏幕共享是否同样竞速? 经常如此——屏幕共享在无数 QUIC 路径下仍是 TCP;在怪编码前先验证 DNS 与地址族。
CGNAT 会改变故事吗? CGNAT 改端口映射节奏,不改 DNS 竞速——若只有 443 出口,请配合 企业 CONNECT SSH。
弄清 DNS 与双栈后,为何 ProxyMac Mac mini 仍是合适锚点
Apple Silicon M4 mini 位于 港 / 日 / 韩 / 新 / 美,给您可挂真实测量的主机名:今天的 dig 明天应一致。解析器真相与路由策略对齐后,自动化代理、CI 与人工开发者都打在财务已批准的同一台机器上。在 定价页 预留区域,把 帮助中心 的 SSH 片段放在手册旁,macOS 需要 GUI 见证 TCC 时再回退 VNC。