Files
homelab-docs/homelab/vpn-keenetic-us-second-connection.md
2026-02-23 16:47:17 +03:00

7.6 KiB
Raw Blame History

Второе VPN-подключение (US) на Keenetic без смены маршрутов

Оба туннеля используют один и тот же адрес клиента 10.8.1.2. Маршруты на роутере указывают на шлюз 10.8.1.2 — переключение DE/US делается включением/выключением нужного подключения в веб-интерфейсе.


Что уже сделано

  • На US VPS (147.45.124.117) в AmneziaWG добавлен peer с AllowedIPs = 10.8.1.2/32 и публичным ключом роутера (тот же, что для DE). Контейнер перезапущен, peer активен.

Параметры US-сервера (для конфига роутера)

Параметр Значение
Endpoint 147.45.124.117:37135
PublicKey сервера SDjcBREvIXfuCOCISj4hk3gvYaM188IZcZNnWAuOclc=
PresharedKey 8C4rE3PVqyi3FQD+zDjGzQ4W5Dju8T2uGhGF9yor1zc=
Адрес клиента 10.8.1.2/32 (как у DE)

Параметры обфускации (asc) на US-сервере сделаны такими же, как на DE — один набор для обоих подключений, вручную вводить один раз:

  • Jc = 6, Jmin = 10, Jmax = 50
  • S1 = 90, S2 = 62
  • H1 = 1455064900, H2 = 852483043, H3 = 2078090415, H4 = 1981181588

Конфиг клиента для роутера (шаблон)

Нужно подставить PrivateKey из текущего подключения netcraze_amnezia на роутере (тот же ключ, что и для DE — тогда публичный ключ совпадает и peer 10.8.1.2 на US уже привязан к нему).

Сохраните как amnezia-us-router.conf и загрузите в роутер через Интернет → Другие подключения → Wireguard → Загрузить из файла.

[Interface]
PrivateKey = ВСТАВЬТЕРИВАТНЫЙ_КЛЮЧ_ИЗ_netcraze_amnezia
Address = 10.8.1.2/32
Jc = 6
Jmin = 10
Jmax = 50
S1 = 90
S2 = 62
H1 = 1455064900
H2 = 852483043
H3 = 2078090415
H4 = 1981181588

[Peer]
PublicKey = SDjcBREvIXfuCOCISj4hk3gvYaM188IZcZNnWAuOclc=
PresharedKey = 8C4rE3PVqyi3FQD+zDjGzQ4W5Dju8T2uGhGF9yor1zc=
Endpoint = 147.45.124.117:37135
AllowedIPs = 0.0.0.0/0, ::/0

Откуда взять PrivateKey: в приложении AmneziaVPN он не показывается (только «Частный ключ установлен»). Варианты: (1) В веб-интерфейсе Keenetic откройте Интернет → Другие подключения → Wireguard, нажмите на строку netcraze_amnezia и проверьте, есть ли там поле приватного ключа или экспорт конфига. (2) После настройки доступа по SSH-ключу в Amnezia создайте на US-сервере нового пользователя, скачайте конфиг — в нём будет новая пара ключей; тогда на US-сервере нужно заменить peer 10.8.1.2 на новый публичный ключ из этого конфига и в конфиге прописать Address 10.8.1.2/32 — этот конфиг и загружать в роутер.


Если при загрузке конфига ошибка про обфускацию

  1. Версия KeeneticOS смотрится в Управление → Обзор системы («Об системе»), а не в версии компонента MDNS. Нужна именно строка вида KeeneticOS 4.3.x (или 4.2.x).
  2. В KeeneticOS 4.3.4+ параметры asc должны подхватываться из файла. Если ошибка всё равно есть — возможно, формат S3/S4 или H не поддерживается; тогда добавьте подключение без asc в файле и задайте asc вручную через CLI (см. ниже).
  3. Для KeeneticOS 4.3.3 и ниже по инструкции Amnezia после импорта конфига нужно вручную прописать asc в веб-CLI:
    • Управление → шестерёнка → Командная строка
    • show interface — найти имя интерфейса нового подключения (например Wireguard1).
    • Выполнить (подставив имя интерфейса и значения asc из блока выше):
      interface Wireguard1 wireguard asc 6 10 50 90 62 1455064900 852483043 2078090415 1981181588
      
      (Один набор asc для обоих подключений: Jc Jmin Jmax S1 S2 H1 H2 H3 H4.)
    • system configuration save

После добавления второго подключения

  • В Приоритеты подключений можно добавить вторую политику с новым подключением (US) или оставить одну политику и переключать только активное подключение в ней.
  • Маршруты не менять: все пользовательские маршруты по-прежнему с шлюзом 10.8.1.2.
  • Включать только одно подключение: либо netcraze_amnezia (DE), либо новое (US). Включённое подключение даёт интерфейс с адресом 10.8.1.2 — трафик по маршрутам пойдёт через него.
  • Переключение: в Другие подключения → Wireguard выключить одно подключение и включить другое.

Сводка по серверам

Сервер IP Порт Роутер (peer)
DE (текущий) 185.103.253.99 33118 10.8.1.2, ключ HSgydyy...
US (новый) 147.45.124.117 37135 10.8.1.2, тот же ключ

При обновлении конфига Amnezia через приложение на US-сервере вручную добавленный peer 10.8.1.2 может пропасть; тогда его нужно снова добавить в awg0.conf в контейнере и перезапустить контейнер (или восстановить конфиг из бэкапа).


Ошибка 300 (SshRequestDeniedError) в AmneziaVPN

Если на сервере отключён вход по паролю, приложение не сможет подключаться к серверу (создавать пользователей, менять настройки) и выдаст ошибку 300. Решение: в настройках сервера в AmneziaVPN указать аутентификацию по SSH-ключу: выбрать «Подключение по ключу» и указать ваш приватный SSH-ключ (тот же, которым заходите с Mac в ssh root@...). После сохранения создание пользователей и выдача конфигов снова работают. Подробнее в документации Amnezia.