Files
knowledge-base/decisions/2026-05-20-amneziavpn-macos-v1-v2-incompat.md
dttb bf565f1392 mmfb/lionart-1c: SSH + фикс efsaveragent + накопленный backlog vault-а
Сегодня (mmfb / LionART 1C):
- projects/mmfb/lionart-1c.md — новый файл: VM 100 на pve LionART
  (WIN-70M2VEJIKEF, 10.253.1.240, Win Server 2022, 1С+SQL+Effector Saver),
  SSH-доступ claude/Kl@udeD1ag!2026 заведён, RDP под Администратор + 2FA.
- projects/mmfb/proxmox-inventory.md — hostname WIN-70M2VEJIKEF в VM 100.
- decisions/2026-05-28-mmfb-effector-saver-locked-admin.md — диагноз
  цикла 7038 (SCM-пароль разъехался с .\Администратор) + lockout учётки,
  и пошаговое решение (disable службы → ADSI unlock → LogonUser-проверка
  → sc.exe config password= → start auto).

Накопившийся backlog (без отдельной правки в эту сессию):
- decisions/: buzharovo (recon, migration-plan, 1c-licensing), sergey
  (instagram iPhone fakeip), amneziavpn macOS v1/v2 incompat, benelux
  compromise 2026-05-20, glavtorg autologon off, omni domain+update.
- projects/: benilux README, buzharovo README+server1c, dttb
  (nextcloud-talk-bot, npm-proxy-hosts, proxmox-inventory, vpn-clients),
  glavtorg, sergey README, projects/_index.
- claude-memory/: benelux, omniroute.
- snippets/mac-dictation/groq-dictate.sh.
- notes/claude/: ~80 авто-сохранённых транскриптов сессий за май.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-29 12:33:03 +03:00

85 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
date: 2026-05-20
type: decision
tags: [vpn, amnezia, amneziawg, macos, finland, server, incompatibility]
status: open
severity: medium
---
# AmneziaVPN macOS-клиент несовместим с v1 AmneziaWG-сервером
## TL;DR
macOS-клиент AmneziaVPN (текущей версии на 2026-05) умеет только новый **AmneziaWG v2** handshake-формат. На **v1**-серверах (старые `amnezia-awg` контейнеры) — handshake silently дропается, клиент видит `ErrorCode 305 — Тайм-аут подключения к серверу`. iOS-клиент, Windows-клиент и Linux-kernel-module `wireguard-go-amneziawg` шлют в v1-совместимом формате — продолжают работать.
## Симптомы
Mac-клиент при попытке Connect:
- На v1-сервере: шлёт **только junk-преамбулу (96-байтовые UDP-пакеты)**, реальный handshake_init (148+ байт) не уходит. Таймаут 305.
- На v2-сервере: handshake проходит, туннель поднимается, всё работает.
В tcpdump на v1-сервере видно множество одинаковых 96-байтных UDP-пакетов от Mac-клиента и **ноль ответных**. На v2-сервере — пакеты разных размеров (handshake → data 1452 байт).
## Подтверждённые случаи (2026-05-20)
| Клиент | Сервер | Контейнер | Версия | Результат |
|---|---|---|---|---|
| Mac Олега | `78.17.4.225` (НИИКН) | `amnezia-awg2` | v2 | ✓ работает |
| Mac Олега | `202.71.12.186` (finland5870) | `amnezia-awg` (7 мес) | v1 | ✗ ErrorCode 305 |
| Mac Александра (Бенелюкс) | `202.71.12.186` | v1 | v1 | ✗ ErrorCode 305 |
| iPhone Александра | `202.71.12.186` | v1 | v1 | ✓ работает |
| Win 2012R2 1С Бужарово | `78.17.4.225` | v2 | v2 | ✓ работает |
| Cudy TR3000 (kernel-mod) | `202.71.12.186` | v1 | v1 | ✓ работает |
## Как опознать v1 vs v2 на сервере
```bash
ssh root@<server> 'docker ps | grep amnezia-awg'
```
- `amnezia-awg` — v1
- `amnezia-awg2` — v2
В `wg0.conf` v2-конфиг включает поля `I1..I5` (после `H1..H4`), в v1 — нет:
```bash
docker exec <amnezia-awg|amnezia-awg2> awk '/^\[Interface\]/,/^\[Peer\]/' /opt/amnezia/awg/wg0.conf
```
## Конфиги клиентов
В `vpn://`-ключе AmneziaPanel оба формата выглядят почти одинаково (поля `I1..I5` присутствуют пустыми и в v1-конфигах). Реальная привязка к версии — на стороне сервера + версия клиентского `wireguard-go-amneziawg`.
## Решение (выбрано Олегом)
**Не трогаем v1-сервер finland5870** — там 84 активных peer (iOS/Windows/Linux/kernel-WG), которые работают. Риск перевыпуска всех конфигов перевешивает пользу.
Mac-юзерам, кто жалуется на 305, выдаём:
- Конфиг от v2-сервера `78.17.4.225` (НИИКН), либо
- Конфиг от **любого** v2-сервера в инфре Олега.
Александру (Бенелюкс) — выпущен новый конфиг от НИИКН-сервера.
## Что не сделано (отложено)
- **Параллельный v2-контейнер на finland5870** на другом UDP-порту (например `37210`) — старые v1-клиенты продолжают на `37209`, новые/Mac — на v2 `37210`. Без вмешательства в текущий контейнер, риск минимальный. Откладывается пока не накопится критическая масса Mac-юзеров.
- **Полная миграция finland5870 v1 → v2** — массовый перевыпуск 84 конфигов. Только в плановое окно даунтайма.
## Диагностика для будущих случаев
Чтобы не разбирать с нуля, чек-лист:
1. **Mac жалуется на ErrorCode 305 или тайм-аут к AmneziaVPN.**
2. Проверь — **iOS-клиент / Windows-клиент того же пользователя на том же сервере работают?** Если да — гипотеза macOS-v1-баг сильно правдоподобна.
3. **Какая версия контейнера на сервере**`docker ps | grep amnezia` → если `amnezia-awg` (без `2`) — это v1. Если `amnezia-awg2` — v2.
4. Если v1 — выдай Mac-юзеру конфиг от v2-сервера. Не пытайся "починить" v1-контейнер.
## Снэпшот серверов на момент решения (2026-05-20)
- **finland5870.com** `202.71.12.186`: `amnezia-awg` (v1, создан ~2025-10), 84 peer, port 37209/udp. Используется как основной endpoint для роутерных podkop-туннелей: Бенелюкс, Сергей, Знаменское, НИИКН-роутер, Lipki, Михуринец и др.
- **finlandit5870.com** `78.17.4.225`: `amnezia-awg2` (v2, создан 2026-05-18), `amnezia-panel-web` (управляющая PHP-панель), полный VPN-стек (xray, shadowbox, socks5, mtproto, WA-proxy). Олег управляет конфигами отсюда через AmneziaApp.
## Связанные
- [[../projects/dttb/finland-hostkey-vps]] — карточка finland5870
- [[../projects/dttb/vpn-clients]] — клиентский реестр
- [[2026-05-20-benelux-compromise]] — параллельная история инцидента с роутером Бенелюкса