Связка home assistant keenetic — один из самых простых способов получить доступ к умному дому из любой точки без подписки Nabu Casa. Роутеры Keenetic умеют сервис KeenDNS: он выдаёт личное доменное имя, выпускает сертификат для HTTPS и пропускает трафик к Home Assistant, даже если у провайдера «серый» IP-адрес. Рассмотрим настройку по шагам, нужные параметры в конфигурации Home Assistant и вопросы безопасности.
1Какие есть способы удалённого доступа
| Способ | Плюсы | Минусы |
|---|---|---|
| KeenDNS на Keenetic | Бесплатное доменное имя, HTTPS-сертификат, работает и за «серым» IP через облачный режим | Нужен роутер Keenetic с поддержкой KeenDNS |
| VPN (WireGuard на роутере) | Самый безопасный, наружу не открывается ничего | Нужно включать VPN на телефоне |
| DuckDNS + проброс порта | Бесплатно, работает на любом роутере | Нужен «белый» IP, самостоятельный сертификат |
| Nabu Casa | Готово «из коробки» | Платная подписка; из России оплата картами российских банков затруднена |
Если вы за CGNAT и без «белого» IP, в Keenetic доступен облачный режим KeenDNS, при котором трафик идёт через серверы Keenetic. Он подходит именно для веб-интерфейса и приложения.
2Home Assistant Keenetic: настройка KeenDNS
- Откройте веб-интерфейс роутера (
my.keenetic.netили адрес192.168.1.1). - Перейдите в раздел «Сетевые правила» → «Доменное имя» (в зависимости от версии KeenOS пункт может называться «Интернет» → «Доменное имя») и найдите блок KeenDNS.
- Нажмите «Зарегистрировать» и придумайте имя. Результат — адрес вида
имя.keenetic.pro(список доступных доменов зависит от прошивки). - Выберите режим: «Прямой доступ» при белом IP или «Облачный» при серой адресации. Роутер подскажет, какой режим доступен.
- Включите HTTPS-сертификат Let’s Encrypt для вашего имени. Роутер выпустит и будет обновлять его сам.
- Сохраните настройки и убедитесь, что имя резолвится: откройте его с мобильного интернета.
3Пробрасываем доступ к Home Assistant
- В веб-интерфейсе Keenetic откройте «Список устройств» и найдите сервер Home Assistant. Зафиксируйте ему постоянный IP-адрес (кнопка «Постоянный IP-адрес» в карточке устройства), чтобы адрес не менялся после перезагрузки.
- В настройках KeenDNS (или в карточке устройства) разрешите доступ к нему из интернета и добавьте правило для сервера Home Assistant: порт
8123, протокол TCP. - Если используется прямой режим с белым IP, убедитесь, что на роутере нет блокировки входящих соединений от провайдера, и что внешний порт 443 свободен для HTTPS.
- Проверьте адрес снаружи:
https://имя.keenetic.proдолжен открыть страницу входа Home Assistant.
Точные названия пунктов отличаются между версиями KeenOS, поэтому ориентируйтесь на смысл: нужно зарегистрировать имя KeenDNS, разрешить доступ из интернета к устройству и направить его на порт 8123 вашего сервера.
4Настройка Home Assistant за прокси
Роутер выступает обратным прокси, а Home Assistant по умолчанию такие запросы отклоняет с ошибкой «400 Bad Request». Нужно явно разрешить прокси в configuration.yaml:
http:
use_x_forwarded_for: true
trusted_proxies:
- 192.168.1.1
ip_ban_enabled: true
login_attempts_threshold: 5
Замените 192.168.1.1 на LAN-адрес вашего Keenetic. Если вы пользуетесь облачным режимом и ошибка остаётся, посмотрите в журнал Home Assistant: там указан адрес, с которого пришёл запрос, и его нужно добавить в trusted_proxies. После правки перезапустите Home Assistant полностью (не только перезагрузку YAML).
Параметры ip_ban_enabled и login_attempts_threshold включают автоматическую блокировку адресов после нескольких неудачных попыток входа.
5Мобильное приложение и внешний URL
- Откройте «Настройки» → «Система» → «Сеть» в Home Assistant и в поле «Внешний URL» укажите
https://имя.keenetic.pro. - В приложении: «Настройки» → «Приложение-компаньон» → ваш сервер → «Внешний URL». Добавьте адрес KeenDNS, а во внутренний URL — локальный адрес
http://192.168.1.50:8123(подставьте свой). - Задайте имя домашней Wi‑Fi-сети в настройках, чтобы дома приложение использовало локальный адрес, а вне дома — внешний.
Если вы хотите, чтобы всё работало без возни с проксированием, закажите настройку Home Assistant под ключ: удалённый доступ и безопасность настраиваются в комплексе.
Если снаружи не открывается: быстрая диагностика
- Проверьте адрес с мобильного интернета, а не из домашней Wi‑Fi-сети: некоторые роутеры не поддерживают обращение к собственному внешнему имени изнутри (hairpin NAT), и проверка дома может ввести в заблуждение.
- Убедитесь, что роутер видит интернет и KeenDNS в разделе имени показывает статус «Доступно».
- Откройте локальный адрес
http://IP:8123и проверьте, что Home Assistant вообще отвечает. - Если страница входа открывается, но приложение не подключается, проверьте поле «Внешний URL» (нужен именно https и без порта, если используется стандартный 443).
- Изучите журнал Home Assistant: записи о блокировке адреса или отказе от прокси подскажут, какой именно параметр не сработал.
Обратите внимание на ограничения провайдеров. Некоторые операторы блокируют входящие соединения на стандартные порты для домашних абонентов. Если на 443 порту соединение не проходит, а в облачном режиме всё работает, значит, дело именно в провайдере.
6Безопасность удалённого доступа
- Включите многофакторную аутентификацию в профиле пользователя («Профиль» → «Многофакторная аутентификация»).
- Используйте длинный уникальный пароль и не оставляйте учётную запись с правами администратора для повседневного входа.
- Следите за обновлениями Home Assistant: в открытый интернет безопасно выставлять только актуальные версии.
- Не пробрасывайте наружу порты других сервисов (SSH, Samba, MQTT).
- Если безопасность важнее удобства, используйте WireGuard на самом роутере: доступ к Home Assistant тогда идёт только через VPN, и публичный адрес не нужен.
Для включения WireGuard в Keenetic достаточно активировать соответствующий компонент и создать подключение в разделе «Другие подключения», а затем экспортировать конфигурацию в клиент на телефоне.
Запасной вариант: DuckDNS и собственный сертификат
Если у вас белый IP и вы не хотите зависеть от KeenDNS, можно использовать дополнение DuckDNS. Зарегистрируйте имя на duckdns.org, установите дополнение и вставьте в него данные:
domains:
- mydomain.duckdns.org
token: "ваш_токен_duckdns"
aliases: []
lets_encrypt:
accept_terms: true
algo: secp256r1
certfile: fullchain.pem
keyfile: privkey.pem
Затем включите HTTPS в самом Home Assistant и пробросьте на роутере внешний порт 443 на порт 8123 сервера:
http:
ssl_certificate: /ssl/fullchain.pem
ssl_key: /ssl/privkey.pem
После этого внутренний адрес тоже будет работать только по https://, и в приложении его придётся поменять. Если вы пользуетесь KeenDNS с HTTPS на стороне роутера, блок ssl_certificate не нужен: сертификат обслуживает роутер, а внутри сети Home Assistant остаётся на обычном http.
Чего не стоит делать при открытом доступе
- Не оставляйте пользователя по умолчанию с простым паролем и не используйте один пароль для разных сервисов.
- Не пробрасывайте порт 8123 напрямую на публичный адрес без HTTPS.
- Не публикуйте адрес KeenDNS в открытых чатах и скриншотах: чем меньше людей знают адрес, тем меньше автоматических сканирований.
- Не откладывайте обновления: уязвимости в публичных сервисах закрываются регулярно.
- Не забывайте проверять журнал входа: в профиле пользователя можно увидеть последние сессии и отозвать лишние токены.
Если что-то пошло не так и доступ нужно срочно закрыть, достаточно отключить правило доступа на роутере: локальная работа Home Assistant при этом не пострадает.
7Частые вопросы
Почему открывается ошибка 400?
Это почти всегда отсутствие use_x_forwarded_for и trusted_proxies в разделе http. Добавьте адрес роутера и перезапустите систему.
Что делать, если у провайдера серый IP?
Используйте облачный режим KeenDNS либо VPN-решения. Классический проброс портов в такой ситуации работать не будет.
Можно ли использовать DuckDNS вместо KeenDNS?
Да. Установите дополнение DuckDNS, получите сертификат Let’s Encrypt и пробросьте порт на роутере. Однако это требует белого IP, а KeenDNS проще и стабильнее на роутерах Keenetic.
8Итог
Отдельно про Nabu Casa. Подписка очень удобна, но из-за ограничений по оплате российскими картами многие выбирают именно KeenDNS или VPN: это бесплатно и полностью под вашим контролем. Минус только один — вы сами отвечаете за обновления и безопасность.
На роутере Keenetic удалённый доступ настраивается за 15 минут: имя KeenDNS, HTTPS, доступ к порту 8123 и корректный блок http в конфигурации. Для максимальной безопасности добавьте двухфакторную аутентификацию или перейдите на WireGuard.



