vault backup: 2026-10-14 22:36:45

This commit is contained in:
2026-10-14 22:36:45 +03:00
parent e9e9f1b157
commit d3a7a24f2d
3 changed files with 103 additions and 6 deletions
+6 -6
View File
@@ -27,12 +27,12 @@
"state": {
"type": "markdown",
"state": {
"file": "HomeLab/PVE - Description.md",
"file": "HomeLab/LXC - npm_keenetic_setup.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "PVE - Description"
"title": "LXC - npm_keenetic_setup"
}
}
],
@@ -205,8 +205,11 @@
},
"active": "b3558acf9e721e10",
"lastOpenFiles": [
"HomeLab/PVE - General - Description.md",
"HomeLab/LXC - Nginx Proxy Manager.md",
"HomeLab/LXC - npm_keenetic_setup.md",
"HomeLab/npm_keenetic_setup.md",
"HomeLab/PVE - Description.md",
"HomeLab/PVE - General - Description.md",
"HomeLab/OMV-Backups-Guide.md",
"HomeLab/omv-qbittorrent-guide.md",
"HomeLab/OMV - Guide-NFS-Share (PVE-PBS).md",
@@ -216,7 +219,6 @@
"HomeLab/LXC- Gitea.md",
"HomeLab/LXC - PBS Proxmox Backup Server.md",
"HomeLab/LXC - HomePage.md",
"HomeLab/LXC - Nginx Proxy Manager.md",
"HomeLab/ssh config.md",
"HomeLab AI Analisys.md",
"HomeLab/! Tasks - planned action.md",
@@ -232,8 +234,6 @@
"SBC - Hardware/Pasted image 20260517222623.png",
"SBC - Hardware/Radxa E25.md",
"Network/Settings.md",
"SBC - Hardware/ssd1306-rpi5-guide.md",
"Hermes/hermes-desktop-connect-guide.md",
"SBC - Hardware",
"Hermes/oled_cpu_mon.py",
"Hermes",
+2
View File
@@ -22,3 +22,5 @@ bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/Proxmo
### Settings
+95
View File
@@ -0,0 +1,95 @@
#npm #ssl #keenetic
# Настройка Nginx Proxy Manager (NPM) в связке с Keenetic
Руководство по переносу маршрутизации трафика и управлению SSL-сертификатами Let's Encrypt с роутера Keenetic (при наличии белого IP) на специализированный реверс-прокси **Nginx Proxy Manager**, развернутый в LXC-контейнере.
---
## Архитектурная схема
```
[Интернет]
↓ (порты 80, 443)
[Роутер Keenetic] (Проброс портов / NAT)
↓
[LXC: Nginx Proxy Manager] (Терминация SSL, маршрутизация)
├── → https://ha.domain.link → [LXC: Home Assistant] (порт 8123)
├── → https://nas.domain.link → [TrueNAS / Synology] (порт 5001)
└── → https://proxmox.domain.link → [Proxmox VE] (порт 8006)
```
---
## Шаг 1. Подготовка роутера Keenetic
Поскольку обработкой SSL и субдоменов теперь будет заниматься NPM, на роутере нужно отключить встроенное проксирование и настроить прямой проброс портов.
1. **Отключение встроенного проксирования KeenDNS:**
* Перейдите в **Сетевые правила** → **KeenDNS**.
* Удалите (или отключите) все правила из секции **«Доступ к веб-ресурсам домашней сети»**, чтобы Keenetic не перехватывал субдомены 4-го порядка.
2. **Проброс портов (NAT):**
* Перейдите в **Сетевые правила** → **Переадресация**.
* Создайте два правила для вашего интерфейса «Провайдер» (основной интернет-канал):
* **HTTP:** Внешний порт `80` → IP-адрес вашего LXC NPM → Внутренний порт `80`.
* **HTTPS:** Внешний порт `443` → IP-адрес вашего LXC NPM → Внутренний порт `443`.
---
## Шаг 2. Выпуск Wildcard-сертификата в NPM (DNS Challenge)
Чтобы не открывать порт 80 для каждой проверки Let's Encrypt и автоматически защитить все субдомены вида `*.yourdomain.keenetic.link`, настроим проверку через DNS API.
> 💡 **Примечание:** Так как Keenetic не всегда предоставляет полноценный API-доступ сторонним утилитам для доменов `*.keenetic.link`, для выпуска Wildcard-сертификата в NPM рекомендуется использовать связку со сторонним бесплатным DNS-провайдером (например, **Cloudflare**, перенеся туда управление зоной, либо используя Cloudflare-сертификат).
> Если вы остаетесь на чистом `keenetic.link`, используйте метод проверки **HTTP Challenge** (через порт 80).
### Инструкция для выпуска общего Wildcard-сертификата (через DNS API Cloudflare/других):
1. Откройте веб-интерфейс NPM (обычно порт `81`).
2. Перейдите во вкладку **SSL Certificates** → **Add SSL Certificate** → **Let's Encrypt**.
3. Заполните поля:
* **Domain Names:** `yourdomain.keenetic.link` и затем на следующей строчке `*.yourdomain.keenetic.link`.
* Включите тумблер **Use a DNS Challenge**.
* В списке **DNS Provider** выберите вашего провайдера (например, Cloudflare).
* Вставьте ваш секретный API-токен в текстовое поле конфигурации ниже.
4. Согласитесь с условиями Let's Encrypt и нажмите **Save**. В течение 1–2 минут сертификат будет готов.
---
## Шаг 3. Добавление прокси-хоста (на примере Home Assistant)
1. В интерфейсе NPM перейдите во вкладку **Hosts** → **Proxy Hosts** → **Add Proxy Host**.
2. Во вкладке **Details** заполните параметры:
* **Domain Names:** `ha.yourdomain.keenetic.link` (замените `ha` на ваш субдомен 4-го порядка).
* **Scheme:** `http` *(большинство сервисов внутри локальной сети работают по HTTP)*.
* **Forward Name/IP:** Локальный IP-адрес вашего Home Assistant (например, `192.168.1.100`).
* **Forward Port:** Порт сервиса (для HA по умолчанию `8123`).
* Включите тумблеры: **Block Common Exploits** и **Websockets Support** *(критически важно для работы Home Assistant!)*.
3. Перейдите во вкладку **SSL**:
* В выпадающем списке **SSL Certificate** выберите выпущенный ранее Wildcard-сертификат.
* Включите тумблеры: **Force SSL** (для автоматического редиректа с HTTP на HTTPS) и **HTTP/2 Support**.
4. Нажмите **Save**.
---
## Шаг 4. Настройка доверенного прокси в Home Assistant
Home Assistant по умолчанию блокирует запросы от обратных прокси-серверов в целях безопасности. Без этого шага при попытке войти через веб-интерфейс вы получите ошибку **«400: Bad Request»**.
1. Откройте конфигурационный файл Home Assistant (`configuration.yaml`).
2. Добавьте или отредактируйте следующий блок кода:
```yaml
http:
use_x_forwarded_for: true
trusted_proxies:
- 192.168.1.50 # !!! ЗАМЕНИТЕ НА РЕАЛЬНЫЙ IP-АДРЕС ВАШЕГО LXC-КОНТЕЙНЕРА С NPM !!!
```
3. Сохраните файл и **перезапустите** Home Assistant через панель разработчика или перезагрузив контейнер HA.
---
## Чек-лист проверки работоспособности
- [ ] Порты 80 и 443 проброшены на Keenetic в сторону IP NPM.
- [ ] При переходе по адресу `https://ha.yourdomain.keenetic.link` открывается окно авторизации Home Assistant.
- [ ] В адресной строке браузера горит значок «замочка» (сертификат валиден, выпущен Let's Encrypt).
- [ ] Мобильное приложение Home Assistant Companion успешно подключается снаружи по новому адресу.