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

100 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Второе 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 → Загрузить из файла**.
```ini
[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](https://docs.amnezia.org/documentation/instructions/keenetic-os-awg/) после импорта конфига нужно вручную прописать asc в веб-CLI:
- **Управление → шестерёнка → Командная строка**
- `show interface` — найти имя интерфейса нового подключения (например Wireguard1).
- Выполнить (подставив имя интерфейса и значения asc из блока выше):
```text
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](https://m-docs-3w5hsuiikq-ez.a.run.app/troubleshooting/error-codes/#error-300-sshrequestdeniederror).