Сегодня (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>
87 lines
16 KiB
Markdown
87 lines
16 KiB
Markdown
---
|
||
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, который может задерживать обновления)
|