Связанные материалы: матрица GeoDNS и SSH, MSS и BBR для SSH p95, Tailscale MagicDNS, ECS и GeoDNS. Главная · справка · тарифы · выбор узла.
1) Скрипты открывают новый TCP на каждый PoP; p95 рукопожатия через JumpHost выглядит как «медленный Mac». 2) После смены весов GeoDNS устаревший ControlPath всё ещё указывает на старый регион. 3) Без согласования маршрутизации Halo и health флап Токио и Сингапура размывает липкость DNS и ломает master-сессию SSH.
| Путь | Когда | ControlMaster | Артефакты |
|---|---|---|---|
| Прямой PoP | Один регион, низкий RTT | Рекомендуется | Стабильный p95 на 512 MiB |
| Цепочка JumpHost | Единый бастион и аудит | Master на бастионе | Считать по каждому хопу |
| GeoDNS ближайший | Ротация мультирегиональных сборок | Отдельный ControlPath на PoP | Сверка с ECS |
| Tailscale overlay | Фиксированные имена MagicDNS | Внутри tailnet | См. гайд Tailscale |
① Параметры ControlMaster и ControlPersist
Master-сессия один раз платит KEX и аутентификацию; дочерние сессии едут по Unix-сокету и снижают воспринимаемую кросс-региональную задержку при фан-ауте CI. ControlPersist держите близко к окну TTL GeoDNS — обычно 8–15 минут — чтобы дрейф DNS не закреплял неверный PoP на часы.
# ~/.ssh/config (шаблон vpshalo)
Host vpshalo-*
ControlMaster auto
ControlPath ~/.ssh/cm-%r@%h:%p
ControlPersist 12m
ServerAliveInterval 30
ServerAliveCountMax 3
Compression no
IdentitiesOnly yes
Host vpshalo-tokyo
HostName tokyo.entry.example.com
User mac
Host vpshalo-hk
HostName hk.entry.example.com
User mac
Карта параметров: ControlMaster auto открывает master при первом подключении; каталог ControlPath — режим 700, не делите между пользователями; ControlPersist 12m сохраняет сокет без дочерних; отключите Compression для уже сжатых архивов артефактов.
② Цепочка JumpHost и сегментированный тайминг
Согласуйте с SSH-CA × JumpHost: бастион только форвардит и аудирует. Стройте ControlMaster на бастионе или первом хопе — не на каждом downstream-сборщике Mac mini M4.
Host vpshalo-bastion
HostName bastion.vpshalo.example
ControlMaster auto
ControlPath ~/.ssh/cm-bastion-%r@%h:%p
ControlPersist 10m
Host vpshalo-tokyo-mac
HostName 10.64.0.12
ProxyJump vpshalo-bastion
ControlMaster auto
ControlPath ~/.ssh/cm-tky-%r@%h:%p
Проверка: ssh -G vpshalo-tokyo-mac и time ssh -O check vpshalo-bastion. Логируйте ConnectTime по хопам и сверяйте с базой матрицы входа, прежде чем обвинять железо.
③ Липкость сессий и health-пробы
Липкость DNS от GeoDNS выбирает PoP. Липкость SSH — это ControlPersist плюс отдельная строка ControlPath на каждый регион.
- Перед сменой весов:
ssh -O exitна старых регионах, чтобы сокеты не зависали. - Параллельные сборки: один master на PoP; не переиспользуйте путь между регионами.
- Длинные вытяжки: поднимите
ServerAliveInterval, чтобы NAT не убил master во время scp.
Health: зондируйте ssh -O check по регионам, сливайте JSON по {region, 5min}, эскалируйте только после двух красных корзин — та же дисциплина, что в матрице BBR.
④ Тест p95 обратной вытяжки артефактов
Снимайте Токио, Сеул, Гонконг, Сингапур и Запад США в одном окне. Фиксированный объект 512 MiB, минимум тридцать прогонов scp или rsync -e ssh на регион. Сначала baseline без ControlMaster, затем с прогретым master — сравните p95 connect и p95 завершения передачи.
| Метрика | Порог sign-off | Если красное |
|---|---|---|
| p95 дочернего connect | ≥40% ниже baseline | JumpHost, ControlPath |
| p95 512 MiB | Плоско за три окна | MTU и BBR |
| Ретрансляции TCP | <2% на океанских путях | не укорачивайте ControlPersist раньше MTU |
- Шаг 1. Зафиксируйте имена входа и веса GeoDNS; архивируйте
dig. - Шаг 2. Выкатите
ssh_config; откройте master:ssh -MNf vpshalo-tokyo. - Шаг 3. Тридцать вытяжек без мультиплексирования — baseline p95.
- Шаг 4. Повтор с ControlMaster; сравните рукопожатие и артефакт.
- Шаг 5. Симулируйте смену весов; проверьте teardown липкости.
- Шаг 6. Таблица sign-off в change ticket; при провале — смена PoP или цепочки.
ControlPath на PoP; ControlPersist согласован с TTL DNS; p95 артефактов логируйте отдельно «с master» и «без master».⑤ FAQ
Устаревший сокет и connection refused? Удалите просроченные ~/.ssh/cm-*, проверьте режим каталога 700, затем ssh -O exit после аварийного завершения master.
Медленные вытяжки после смены региона? Соберите новый master на новом PoP; не делите ControlPath между регионами. Сверьте веса и TTL GeoDNS.
Используете Tailscale? Включите ControlMaster на именах MagicDNS внутри tailnet — транспорт другой, правила мультиплексирования те же. См. статью Tailscale.
Тезисы для runbook (цитируемые)
- Маршрутизация Halo задаёт край; ControlMaster амортизирует рукопожатие, но не чинит неверный PoP.
- Кросс-региональная задержка на контрольном канале и на обратной вытяжке артефактов — разные SLO; не смешивайте в одной панели.
- После зелёных строк p95 выбирайте узел в том же метро, что раннер: Токио, Сеул, Гонконг, Сингапур, Запад США.
Итог. SSH ControlMaster, согласованная липкость и приёмка p95 артефактов дают воспроизводимый глобальный вход Halo на vpshalo. После sign-off откройте выбор узла или региональную покупку — главная, серия GeoDNS.
Выберите регион vpshalo по матрице, затем примите p95 артефактов
Проверьте ControlMaster и цепочку JumpHost на выделенных Mac mini M4 до оформления заказа. Тарифы и справка публичны — вход не обязателен.
GeoDNS · MSS/BBR · Tailscale · Токио · Сеул · Гонконг · Сингапур · Запад США