Files
wikipedia/HomeLab/Hermes/amnezia-vpn-keenetic-kn1011.md
T

184 lines
12 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.
# Настройка Amnezia VPN на роутере Keenetic Giga KN-1011
Роутер Keenetic Giga (KN-1011) под управлением KeeneticOS поддерживает подключение к VPN через протоколы **OpenVPN** и **WireGuard**. Amnezia VPN умеет экспортировать конфигурации в оба формата, что позволяет подключить роутер к вашему собственному VPN-серверу, развёрнутому через Amnezia.
---
## 1. Экспорт конфигурации из Amnezia VPN
### 1.1. На устройстве, где установлен Amnezia VPN
1. Откройте приложение **Amnezia VPN**.
2. Перейдите на вкладку **Сервер** (Server) / **Подключения** (Connections).
3. Нажмите кнопку **Поделиться** (Share) / **Экспорт** (Export) рядом с вашим подключением.
4. Выберите формат экспорта:
| Если роутер использует | Выберите формат |
|------------------------|----------------|
| OpenVPN | **For OpenVPN connection** (`.ovpn`) |
| WireGuard (родной) | **For WireGuard connection** (`.conf`) |
> **Протокол AmneziaWG (awg) НЕ поддерживается роутером Keenetic.**
> Если у вас включён AmneziaWG, временно переключитесь в приложении на обычный WireGuard или OpenVPN, экспортируйте конфиг, затем можно вернуть обратно.
5. Сохраните полученный файл на компьютер (`.ovpn` или `.conf`).
### 1.2. Если доступна только ссылка `vpn://`
На серверах Amnezia Self-hosted и Premium иногда конфиг выдаётся в виде URI `vpn://...`. Его нужно преобразовать: откройте этот URI в приложении Amnezia, выберите нужный протокол (OpenVPN или WireGuard), после чего экспортируйте как описано выше.
---
## 2. Установка необходимого компонента на роутере
Зайдите в веб-интерфейс роутера:
- **Адрес:** `http://my.keenetic.net` или `http://192.168.1.1`
- **Логин/пароль:** по умолчанию `admin` / `1234` (если не меняли)
### 2.1. Для OpenVPN
1. Перейдите: **Управление** → **Общие настройки системы** (или **System Settings**).
2. В блоке **Обновление KeeneticOS и компонентов** нажмите **Выбор компонентов** (Component options).
3. Найдите компонент **OpenVPN-клиент и сервер** (OpenVPN client and server).
4. Установите флажок и нажмите **Сохранить**.
5. Роутер скачает и установит компонент (может потребоваться перезагрузка).
### 2.2. Для WireGuard
1. Перейдите: **Управление** → **Общие настройки системы**.
2. Нажмите **Выбор компонентов**.
3. Найдите компонент **WireGuard VPN**.
4. Установите флажок → **Сохранить**.
---
## 3. Создание VPN-подключения
### 3.1. Через OpenVPN (.ovpn)
1. Откройте экспортированный файл `.ovpn` в любом текстовом редакторе (Блокнот, Notepad++).
2. Выделите ВЕСЬ текст файла (Ctrl+A) и скопируйте (Ctrl+C).
3. В веб-интерфейсе роутера перейдите:
**Интернет** → **Другие подключения** (Other connections).
4. В блоке **VPN-подключения** нажмите **Создать подключение** (Create connection).
5. Заполните:
| Поле | Значение |
|-------------------------|----------|
| **Использовать для выхода в интернет** | ☑ (включить) |
| **Имя подключения** | Например `Amnezia-OVPN` |
| **Тип (протокол)** | **OpenVPN** |
| **Конфигурация OpenVPN** | Вставьте скопированный текст (Ctrl+V) |
| **Получать маршруты с удалённой стороны** | ☑ (включить) |
6. При необходимости нажмите **Показать дополнительные настройки** и укажите:
- **Подключаться через** → «Любое интернет-подключение»
- **Расписание работы** → выключить (или настроить по желанию)
7. Нажмите **Сохранить**, затем переведите переключатель в положение **Вкл**.
#### Типичные проблемы с OpenVPN на Keenetic
| Ошибка в логе | Решение |
|--------------|---------|
| `auth-user-pass without inline credentials` | Найдите и удалите строку `auth-user-pass` — она должна быть заменена на блок `<auth-user-pass>...</auth-user-pass>` с логином и паролем внутри |
| `block-outside-dns` | Добавьте в конфиг строку: `pull-filter ignore "block-outside-dns"` |
| `cipher BF-CBC` / `keysize` | Замените `cipher BF-CBC` на: `data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305` и `data-ciphers-fallback AES-256-CBC` |
| `Unrecognized option: client-ip` | Добавьте: `ignore-unknown-option client-ip block-ipv6` |
> Лог OpenVPN доступен в веб-интерфейсе: **Диагностика** → **Системный журнал**, фильтр по `OpenVPN0`.
### 3.2. Через WireGuard (.conf)
Keenetic умеет импортировать WireGuard-конфигурацию напрямую из файла:
1. В веб-интерфейсе перейдите: **Интернет** → **Другие подключения**.
2. В блоке **WireGuard** нажмите **Импорт из файла** (Import from a file).
3. Выберите файл `.conf`, экспортированный из Amnezia.
4. После импорта нажмите **Сохранить**.
5. Включите подключение переключателем в положение **Вкл**.
Если импорт из файла недоступен (старая версия KeeneticOS), настройте вручную:
1. Нажмите **Создать подключение** → тип **WireGuard**.
2. Заполните поля из файла `.conf`:
| Поле в веб-интерфейсе | Значение из `.conf` |
|-----------------------|---------------------|
| Приватный ключ (PrivateKey) | `[Interface] PrivateKey = ...` |
| Адрес (Address) | `[Interface] Address = ...` |
| DNS-сервер (DNS) | `[Interface] DNS = ...` |
| Открытый ключ пира (Peer PublicKey) | `[Peer] PublicKey = ...` |
| Endpoint (адрес сервера:порт) | `[Peer] Endpoint = ...` |
| Разрешённые IP (AllowedIPs) | `[Peer] AllowedIPs = ...` |
| PersistentKeepalive | `[Peer] PersistentKeepalive = ...` |
3. Сохраните и включите.
> ⚠️ **Важно:** родной WireGuard на Keenetic **не поддерживает** параметры обфускации AmneziaWG (`Jc`, `Jmin`, `Jmax`, `S1`, `S2`, `H1`–`H4`). Если в вашем конфиге есть эти параметры — используйте OpenVPN, либо переключитесь в Amnezia на обычный WireGuard перед экспортом.
---
## 4. Настройка приоритетов и политик трафика
Чтобы весь трафик роутера шёл через VPN:
1. Перейдите: **Интернет** → **Приоритеты подключений** (Connection priorities).
2. На вкладке **Правила по умолчанию**:
- Найдите созданное VPN-подключение
- Перетащите его мышью на самый верх списка
- Нажмите **Сохранить**
3. Если хотите направлять через VPN только определённые устройства:
- Перейдите на вкладку **Привязка политик** (Policy bindings)
- Создайте правило, выбрав устройство и нужное VPN-подключение
---
## 5. Проверка подключения
1. Перейдите: **Диагностика** → **Ping**.
2. Введите `8.8.8.8` и нажмите **Проверить**.
3. Убедитесь, что пинг проходит.
4. Дополнительно проверьте внешний IP-адрес роутера на главной странице (должен совпадать с IP вашего VPN-сервера).
Просмотр статуса VPN:
- **Интернет** → **Другие подключения** — переключатель должен быть зелёным (Вкл).
- **Диагностика** → **Системный журнал** — поиск по `OpenVPN0` или `Wireguard0`.
---
## 6. Если что-то не работает
| Симптом | Вероятная причина |
|---------|-------------------|
| Подключение не включается | Не установлен компонент OpenVPN/WireGuard в системе |
| OpenVPN: ошибка в логе | Несовместимая директива — см. таблицу в п. 3.1 |
| WireGuard: нет соединения | Конфиг содержит параметры AmneziaWG — используйте OpenVPN |
| VPN есть, но интернет не работает | Неправильные приоритеты подключений (п. 4) |
| Нет доступа к локальным ресурсам | В OpenVPN-конфиге `redirect-gateway` или в `AllowedIPs = 0.0.0.0/0` — роутер не видит локальную сеть. Используйте AllowedIPs по умолчанию от провайдера или отключите VPN для локальных адресов |
---
## 7. Сводка — что поддерживается на KN-1011
| Протокол | Поддержка | Способ подключения |
|----------|-----------|-------------------|
| **OpenVPN** (TUN, UDP/TCP) | ✅ Полная | Вставка текста `.ovpn` в поле конфигурации |
| **WireGuard** (обычный) | ✅ Полная | Импорт `.conf` файла или ручной ввод |
| **AmneziaWG** (awg) | ❌ **НЕ поддерживается** | Требуется OpenWRT с кастомным ядром |
| **OpenVPN over Cloak** | ❌ Не поддерживается | Только через сторонний клиент |
| **XRay (VLESS Reality)** | ❌ Не поддерживается | Только через сторонний клиент |
**Вывод:** для Keenetic используйте **OpenVPN** (рекомендуется) или обычный **WireGuard** без обфускации.
---
> **Источники:** официальная документация Keenetic (support.keenetic.com), документация Amnezia (docs.amnezia.org), GitHub amnezia-vpn/amnezia-client.