SSH / accès à distance 25 avril 2026

2026 : IPv6, AAAA et Happy Eyeballs — quand le SSH vers une ProxyMac Mac mini semble lent

Équipe d’ingénierie ProxyMac 25 avril 2026 ≈ 12 min de lecture

Les ingénieurs aiment blâmer la « région de Tokyo » quand ssh mini.jp.example prend plusieurs respirations avant la bannière—alors que ssh -4 est instantané. Les résolveurs modernes renvoient A et AAAA ; les piles font une course façon Happy Eyeballs (RFC 8305), si bien que les tentatives IPv6 peuvent assez longtemps bloquer pour ressembler à une perte de paquets alors que la ProxyMac Mac mini à Hong Kong, Japon, Corée, Singapour ou aux États-Unis est saine. Ce texte n’est pas un plaidoyer IPv6 mais une feuille de décision : matrice symptômes sur quatre lignes, réglages client macOS (ssh -4, ssh -6, AddressFamily), syntaxe à crochets pour les adresses v6 littérales, runbook en sept étapes avec DNS et split horizon quand le VPN change les réponses, PMTUD si de gros segments TCP disparaissent, et keepalive une fois la famille d’adresses claire. Si la politique hairpinne tout via Zero Trust, lisez le routage VPN avant de chasser des fantômes AAAA.

La mini va bien mais le SSH « hésite » au premier connect

Trois familles : (1) pause fixe de plusieurs secondes seulement sur la première tentative TCP chaque minute ; (2) à-coups corrélés à l’expiration du TTL DNS ; (3) blocages liés à la taille de charge (SCP) plutôt qu’au handshake. La famille 1 crie course de familles d’adresses ; la 3 n’est souvent pas l’IPv6—passez au MTU plutôt que de relire cette page.

  • Capturez toujours les horodatages ssh -vvv entre Connecting et Connection established.
  • Comparez le même nom en standard et avec ssh -4—si seul le standard est lent, la piste v6 vaut la peine d’être prouvée.
  • IPv6 littéral exige des crochets : ssh user@[2001:db8::1] pour que l’analyseur ne prenne pas les deux-points pour un port.

Matrice symptômes A vs AAAA (premier saut de triage)

RessentiCouche probablePremière commandeLien approfondi
Pause 2–5 s puis session rapide ; ssh -4 supprime la pauseIPv6 cassé ou hairpindig AAAA hostname +time=2Cet article + guide DNS
Fonctionne en IP numérique, échoue par nomOrdre des résolveurs / DNS scindéscutil --dns | head -n 80guide DNS
Interactif OK, SCP meurt en plein transfertPMTUD / boîte intermédiaireBalayage de tailles de paquetsguide MTU
Déconnexion au bout de dizaines de minutes au reposMinuteurs NATSondes ServerAliveguide keepalive
Hygiène de ticket : joignez les sorties dig A et dig AAAA plus une ligne indiquant si ssh -4 a changé le temps jusqu’à la bannière—sans ces deux diffs, les équipes réseau ignorent les paragraphes.

Course façon Happy Eyeballs sur MacBook (ce qu’OpenSSH hérite)

Les applis qui résolvent des noms dual-stack peuvent lancer des connexions parallèles et préférer la première qui aboutit. Quand IPv6 est presque bon—routeur qui annonce des préfixes mais filtre ICMPv6 en amont—vous payez une taxe de latence sans « connection refused » net. Documentez le delta VPN on/off : beaucoup de clients ZTNA réordonnent les résolveurs ou injectent des routes IPv6 virtuelles différentes du Wi‑Fi café.

Ne confondez pas un traceroute vers 8.8.8.8 avec une preuve sur votre mini. Utilisez les outils de chemin de diagnostic MTR vers le même nom d’hôte que le SSH—sinon vous mesurez l’anycast Google, pas votre hôte d’automatisation.

Flags OpenSSH, ~/.ssh/config et épinglage responsable de la famille d’adresses

Utilisez ssh -4 et ssh -6 comme interrupteurs de diagnostic, puis encodez le résultat gagnant dans une stanza Host avec AddressFamily inet ou inet6 une fois la politique d’accord. Évitez le -4 permanent sur les portables qui alternent campus v6 propre et hôtels v4 uniquement sans garde Match exec—des configs séparées réduisent les surprises.

Host proxymac-jp-stable HostName mini.example.jp User build AddressFamily inet ServerAliveInterval 30 ServerAliveCountMax 4

Ce que la mini louée doit exposer (et ce que vous devez encore vérifier)

ProxyMac fournit des points d’entrée SSH prévisibles, mais le DNS autoritaire des noms que vous possédez peut rester chez le registrar sans délégation. Vérifiez si votre zone publie seulement A, seulement AAAA ou les deux—et si les résolveurs d’entreprise retirent silencieusement les réponses AAAA « pour la sécurité ». Si l’IT supprime les AAAA, le portable n’invente pas IPv6 ; inversement, si un AAAA existe mais l’uplink est cassé, le client peut quand même tenter le v6 en premier.

Runbook en sept étapes avant de demander aux ops de « déplacer la mini »

  1. Instantané : dig A / dig AAAA depuis bureau, VPN et domicile.
  2. Chronométrer : ssh -vvv vs ssh -4 -vvv sur le même nom—un écart >1 s est suspect.
  3. Contrôler : l’ordre scutil --dns quand le VPN bascule ; des domaines de recherche mal ordonnés imitent des soucis IPv6.
  4. Écarter le MTU avec le guide lié si la copie en masse échoue alors que le shell reste fluide.
  5. Superposer des keepalives une fois la famille d’adresses stable.
  6. Documenter la stanza Host finale dans Git à côté des tickets pare-feu.
  7. Seulement ensuite comparer les régions avec des preuves MTR—pas au feeling.

FAQ

Dois-je désactiver IPv6 sur la mini ? Mieux vaut réparer le chemin ; couper le v6 globalement peut casser une supervision dual-stack légitime.

Le partage d’écran hérite-t-il de la même course ? Souvent oui—sans QUIC, c’est encore du TCP ; validez DNS et famille d’adresses avant de blâmer l’encodeur.

Le CGNAT change-t-il l’histoire ? Il change le rythme du mappage de ports, pas la course DNS—associez SSH CONNECT d’entreprise quand seul le 443 sort.

Pourquoi la ProxyMac Mac mini reste le bon ancrage une fois DNS et dual-stack compris

Des mini Apple Silicon M4 en HK / JP / KR / SG / US vous donnent un nom d’hôte pour de vraies mesures : le dig d’aujourd’hui doit ressembler à celui de demain. Quand la vérité du résolveur colle à la politique de routage, agents d’automatisation, CI et humains frappent le même métal que la finance a déjà validé. Réservez des régions sur la page tarifs, gardez les extraits SSH du centre d’aide à côté du runbook et repassez en VNC quand macOS exige un témoin GUI pour les invites TCC.

Louez du métal où la vérité DNS colle au RTT réel

HK / JP / KR / SG / US · SSH compatible dual-stack