Ваш Home Assistant живёт на http://homeassistant.local:8123, Grafana — на :3000, и оба застряли в домашней сети. Вы хотите открыть их в браузере с работы, с телефона или дать кому-то доступ — не превращая роутер в поверхность для атаки. Вот пять способов это сделать, во что каждый реально обходится и пошаговая инструкция для варианта «только по приглашению».
Почему бы просто не пробросить 8123 или 3000
Проброс порта на роутере выставляет страницу входа — а иногда и открытую панель — перед каждым ботом в интернете. Home Assistant и Grafana, как только их находят, непрерывно прощупывают, и достаточно переиспользованного пароля или незакрытой CVE. А carrier-grade NAT (частый на домашнем оптоволокне и 4G/5G) нередко и вовсе не даёт пробросить порт. Каждый вариант ниже существует ради того, чтобы обойтись без этого единственного открытого порта.
Пять вариантов
| Вариант | Публичный URL? | На устройстве того, кто смотрит | Работает не только с HA? | Стоимость |
|---|---|---|---|---|
| Nabu Casa (HA Cloud) | Да, ваш собственный поддомен | Ничего | Нет — только Home Assistant | Подписка |
| Cloudflare Tunnel | Публично или с проверкой Access | Ничего или вход через Access | Да | Есть бесплатный тариф; нужен домен |
| Tailscale / WireGuard | Нет — приватная mesh-сеть | VPN-клиент, везде | Да | Есть бесплатный тариф |
| Обратный прокси + проброс порта | Да — в интернете | Ничего | Да | Ваше время + выставление наружу |
| Внутренний сайт Termalin | Нет — приглашение по email | Только браузер | Да | Тариф Pro |
Nabu Casa — официальное облако Home Assistant. Это самый гладкий путь для Home Assistant: удалённый интерфейс, стабильный URL, и он финансирует проект, — но он покрывает только Home Assistant, а не вашу Grafana или Portainer.
Cloudflare Tunnel (cloudflared) идёт наружу из демона в вашей локальной сети, поэтому порт не открывается. Это мощно и есть бесплатный тариф, но чтобы панель осталась частной, нужно владеть доменом и поставить перед ним политику Cloudflare Access; без неё имя хоста — публичный URL, по которому может зайти любой.
Tailscale или WireGuard строит приватную mesh-сеть — наружу ничего не выставлено, и это отлично для ваших собственных устройств. Подвох: каждый, кто подключается, ставит и входит в VPN-клиент, а это трудно продать члену семьи или разовому гостю.
Обратный прокси с проброшенным портом (nginx, Caddy, Traefik) даёт чистый HTTPS, но вы всё равно публикуете сервис в интернет и сами отвечаете за каждый патч и за аутентификацию.
Внутренний сайт Termalin стоит особняком: публичного URL нет вообще, и на стороне того, кто смотрит, никакого клиента. Connector в вашей локальной сети идёт наружу, и панель открывается по частному адресу вида https://<10 символов>.termal.ink — для вас и для тех, кого вы пригласите по email. Это самый быстрый способ дать одну панель конкретному человеку. Компромиссы честные: нужен тариф Pro, есть мягкий лимит 5 ГБ в день на ссылку и нет постоянной публичной ссылки — плюс, если вам нужна приватность, и ограничение, если вам нужна публичная страница статуса.
Пошагово с Connector
Это работает для Home Assistant, Grafana, Portainer, Proxmox — для чего угодно с веб-интерфейсом в вашей сети, потому что WebSocket проходят насквозь, так что живые обновления HA и живые панели Grafana ведут себя так же, как в локальной сети.
- Установите Connector на машину с Home Assistant или на любую постоянно включённую машину в той же сети — Raspberry Pi, NAS, небольшой VPS в локальной сети. Одна строка из «Получить команду установки» в кабинете; он идёт наружу и никогда не слушает.
- Добавьте сайт. В веб-кабинете откройте карточку «Внутренние сайты» (рядом с «Резервными копиями») → «Добавить сайт». Выберите Connector и введите адрес таким, каким его видит эта машина:
http://localhost:8123, если Connector на хосте с HA, илиhttp://10.0.0.5:8123с другой машины. Отметьте «Внутренний сайт использует https», если ваша панель отдаёт TLS (самоподписанный сертификат — не проблема). - Добавьте и откройте. Панель откроется в новой вкладке по своему адресу на
termal.ink. Вход на неё действует 12 часов; сам по себе адрес никого больше не впускает.
Разрешены только частные адреса — localhost, 10.x, 172.16–31.x, 192.168.x, link-local, 100.64/10 у Tailscale, IPv6 ULA — а публичный адрес отклоняется по умолчанию.
Поделиться с членом семьи на 7 дней
В кабинете поделитесь сайтом с одним email на 24 часа или 7 дней (до 25 человек на ссылку одновременно; повторный доступ продлевает срок). Человек получает письмо-приглашение и входит по 6-значному коду — аккаунт Termalin создавать не нужно. Он видит только эту одну панель, и когда доступ истекает, его сессия завершается. Вы можете «Убрать» одного человека или «Выключить» ссылку целиком, и каждое открытие попадает в журнал активности сайта. Для общего доступа нужен платный тариф; на пробном периоде сайты можно открывать, но не делиться ими.
Когда выбрать что-то другое
- Только Home Assistant и без лишних хлопот → Nabu Casa, заодно поддержите проект.
- У вас есть домен и нужен долговечный, возможно публичный URL → Cloudflare Tunnel с политикой Access.
- Подключаетесь только вы, со своих устройств → Tailscale или WireGuard.
- Одна-две панели для поимённо названных людей, ничего не выставлено наружу → внутренний сайт Termalin.
Про SSH-сторону домашней лаборатории за NAT см. SSH за NAT без проброса портов и SSH на домашний NAS или сервер.