Files
homelab-docs/homelab/VPN-KEENETIC-CONTEXT-PROMPT.md
2026-02-23 16:47:17 +03:00

7.1 KiB
Raw Blame History

Контекст: 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, H1H4 как выше.