Удалённый доступ к Home Assistant: VPN, Keenetic, HTTPS, облако

14 минчтения 16разделов Умный домрубрика

Пока вы дома, Home Assistant открывается по локальному адресу http://homeassistant.local:8123. Но управлять домом хочется и из офиса, и из отпуска. В этой статье разберём, как настроить удалённый доступ к Home Assistant: какие способы есть, чем они отличаются по безопасности и сложности, как настроить VPN, как организовать доступ через роутер Keenetic, как включить HTTPS и что делать, если доступ из интернета не заработал.

Удалённый доступ к Home Assistant: VPN, Keenetic, HTTPS, облако
Фото: Sergklim, CC BY-SA 4.0 / Wikimedia Commons

1Кратко: как открыть Home Assistant из интернета

  • Сначала выясните тип вашего IP-адреса: белый статический, белый динамический или серый (CGNAT). От этого зависит набор способов.
  • Самый безопасный путь — VPN в домашнюю сеть (WireGuard на роутере или в дополнении). Самый простой — платный Home Assistant Cloud.
  • Если IP серый, прямой проброс портов не сработает. Подойдут VPN или mesh-сеть, туннель вроде CloudPub, облачный режим KeenDNS у Keenetic или услуга белого IP у провайдера.
  • Если публикуете Home Assistant напрямую, обязательны HTTPS, двухфакторная аутентификация, блокировка перебора паролей и регулярные обновления.
  • Проверяйте доступ с мобильного интернета, а не из домашнего Wi-Fi.

2Главный принцип: безопасность прежде удобства

Home Assistant управляет замками, камерами, отоплением и другими устройствами, поэтому прямое публичное открытие порта 8123 без защиты — худший вариант. Ботсканеры находят такие порты быстро. Если вы всё же выбираете публикацию в интернет, обязательны HTTPS, надёжный пароль, двухфакторная аутентификация и регулярные обновления. Там, где возможно, предпочтительнее доступ через VPN или проверенное облачное решение.

Удалённый доступ к Home Assistant: VPN, Keenetic, HTTPS, облако — иллюстрация
Фото: Raimond Spekking, CC BY-SA 4.0 / Wikimedia Commons

3Способы удалённого доступа: сравнение

Способ Как работает Плюсы Минусы
Home Assistant Cloud (Nabu Casa) Платная подписка проекта: защищённый удалённый доступ без настройки роутера и открытия портов Просто, безопасно, поддерживает развитие проекта Платный сервис; доступность зависит от региона и способа оплаты
VPN-сервер (WireGuard, OpenVPN и др.) Вы подключаетесь к домашней сети по VPN и открываете Home Assistant по локальному адресу Нет публичного входа в Home Assistant, высокая безопасность Нужен VPN-сервер в роутере или на отдельном устройстве, внешний адрес и настройка клиентов
Tailscale и подобные mesh-сети Устройства объединяются в закрытую сеть без открытия портов Легко настроить, не нужен белый IP Зависимость от стороннего сервиса; доступность может зависеть от региона
Обратный прокси с HTTPS и доменом Home Assistant публикуется по адресу вида https://ваш-домен через проброс порта Удобный доступ из браузера и приложения без VPN Нужен внешний IP, домен, сертификат и аккуратная защита
Облачный DNS роутера (например, KeenDNS в Keenetic) Роутер даёт домен и помогает с доступом, в том числе без белого IP в некоторых режимах Удобно, если уже есть такой роутер Возможности зависят от модели, прошивки и режима

Для большинства пользователей оптимальны два варианта: VPN-доступ (самый безопасный) или Home Assistant Cloud (самый простой). Публикацию с доменом выбирают осознанно, когда нужен постоянный доступ без дополнительных приложений.

4Шаг 0. Подготовьте основу

  1. Закрепите локальный IP-адрес Home Assistant в роутере (резервирование DHCP), иначе проброс портов и VPN перестанут работать после смены адреса.
  2. Обновите Home Assistant и роутер.
  3. Установите надёжный пароль и включите многофакторную аутентификацию в профиле пользователя.
  4. Создайте резервную копию: «Настройки» → «Система» → «Резервные копии».
  5. Выясните, есть ли у вас внешний (публичный) IP-адрес. Сравните адрес на странице WAN в роутере с тем, что показывает сервис определения IP. Если адреса разные или адрес начинается с диапазонов вида 100.64.–100.127., у вас, вероятно, NAT провайдера (CGNAT), и прямой проброс портов работать не будет. Тогда подойдут облачные решения или услуга «белого» IP у провайдера.

5Какой способ подходит к вашему типу IP

Тип адреса Как узнать Подходящие способы
Белый статический Адрес в роутере совпадает с внешним и не меняется; услуга указана в договоре VPN на роутере, домен с HTTPS и проброс порта, Home Assistant Cloud
Белый динамический Адрес совпадает, но меняется после перезагрузки роутера или по расписанию То же, но с динамическим DNS (DuckDNS, DDNS роутера, KeenDNS)
Серый (CGNAT) Адрес в роутере в частном диапазоне или не совпадает с внешним Home Assistant Cloud, mesh-VPN (Tailscale, ZeroTier), туннельные сервисы (CloudPub, Cloudflare Tunnel), облачный режим KeenDNS, VPN через внешний сервер, услуга белого IP

Ещё один способ проверить: перезагрузите роутер и сравните внешний адрес до и после, а при сомнениях позвоните провайдеру и уточните, выдан ли вам публичный адрес и статический ли он.

6Вариант 1. Home Assistant Cloud (Nabu Casa)

Это официальный сервис проекта. Он создаёт защищённый канал, и вам не нужно открывать порты или настраивать сертификаты.

  1. Откройте «Настройки» → «Home Assistant Cloud» (в актуальных версиях пункт находится в настройках, ранее — в разделе «Конфигурация»).
  2. Создайте учётную запись или войдите в существующую и оформите подписку (стоимость и условия смотрите на официальном сайте проекта).
  3. После входа в разделе Home Assistant Cloud включите «Удалённое управление» (Remote Control).
  4. Скопируйте выданный адрес вида https://....ui.nabu.casa и используйте его в браузере и мобильном приложении.

Плюс варианта: готовый HTTPS-адрес, который можно использовать и в других интеграциях. Минус: платная подписка и зависимость от внешнего сервиса. Доступность сервиса и способы оплаты из России могут быть ограничены, учтите это заранее.

7Вариант 2. VPN для Home Assistant

Идея проста: вы подключаетесь к домашней сети по зашифрованному каналу и пользуетесь Home Assistant, как будто находитесь дома. Это самый безопасный способ, потому что Home Assistant не публикуется в интернете. VPN для Home Assistant можно организовать несколькими способами.

VPN-сервер на роутере

Многие современные роутеры умеют работать как VPN-сервер (WireGuard, OpenVPN, IPsec/IKEv2 и другие). Общий порядок такой:

  1. Включите VPN-сервер в настройках роутера.
  2. Создайте профиль или пользователя для телефона или ноутбука.
  3. Импортируйте конфигурацию в клиент (например, в приложение WireGuard на телефоне).
  4. Подключитесь к VPN вне дома и откройте http://homeassistant.local:8123 либо локальный IP-адрес, например http://192.168.1.50:8123. Если имя не открывается по VPN, используйте IP-адрес: mDNS-имена через VPN обычно не работают.

Для подключения нужен внешний адрес роутера: белый IP или доменное имя, которое указывает на него (динамический DNS).

VPN как дополнение Home Assistant

Для Home Assistant OS доступны дополнения, реализующие VPN: например, дополнения с WireGuard и Tailscale. Список и состав дополнений меняются, поэтому ищите их в «Настройки» → «Дополнения» → «Магазин дополнений» (в старых версиях — в панели Supervisor). Дополнения с WireGuard обычно требуют открыть на роутере UDP-порт, а Tailscale работает через сервис координации и не требует проброса портов. Пошаговые параметры смотрите в описании выбранного дополнения: они зависят от версии.

Что учесть при VPN

  • Клиент должен получать доступ к подсети дома (маршрут до вашей локальной сети).
  • Для мобильного приложения Home Assistant внутри VPN можно указать внутренний адрес, а во внешней сети подключаться к VPN вручную или через автоматическое подключение.
  • Не делайте VPN-сервер доступным с простыми паролями и устаревшими протоколами.

8Вариант 3. Удалённый доступ к Home Assistant через Keenetic

Роутеры Keenetic популярны в России, и у них есть набор подходящих функций. Конкретные пункты меню зависят от модели и версии KeeneticOS, поэтому ориентируйтесь на возможности, а не на точные названия.

  • VPN-сервер. В KeeneticOS доступны VPN-серверы нескольких типов (например, WireGuard). Включите нужный сервер, создайте пользователя или пир и подключитесь клиентом. Если нужного пункта нет, проверьте установленные компоненты системы в настройках обновлений: часть функций устанавливается отдельно.
  • KeenDNS. Это облачная служба, которая выдаёт роутеру доменное имя. Её можно использовать как динамический DNS для VPN или публикации. В некоторых режимах доступ возможен и при отсутствии белого IP: роутер может работать через облачный посредник, но возможности и ограничения нужно проверять в описании услуги для вашей модели.
  • Проброс порта. Если вы публикуете Home Assistant, в разделе правил для портов создайте перенаправление внешнего порта на локальный IP Home Assistant и порт 8123. Это самый рискованный вариант, и сочетать его нужно с HTTPS и защитой от перебора паролей.

Практический совет: для Keenetic проще всего начать с VPN (WireGuard) и использовать KeenDNS как постоянный адрес роутера. Тогда в Home Assistant ничего публиковать не придётся.

Важно различать режимы KeenDNS. В режиме Direct (прямой доступ) роутер должен иметь белый IP-адрес. Облачный режим (Cloud) работает через серверы Keenetic и подходит для серого IP, но возможности зависят от модели и версии прошивки, поэтому уточните их в справке производителя.

9Вариант 4. Публикация с доменом и HTTPS

Если вы осознанно выбираете прямой доступ из интернета, нужны постоянный адрес, сертификат и настройка прокси. Общая схема:

  1. Получите доменное имя либо бесплатный динамический домен, который указывает на ваш внешний IP.
  2. Для автоматического обновления адреса используйте дополнение динамического DNS (например, DuckDNS в магазине дополнений) или функцию роутера.
  3. Выпустите сертификат Let’s Encrypt. Для Home Assistant OS есть готовые дополнения: DuckDNS умеет получать сертификаты, а дополнение NGINX Home Assistant SSL proxy настраивает проксирование с HTTPS.
  4. На роутере пробросьте внешний порт 443 на порт HTTPS-прокси (или порт 8123, если Home Assistant сам обслуживает HTTPS).
  5. Откройте https://ваш-домен извне и проверьте, что браузер не показывает предупреждение о сертификате.

10Вариант 5. Если нет белого IP: туннели и mesh-сети

Эти способы не требуют проброса портов: Home Assistant сам устанавливает исходящее соединение.

  • CloudPub. Российский туннельный сервис с неофициальным дополнением для Home Assistant OS (его делает сторонний автор). Бесплатный тариф покрывает HTTP/HTTPS-доступ, другие протоколы требуют платного плана. После установки дополнения в «Настройки» → «Система» → «Сеть» включите доверие к заголовкам прокси и добавьте подсеть дополнения 172.30.33.0/24, затем введите API-ключ из личного кабинета сервиса и посмотрите публичный адрес в журнале дополнения. Условия, тарифы и работа сервиса от автора дополнения не зависят, поэтому проверяйте их на официальных страницах.
  • Cloudflare Tunnel. Туннель через сервис Cloudflare; нужен свой домен и аккаунт, а доступность и поведение сервиса из России стоит проверить заранее.
  • Tailscale и ZeroTier. Mesh-сети: устанавливаете дополнение в Home Assistant и клиент на телефон, после чего доступ идёт по закрытой сети. Нужна учётная запись в сервисе и авторизация устройств в панели управления.
  • Свой внешний сервер. Арендованный сервер с белым IP и туннель до дома (SSH или WireGuard): гибко, но требует администрирования.

Любое из этих решений зависит от стороннего сервиса. Если сервис закроют или изменят условия, доступ пропадёт, поэтому держите запасной способ и резервные копии.

11Как настроить HTTPS в Home Assistant

Для настройки HTTPS в Home Assistant есть два основных подхода.

HTTPS на стороне прокси

Рекомендуемый вариант: HTTPS обслуживает обратный прокси (NGINX-дополнение, Nginx Proxy Manager или внешний сервер), а сам Home Assistant остаётся на HTTP во внутренней сети. Тогда ему нужно сообщить, что прокси надёжен. В configuration.yaml добавьте раздел http:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24

Подсеть 172.30.33.0/24 относится к дополнению NGINX Home Assistant SSL proxy в Home Assistant OS. Если прокси стоит на другом компьютере, укажите его IP-адрес. Без правильного trusted_proxies Home Assistant будет отвечать ошибкой «400: Bad Request» на запросы через прокси. После изменения файла проверьте конфигурацию и перезапустите Home Assistant.

HTTPS прямо в Home Assistant

Можно указать сертификат и ключ в том же разделе http:

http:
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

Пути зависят от того, как и где вы получили сертификат. После этого Home Assistant начнёт работать по HTTPS, а адрес с http:// перестанет открываться — обновите адреса в мобильном приложении.

Внешний и внутренний адрес

Укажите адреса в настройках сети: «Настройки» → «Система» → «Сеть» (в старых версиях — «Конфигурация» → «Общие»). Заполните внешний адрес (ваш HTTPS-адрес) и внутренний (локальный IP или имя). Это нужно для корректных ссылок, уведомлений и некоторых интеграций.

12Защита, если Home Assistant виден из интернета

  • Включите двухфакторную аутентификацию для всех пользователей.
  • Не используйте простой пароль и стандартное имя пользователя admin.
  • Включите блокировку неудачных попыток входа: в разделе http можно указать ip_ban_enabled: true и login_attempts_threshold с нужным числом попыток.
  • Не публикуйте в интернет дополнения (файловый редактор, терминал) отдельными портами.
  • Следите за обновлениями Home Assistant и дополнений, читайте уведомления безопасности.
  • Периодически просматривайте журнал входов и список подключённых устройств в профиле.
  • Не открывайте наружу SSH и терминальные дополнения: они нужны для администрирования внутри сети или через VPN, а пароль для них должен быть сильным.
  • Не раздавайте внешний доступ посторонним и используйте отдельные учётные записи для членов семьи.

Чек-лист перед публикацией в интернет

  1. Обновлены Home Assistant, дополнения и роутер.
  2. Включена многофакторная аутентификация, лишние учётные записи удалены.
  3. Настроен HTTPS с корректным сертификатом.
  4. Включена блокировка IP после неудачных входов.
  5. Есть свежая резервная копия вне самого сервера.
  6. Открыт только нужный порт, а не весь диапазон.

13Типичные ошибки и проблемы

Проблема Причина и решение
Адрес из интернета не открывается Проверьте наличие внешнего IP (не CGNAT), правильность проброса порта, закрепление локального IP и работу доменного имени
Ошибка «400: Bad Request» через прокси Не заданы use_x_forwarded_for и trusted_proxies в разделе http либо указан неверный адрес прокси
Браузер ругается на сертификат Сертификат просрочен, выдан на другое имя или не содержит цепочки. Пересоздайте сертификат для вашего домена
Дома работает, снаружи нет, или наоборот Проверьте внутренний и внешний адреса в настройках сети и адреса в мобильном приложении. Если домен указывает на внешний IP, дома может понадобиться «hairpin NAT» или локальный адрес
VPN подключается, но Home Assistant не открывается Нет маршрута в домашнюю подсеть или используется имя homeassistant.local; откройте по IP-адресу
Через CloudPub или другой туннель получаете «400: Bad Request» Не включено доверие к заголовкам прокси или не добавлена подсеть дополнения в настройках сети (для CloudPub — 172.30.33.0/24)
Mesh-VPN подключён, но Home Assistant не виден Не авторизовано устройство в панели сервиса или не настроены маршруты до нужного адреса
Адрес перестал работать через время У провайдера сменился внешний IP: используйте динамический DNS
Сервис доступа недоступен из вашего региона Работа некоторых облачных сервисов зависит от региона и провайдера; в таких случаях выбирайте собственный VPN-сервер или другое решение
Мобильное приложение теряет соединение Проверьте адреса в настройках приложения и разрешения на работу в фоне и геолокацию

14Какой вариант выбрать

  • Хотите максимум безопасности и готовы немного повозиться: VPN-сервер на роутере (например, WireGuard).
  • Нужна простота и есть возможность оплатить: Home Assistant Cloud.
  • Нет белого IP: облачные решения или услуга внешнего адреса у провайдера.
  • Нужен доступ по прямой ссылке для приложения и интеграций: домен, HTTPS и аккуратная защита, понимая риски.

15Проверка доступа и настройка мобильного приложения

Любой способ удалённого доступа нужно проверять так, как им будете пользоваться. Отключите Wi-Fi на телефоне, включите мобильный интернет и проверьте:

  1. открывается ли внешний адрес или работает ли VPN-подключение;
  2. проходит ли вход в Home Assistant с двухфакторной аутентификацией;
  3. работают ли уведомления и данные геолокации в мобильном приложении;
  4. нет ли предупреждений о сертификате.

В мобильном приложении Home Assistant можно указать несколько адресов: внутренний (для домашней сети) и внешний. В актуальных версиях это раздел настроек приложения «Серверы и сети»; в старых он назывался иначе. Приложение само выбирает адрес в зависимости от того, подключён ли телефон к указанной домашней сети Wi-Fi. Следите, чтобы название Wi-Fi сети в настройках приложения совпадало с реальным.

Динамический DNS и смена внешнего IP

Если провайдер выдаёт динамический внешний IP, он может меняться при перезагрузке роутера или по расписанию. Чтобы адрес оставался доступным, используйте динамический DNS: он обновляет запись домена при изменении IP. Дополнение для динамического DNS в Home Assistant OS работает только пока работает сам Home Assistant, а функция DDNS в роутере действует, пока включён роутер. Для VPN-сервера на роутере логичнее использовать именно DDNS роутера.

Что делать, если провайдер не даёт внешний адрес

Вариантов несколько: подключить у провайдера услугу выделенного внешнего адреса, использовать облачный доступ Home Assistant Cloud либо mesh-VPN, который не требует входящих подключений. Ещё один путь — арендовать небольшой внешний сервер и построить через него туннель, но это уже сложная конфигурация, и для домашнего использования её стоит применять только при уверенности в своих силах.

Ограничение доступа по спискам

Если у вас публичный адрес, можно дополнительно ограничить круг клиентов на уровне прокси или файрвола: разрешить доступ только из определённых сетей или использовать клиентские сертификаты. Это снижает риск автоматического сканирования. Для обычного дома достаточно VPN или Home Assistant Cloud, а сложные схемы нужны далеко не всем.

16Итог

Удалённый доступ к Home Assistant можно организовать несколькими способами: через платный Home Assistant Cloud, через VPN-сервер на роутере или в дополнении, а также через публикацию с доменом и HTTPS. Начните с проверки, есть ли у вас белый IP, закрепите адрес устройства и включите двухфакторную аутентификацию. Самый надёжный путь — VPN, самый простой — Home Assistant Cloud, а прямой доступ из интернета требует HTTPS и дисциплины в обновлениях. После настройки проверьте доступ с мобильного интернета, а не из домашнего Wi-Fi.

Вопросы и ответы

Как узнать, серый у меня IP-адрес или белый?

Сравните адрес в разделе WAN роутера с внешним адресом, который показывает сервис определения IP. Если адреса разные или адрес в роутере из частного диапазона, у вас, скорее всего, серый IP. Точный ответ даст провайдер.

Можно ли получить удалённый доступ к Home Assistant бесплатно?

Да: VPN на своём роутере, Tailscale и ZeroTier в бесплатных тарифах, DuckDNS и туннельные сервисы с бесплатным тарифом. У каждого свои ограничения и зависимость от стороннего сервиса, а платный Home Assistant Cloud поддерживает проект.

Безопасно ли держать порт 8123 открытым?

Нет, если он открыт без HTTPS и защиты. Такие порты быстро находят сканеры. Либо используйте VPN, либо публикуйте только через прокси с HTTPS, двухфакторной аутентификацией и блокировкой перебора.

Как мобильное приложение Home Assistant подключается снаружи?

В настройках приложения задаются внутренний и внешний адреса. Дома оно использует внутренний, вне дома — внешний. Через VPN можно оставить только внутренний адрес.

В чём разница между режимами Direct и Cloud в KeenDNS?

Direct требует белого IP и подключает вас напрямую к роутеру, Cloud идёт через серверы Keenetic и нужен при сером IP. Возможности зависят от модели и прошивки.

Нужно ли держать VPN включённым на телефоне постоянно?

Только когда вам нужен Home Assistant вне дома. Но если вы хотите, чтобы приложение передавало геолокацию и данные датчиков в фоне, подумайте о внешнем адресе или постоянном VPN-подключении.

Остались вопросы?

Задайте свой — после модерации он появится на форуме, ответить сможет редакция и другие читатели.

Войдите, чтобы задать вопрос или ответить другим.