Initial homelab docs

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-23 16:47:17 +03:00
commit ce731c28da
53 changed files with 6943 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
# Второе 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).