Удалённый доступ к Home Assistant: Cloud, VPN или reverse proxy
Сравниваем три безопасных способа открыть Home Assistant из интернета: Home Assistant Cloud, VPN через Tailscale или ZeroTier и reverse proxy с HTTPS. Без прямого проброса порта 8123.
Home Assistant по умолчанию доступен только из домашней сети. Это правильная отправная точка: прежде чем открывать управление домом наружу, нужно выбрать способ доступа и понять, кто завершает HTTPS, где проходит трафик и что произойдёт при отказе интернета.
Для большинства установок есть три разумных варианта: Home Assistant Cloud, VPN и reverse proxy. Прямой проброс TCP-порта 8123 без TLS и дополнительной защиты в этот список не входит.
Короткий выбор
| Способ | Подходит, если | Главное ограничение |
|---|---|---|
| Home Assistant Cloud | Нужен самый простой вариант без настройки роутера | Платная подписка и зависимость удалённого доступа от сервиса |
| VPN | Нужен доступ ко всей домашней сети без публикации HA | На телефоне должен быть активен VPN |
| Reverse proxy | Есть домен, HTTPS и опыт администрирования | Сервис становится публичной точкой в интернете |
Если сомневаетесь, начните с Cloud или VPN. Reverse proxy стоит выбирать не ради красивого адреса, а когда вы готовы обновлять прокси, сертификаты и Home Assistant и следить за журналами.
Вариант 1: Home Assistant Cloud
Home Assistant Cloud создаёт внешний адрес без проброса портов. В интерфейсе откройте «Настройки → Home Assistant Cloud → Удалённый доступ» и включите подключение. Приложение может использовать выданный адрес автоматически.
Плюс такого варианта — минимум сетевых настроек. Не нужно разбираться с белым IPv4, CG-NAT, DDNS и выпуском сертификата. Трафик шифруется, а подписка поддерживает разработку Home Assistant.
Проверьте доступ с мобильного интернета, а не из домашнего Wi‑Fi. Затем включите многофакторную аутентификацию для учётной записи и создайте отдельные аккаунты пользователям дома. Не раздавайте пароль администратора всем членам семьи.
Вариант 2: VPN через Tailscale или ZeroTier
VPN не публикует Home Assistant как обычный сайт. Телефон входит в приватную сеть и обращается к локальному адресу HA. Этот подход удобен, когда нужен доступ не только к панели, но и к NAS, роутеру или другим внутренним сервисам.
Tailscale и ZeroTier работают через исходящие соединения и обычно обходятся без ручного проброса порта. Установить клиент можно на хост Home Assistant, отдельный сервер или маршрутизатор. Если VPN работает на OpenWrt как subnet router, используйте инструкцию по Tailscale на OpenWrt.
Что проверить
- Телефон видит VPN-адрес сервера.
- Открывается локальный URL Home Assistant.
- Companion App использует правильный внешний адрес.
- После перезагрузки VPN поднимается автоматически.
- В ACL разрешён только нужный доступ.
Если интерфейс открывается в браузере, но датчики телефона не обновляются, проверьте, активен ли VPN в фоновом режиме и разрешена ли работа приложения без ограничений энергосбережения.
Вариант 3: reverse proxy с HTTPS
Reverse proxy принимает внешний HTTPS-запрос и передаёт его Home Assistant внутри сети. Для этого подходят Nginx Proxy Manager, Caddy или обычный Nginx. Пример установки прокси есть в материале про Nginx Proxy Manager в Docker.
Нужны домен, сертификат и корректная передача WebSocket. В Home Assistant следует доверять только адресу своего прокси, а не всей локальной сети:
http:
use_x_forwarded_for: true
trusted_proxies:
- 172.18.0.5
Адрес в примере условный. Подставьте фактический IP контейнера или хоста прокси. Диапазон 0.0.0.0/0 или слишком широкая подсеть превращают защиту заголовка X-Forwarded-For в формальность.
Минимальная схема
- DNS-запись домена указывает на ваш внешний адрес.
- Роутер направляет HTTPS к reverse proxy.
- Прокси имеет действующий сертификат.
- Upstream ведёт на Home Assistant по локальному адресу.
- WebSocket разрешён.
- Home Assistant доверяет только прокси.
Если провайдер использует CG-NAT, входящий порт недоступен даже при правильном правиле на роутере. Сравните внешний адрес роутера с адресом, который видит интернет. Несовпадение само по себе не всегда доказывает CG-NAT, но это повод уточнить схему у провайдера.
Почему не стоит открывать 8123 напрямую
Проброс порта вида 8123 → 8123 делает Home Assistant доступным из интернета. Если при этом используется HTTP, логин и сессия идут без корректной TLS-защиты. Даже с HTTPS остаётся публичная точка, которую нужно обновлять и мониторить.
Смена внешнего порта не является защитой. Она уменьшает часть случайного шума в журнале, но не заменяет TLS, сильные пароли, MFA и обновления.
Настройте адреса в Home Assistant
Откройте «Настройки → Система → Сеть». Укажите внутренний URL для домашней сети и внешний URL выбранного способа. Для Cloud можно использовать адрес Nabu Casa. Для VPN иногда достаточно внутреннего адреса, доступного через приватную сеть.
В Companion App проверьте внутренний и внешний адреса отдельно. Ошибка сертификата, петля переадресации или неправильное имя домена часто проявляются только при переключении с Wi‑Fi на мобильную сеть.
Базовая защита учётных записей
- Включите многофакторную аутентификацию.
- Создайте отдельного пользователя без прав администратора для повседневного доступа.
- Удалите старые токены и неизвестные сессии.
- Регулярно обновляйте Home Assistant и прокси.
- Не публикуйте резервные копии и конфигурацию.
Перед изменениями сделайте резервную копию. На сайте есть отдельный порядок резервного копирования Home Assistant.
Проверка снаружи
- Отключите Wi‑Fi на телефоне.
- Откройте внешний адрес.
- Проверьте сертификат и имя домена.
- Выполните вход обычным пользователем.
- Откройте историю, камеру или панель с WebSocket-обновлениями.
- Перезапустите прокси или VPN и убедитесь, что доступ восстанавливается.
Как выбрать вариант для Companion App
Мобильное приложение может использовать разные адреса дома и снаружи. Для Cloud внешний адрес выдаёт сервис. При VPN обычно указывают локальный или приватный VPN-адрес. Для reverse proxy используется доменное имя с HTTPS. После изменения очистите старый внешний URL в приложении и проверьте повторный вход.
Если дома внешний домен не открывается, а через мобильную сеть работает, проблема может быть в hairpin NAT или локальном DNS. Не создавайте второй публичный порт. Настройте локальное разрешение имени на внутренний адрес либо используйте внутренний URL приложения.
Что проверять в reverse proxy
Прокси должен передавать заголовки Host, X-Forwarded-For и X-Forwarded-Proto, а также поддерживать WebSocket. Ошибка обычного запроса часто видна сразу, а неправильный WebSocket проявляется как зависшие состояния и периодические переподключения интерфейса.
Не включайте кэширование HTML и API Home Assistant. CDN перед панелью добавляет ещё один уровень, который нужно настраивать и обновлять. Для домашней установки прямой HTTPS через свой reverse proxy обычно проще для диагностики.
Как проверить VPN без самообмана
Выключите Wi‑Fi, подключите VPN и сначала проверьте его адрес или статус. Затем откройте Home Assistant по тому же адресу, который использует приложение. Если доступ есть только при открытом экране VPN-клиента, проверьте разрешение фоновой работы и режим энергосбережения телефона.
При использовании subnet router ограничьте маршруты нужной домашней подсетью. Не публикуйте через VPN маршрут по умолчанию, если вам не нужен полный exit node. В ACL оставьте доступ только тем пользователям и устройствам, которым действительно требуется управление домом.
Home Assistant Cloud выигрывает простотой, VPN — минимальной внешней поверхностью, reverse proxy — гибкостью. Выбирайте по уровню администрирования, а не по количеству шагов в чужой инструкции.
Понравилась статья?
Поставьте лайк и сохраните полезный материал в закладки.