7.1 KiB
Контекст: VPN на Keenetic, два AmneziaWG-сервера (DE и US)
Использование: скопируй этот блок в начало запроса или прикрепи файл (@VPN-KEENETIC-CONTEXT-PROMPT.md), чтобы ассистент сразу имел все вводные.
Цель
На роутере Keenetic настроены два WireGuard (AmneziaWG)-подключения к разным VPS. Оба используют один и тот же адрес клиента 10.8.1.2 и шлюз 10.8.1.2. Трафик к определённым сетям (YouTube и др.) идёт через выбранный VPN. Переключение DE ↔ US — только включением/выключением нужного подключения в веб-интерфейсе, без правки маршрутов.
Серверы и доступ
| Сервер | IP | SSH | AmneziaWG порт | Контейнер |
|---|---|---|---|---|
| DE | 185.103.253.99 | ssh root@185.103.253.99 |
33118 | amnezia-awg, конфиг /opt/amnezia/awg/wg0.conf |
| US | 147.45.124.117 | ssh root@147.45.124.117 |
37135 | amnezia-awg2, конфиг /opt/amnezia/awg/awg0.conf |
- Мой статический IP: 185.35.193.144.
- На обоих VPS установлен AmneziaVPN (AmneziaWG в Docker). Для управления/создания пользователей используется приложение AmneziaVPN на macOS; при отключённом входе по паролю на сервере нужен доступ по SSH-ключу, иначе ошибка 300 (SshRequestDeniedError).
Общие параметры AmneziaWG (одинаковые на DE и US)
- Подсеть туннеля: 10.8.1.0/24, сервер — 10.8.1.0.
- Параметры обфускации (asc), единые для обоих серверов и для конфигов роутера:
- Jc = 6, Jmin = 10, Jmax = 50
- S1 = 90, S2 = 62
- H1 = 1455064900, H2 = 852483043, H3 = 2078090415, H4 = 1981181588
Роутер (клиент) всегда имеет адрес 10.8.1.2/32; на каждом сервере в конфиге есть peer с AllowedIPs = 10.8.1.2/32 (свой публичный ключ роутера/клиента).
Роутер Keenetic
- Адрес веб-интерфейса: 192.168.1.1. Telnet доступен (для отладки).
- Два WireGuard-подключения:
- netcraze_amnezia — к DE (185.103.253.99:33118), peer 10.8.1.2 на DE (ключ HSgydyy...).
- router_us — к US (147.45.124.117:37135), peer 10.8.1.2 на US (ключ 2a6d52kL...). Конфиг для роутера лежит в репозитории: homelab/us-router.conf (Address 10.8.1.2/32, те же asc).
- Включено только одно из двух подключений; маршруты с шлюзом 10.8.1.2 тогда идут через активный туннель.
Приоритеты подключений (политики):
- Политика по умолчанию: Ethernet, netcraze_amnezia, router_us (все с галочками; порядок приоритета: Ethernet → netcraze_amnezia → router_us).
- Политика netcraze_amnezia: только netcraze_amnezia (для устройств, которые должны идти только через DE).
- Политика us: только router_us (для устройств, которые должны идти только через US).
Чтобы новое WireGuard-подключение появилось в списке при настройке политик, у него должна быть включена галочка «Использовать для выхода в интернет» (в настройках подключения в разделе Интернет → Другие подключения → Wireguard).
Маршрутизация:
- Пользовательские маршруты (шлюз 10.8.1.2) заданы по интерфейсу: часть — netcraze_amnezia, часть — router_us (одинаковые сети, один шлюз 10.8.1.2, разный интерфейс). Так сделано специально: при включённом только одном VPN активны только маршруты этого интерфейса.
- Импорт маршрутов: формат .bat (Windows), строки вида
route add <network> mask <mask> 10.8.1.2. Интерфейс не в файле — выбирается при загрузке в выпадающем списке (Импорт → выбор интерфейса: netcraze_amnezia или router_us). Один и тот же файл можно загрузить дважды, указав разный интерфейс, чтобы получить маршруты для обоих VPN. Часть импортированных маршрутов может отображаться в блоке «Действующие маршруты IPv4», а не в «Пользовательские» — это нормально, трафик при этом идёт корректно. - Инструкция по второму (US) подключению и конфигам: homelab/vpn-keenetic-us-second-connection.md. Общая схема homelab: homelab/architecture.md.
Добавление третьего VPS
Конфиг нового сервера можно собрать по образцу DE/US: та же подсеть 10.8.1.0/24, те же asc, свой ListenPort и свой PrivateKey сервера; добавить peer 10.8.1.2/32 с публичным ключом роутера (текущий router_us: 2a6d52kL..., либо новый ключ при создании нового пользователя в Amnezia на третьем сервере). Для этого нужны: IP третьего VPS, SSH-доступ (root или sudo), установленный AmneziaWG в Docker (или возможность его установить).
Краткая сводка для копипаста
- DE: 185.103.253.99, ssh root@185.103.253.99, порт 33118, контейнер amnezia-awg, wg0.conf.
- US: 147.45.124.117, ssh root@147.45.124.117, порт 37135, контейнер amnezia-awg2, awg0.conf.
- Роутер: 192.168.1.1, два WG: netcraze_amnezia (DE), router_us (US); оба 10.8.1.2/32; переключение — включить один, выключить другой.
- Маршруты: шлюз 10.8.1.2, интерфейс задаётся при импорте .bat (netcraze_amnezia или router_us); два набора маршрутов (по одному на интерфейс).
- Конфиг роутера для US: homelab/us-router.conf. ASC везде одинаковые: Jc=6, Jmin=10, Jmax=50, S1=90, S2=62, H1–H4 как выше.