--- date: 2026-05-20 type: snippet tags: [vpn, amnezia, client, alexandr, benelux, macos, reinstall] --- # Александр (Бенелюкс) — переустановка AmneziaVPN на Mac Старый конфиг на Mac «залип» (handshake уходит на не те порты, сервер не отвечает — `ErrorCode 305`). На iPhone тот же конфиг работает, значит сервер OK — нужна чистая переустановка конфига на Mac. ## 📩 Готовое сообщение Александру Привет! По AmneziaVPN на Mac. Текущий конфиг залип, надо удалить его полностью и поставить новый — пришлю отдельным сообщением длинную ссылку, начинающуюся с `vpn://...`. **1. Открой AmneziaVPN и удали старое подключение** В приложении в списке слева — твоё текущее подключение (скорее всего «Финляндия» или похожее). Нажми на него правой кнопкой (или удерживай) → **«Удалить сервер»**. Подтверди. Если правый клик не работает — выбери подключение, открой его настройки (иконка шестерёнки) → внизу страницы кнопка **«Удалить сервер»** / **«Forget server»**. **2. Перезагрузи Mac** Меню Apple → «Перезагрузить». Без этого macOS может закешировать старый туннель. **3. Скопируй ссылку, которую я пришлю** В моём сообщении будет длинная строка, начинающаяся с `vpn://`. Зажми её пальцем (или правый клик) → «Копировать». Целиком, всю строку — она длинная, не обрезай. *Не пытайся открыть её как обычную ссылку — Safari не откроет, нужно именно скопировать текст.* **4. Импорт в AmneziaVPN** Открой AmneziaVPN → внизу слева **«+»** → выбери **«Из буфера обмена»** (или **«Вставить из буфера»**). Приложение само распарсит ссылку и создаст новое подключение «Финляндия». **5. Подключись** Большая круглая кнопка по центру → **«Подключиться»**. При первом запуске система спросит разрешение на VPN — нажми «Разрешить» и введи пароль Mac. Должно стать «Подключено». Проверь на https://2ip.ru — IP `202.71.12.186` (Финляндия). --- **Если не подключается** (то же `ErrorCode 305` или другой): 6. Открой настройки своего подключения в AmneziaVPN (иконка шестерёнки рядом с «Финляндия») → найди **«Раздельное туннелирование»** → включи в режиме **«Сайты НЕ в туннеле»** (или «исключения») → добавь адрес `202.71.12.186` → сохрани. 7. Попробуй подключиться снова. Если опять не работает — напиши, посмотрю по логам со своей стороны. --- ## Внутренние заметки - **Клиент:** Александр Григорьев, КП Бенелюкс - **Минимум 3 Mac/iMac в его сети** (DHCP-leases на 2026-05-23): - **`192.168.1.99`** — основной рабочий, hostname `Mac`, MAC `ca:e2:c9:87:16:80`, юзер `aleksandrgrigorev` / `gav1971@` (Display Name «Александр Григорьев»), Remote Login включён → `ssh -J root@100.70.207.97 aleksandrgrigorev@192.168.1.99` (используй sshpass или expect, не интерактивный) - `192.168.1.231` — второй Mac, hostname тоже `Mac`, MAC `2e:39:e6:fb:e1:77`, часто спит - `192.168.1.65` — iMac, MAC `2a:47:de:a2:6d:8d` - **Mac 192.168.1.231 (тот про который изначально жаловались):** AmneziaVPN был установлен, ErrorCode 305. Это **первичная цель** для перевыпуска конфига. - **Mac 192.168.1.99 (проверен 2026-05-23):** AmneziaVPN **не установлен**, чистый стек. DNS правильный (192.168.1.1 → Cudy → FakeIP). НО на нём стоит зоопарк других VPN: AdGuard VPN (запущен в passive-режиме), ProtonVPN system-extensions активны, ExpressVPN/VanyaVPN/VPN Guard установлены. Плюс Intego ContentBarrier + NetBarrier + Kaspersky network extension. - **Подтверждённая причина «вечером TG/WA перестали»** (2026-05-23): с роутера curl https://api.telegram.org → HTTP 302 0.25s, а **с Mac тот же URL → HTTP 000 timeout 6s** при идентичном DNS-резолве FakeIP `198.18.0.x`. AdGuard VPN в content-filter режиме (запущен в фоне, без активного туннеля) перехватывает TCP-соединения через свой transparent-proxy → видит "несуществующий" IP `198.18.0.x` → дропает. Лечение — `⌘Q` AdGuard или удалить совсем. - **AdGuard виснет при отключении** (Александр подтвердил): после disconnect utun-интерфейсы не освобождаются, нужен reboot. Известный баг Network Extensions на macOS, не починить без Apple-патча. Рекомендация — удалить AdGuard полностью (Александр его редко использует), чтобы вопрос отвалился навсегда. ProtonVPN system-extensions тоже выключить (System Settings → Login Items & Extensions → Network Extensions). Kaspersky оставить — он не виноват. - **2026-05-24:** Александр выключил AdGuard, но `systemextensionsctl list` всё ещё показывает Proton Transparent-Proxy + WireGuard как `activated enabled`. TG/WA по-прежнему HTTP 000 timeout, traceroute до FakeIP — все звёзды. Это типичная ситуация: пользователь думает что VPN выключен (приложение закрыто), а **system extension продолжает перехватывать TCP-соединения на kernel-уровне** до отправки в сеть. CLI-деактивация невозможна (SIP блокирует `systemextensionsctl uninstall`), только через GUI. Готовое сообщение для Александра — в этом файле выше («Готовое сообщение Александру»). - **2026-05-27:** Финальная зачистка. Александр снёс Proton (extensions), Intego, оставил только Kaspersky. Но включил AmneziaVPN-app (без активного туннеля!) — её **AmneziaVPN-service** (root daemon) перехватывал весь TCP и ломал FakeIP-обход даже без подключения. Сделано: - `launchctl bootout system /Library/LaunchDaemons/AmneziaVPN.plist` — выгружен navсегда, persistent после reboot. AmneziaVPN не будет запускаться автоматически - `pkill -9 AmneziaVPN` — процессы убиты - `killall AdobeAcrobat` (зависший на 109% CPU — не мог достучаться до личного кабинета без VPN) - DNAT-правило принтера (8148 → 192.168.1.148:443) восстановлено и persistent в `/etc/nftables.d/50-printer-dnat.nft` - После kill сетевой стек macOS залип (HTTP 000 даже на yandex.ru), `networksetup off/on Wi-Fi` не помог — нужен reboot Mac. Александру сказано перезагрузить - **Главный урок:** AmneziaVPN на macOS даже в "стопе" продолжает фильтровать через LaunchDaemon. Для полного отключения — `launchctl bootout` + `pkill`. Полное удаление приложения тоже выгружает daemon, но Apple-аппа держится за extension и dragging в Корзину часто не чистит kernel-state. - **Принтер HP M775 (192.168.1.148):** физически в сети (ping ok), но все сетевые сервисы (80/443/631/9100) закрыты — принтер в sleep/ошибке. Физическое вмешательство нужно: дисплей → разбудить / устранить ошибку / hard reboot. DNAT через NetBird готов на `https://100.70.207.97:8148` — заработает когда принтер оживёт. - **Семейные устройства в LAN** (iPhone Александра 192.168.1.16, S23 Нины, A51 Нины, S25 Игоря, iMacAleksandr4 192.168.1.186, Mi TV Stick, iPad-103): за 2 дня 16 часов через awg0-туннель прошло всего 5.96 MiB sent / 565 KiB received — это keepalive, реальной нагрузки нет. Подозрение: семья пользуется свои VPN / Private Relay / DoH в Chrome — перебивают роутерный обход. При следующих жалобах от семьи — первым делом проверять Private Relay (iCloud) и Chrome Secure DNS. - **2026-05-27 ФИНАЛЬНАЯ зачистка (после reboot Mac):** AmneziaVPN-service автоматически воскрес через `/Library/LaunchDaemons/AmneziaVPN.plist` который Apple перерегистрирует при boot (мой `launchctl bootout` НЕ пережил reboot). Окончательно: - `launchctl bootout` + `rm /Library/LaunchDaemons/AmneziaVPN.plist` — теперь не воскреснет - `pkill AmneziaVPN-service` — убит - `/Applications/AmneziaVPN.app` **оставлен** (для поездок Александр запустит вручную). При первом ручном запуске Apple переставит LaunchDaemon — это норма - **Проверено: с Mac kavd (Касперский) держит SYN_SENT-сокеты на FakeIP `198.18.0.x:443` для антифишинг-сканирования. Это не блокирует FakeIP-обход для пользовательских приложений** — Kaspersky просто проверяет URLы, его SYN-попытки лопаются (т.к. сервер не отвечает на просто SYN без app-layer trigger). Подтверждено: после нашей зачистки TG/WA с Mac работают через Cudy/FakeIP за 0.7-0.75s - **ВАЖНЫЙ УРОК для будущих диагностик:** На BusyBox-Cudy **НЕ делать `nft flush table inet fw4`** для очистки conntrack-состояний — `nft flush` сносит ВСЕ runtime-правила (включая mangle/tproxy подкопа). `fw4 restart` восстанавливает UCI-правила + `/etc/nftables.d/`, **но подкоп-mangle создаётся скриптом подкопа в runtime — нужен отдельно `/etc/init.d/podkop restart`**. Для conntrack-flush в OpenWrt без `conntrack-tools` лучше через `echo 1 > /proc/sys/net/netfilter/nf_conntrack_log_invalid` или просто `/etc/init.d/podkop restart` (он пересоздаст всё). Сегодня я этот flush сделал — на 5 минут оставил всю сеть Бенелюкса без TG/WA, Александр перезагружал Cudy физически. - **2026-05-27 (вечер) — Power outage в посёлке:** Электричество выключили, потом включили. Cudy ребутнулся, всё подкоп-mangle поднялось правильно. Но TG/WA не работали ни на Mac, ни на телефоне. Корневая причина — устройства держали **старые FakeIP в DNS-кеше**, а sing-box после ребута сгенерировал новые маппинги. Лечение: `dscacheutil -flushcache + killall -HUP mDNSResponder` на Mac, App Switcher kill для приложений на телефонах. После этого с Mac TG/WA → HTTP 200/302 за 0.3-1.8с. Бонус-открытие: Cloud Key Gen2+ на 192.168.1.199 имеет работающий web UI на https://192.168.1.199:443 (UniFi OS Console), а SSH запрещён по паролю (только ключ). Создана общая инструкция [[alexandr-benelux-power-recovery]] для семьи Александра на случай следующих outage. - **Mac:** в LAN Бенелюкса, hostname `Mac` (DHCP), IP `192.168.1.231`, MAC `2e:39:e6:fb:e1:77` - **Сервер:** Finland HOSTKEY `202.71.12.186` ([[../../projects/dttb/finland-hostkey-vps]]) - **Симптом:** `ErrorCode: 305. Тайм-аут подключения к серверу` - **Что выяснили (2026-05-20):** - conntrack Cudy: Mac стучится на `202.71.12.186:48653` и `:44582`, эти порты на сервере не слушают (есть только `37209/awg`, `32270/wg`, `9443/xray`, `31799/ss`, `38606/socks5`) - На iPhone Александра с **тем же конфигом** работает → значит проблема в Mac-клиенте, а не в сервере или конфиге - Гипотеза: Tunnel Provider macOS залип после прежней версии AmneziaVPN или после изменения протокола на сервере. Network Extension держит старые порты. - **Решение:** полный wipe профиля и системного VPN-entry + перезагрузка + импорт нового `vpn://`-ключа через буфер обмена (Олег пересылает текстом, не файлом) - **Почему не файл `.vpn`:** Олег предпочитает текстовый формат `vpn://...`. По нашему опыту (auto-memory `feedback_amneziavpn_qr`) такие ссылки длинные, через QR не импортируются, а через буфер обмена в десктоп-клиенте — работают. - **Запасной план:** Split Tunneling с исключением серверного IP — типичный workaround для багов AmneziaVPN на macOS, когда handshake-пакеты сами попадают в туннель - **Если и это не помогло:** обновить AmneziaVPN на Mac до последней версии (https://github.com/amnezia-vpn/amnezia-client/releases), либо снести и поставить с GitHub релизы напрямую (минуя App Store, который может задерживать обновления)