Сегодня (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>
85 lines
6.0 KiB
Markdown
85 lines
6.0 KiB
Markdown
---
|
||
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]] — параллельная история инцидента с роутером Бенелюкса
|