Блог

Как проверить настройку внешнего доступа в Home Assistant

Рассмотрим вариант публичного доступа, когда у вас белый IP-адрес.

Про саму настройку внешнего доступа есть другие статьи. Эта статья описывает шаги, что проверить, когда что-то пошло не так.

Рекомендуемые опции при настройке внешнего доступа:

  • установка прокси-сервера (желательно Caddy)
  • использование обязательного HTTPS (будет, если вы выбрали Caddy)
  • включение двухфакторной авторизации

Некоторые провайдеры выдают белый/серый адрес через раз при каждом переподключении роутера.

Проверка белого IP-адреса

Сперва, нужно проверить, выдаёт ли ваш провайдер белый IP-адрес. Статический или динамически, не важно.

Свой публичный IP-адрес можно посмотреть тут: https://2ip.ru/

Вот он должен повторяться где-то в настройках вашего роутера. Если вместо него там другие цифры - скорее всего у вас серый IP-адрес. Там так же могут встретиться ваши локальные IP-адреса и IP-адрес DNS. Их важно не спутать.

Проверка проброса портов

Затем проверим, правильно ли прокинуты порты.

В зависимости от выбранной инструкции вы:

либо установили прокси-сервер (Caddy или Nginx) и должны проверить порты 80 и 443 (рекомендуется Caddy, как самый простой вариант)либо прокинули порт Home Assistant напрямую и должны проверить порт 8123 (не рекомендуется так делать вообще)

Открытые порты проверяем на том же сервисе https://2ip.ru/check-port/

Важный момент! Аддон Caddy не запустится, если есть проблемы с белым IP, пробросом портов или настройкой доменного имени. Если прокси-сервер не запущен, то его порты проверку не пройдут, даже если на роутере всё настроено верно. Поэтому вам нужно временно пробросить порт 8123 до самого Home Assistant и проверять именно его на доступность. После настройки прокси-сервера проброс этого порта нужно обязательно отключить.

Проверка сертификата

Чтоб проверить сертификат, можно использовать этот сервис: https://validator.w3.org/

Вводите туда свой публичный адрес, например https://myhome.duckdns.org/ и смотрите на результат. Замените на своё доменное имя и добавьте порт, если не установили прокси-сервер.

Если там будет ошибка: 500 Can't connect to myhome.duckdns.org:443 (certificate verify failed)

Значит, у вас проблемы с сертификатом.

Если там будет ошибка: 500 Can't connect to myhome.duckdns.org:8123 (Connection refused)

Значит проблемы с прокидыванием порта.

Если там ошибка: 500 Can't connect to myhome1.duckdns.org:443 (Name or service not known)

Значит неверно указано доменное имя.

Проверка умного дома Яндекса

У вас уже должен быть установлен и настроен компонент умного дома Яндекса в Home Assistant. Настройка его в Яндексе на этом этапе не обязательна.

Снова используем сервис https://validator.w3.org/ и вводим туда такой адрес:

https://myhome.duckdns.org/api/yandex_smart_home/v1.0/user/devices

Замените на своё доменное имя и добавьте порт, если не установили прокси-сервер.

Если там будет "Authorization Required", значит внешний доступ для Яндекса настроен правильно!

Если там ошибка 404 Not Found, значит компонент не настроен/запущен.


В очередной раз AlexxxIT меня спасает, а я не благодарил ни разу) нормально работал внешний доступ, а потом перестал. Перечитал тонны мануалов и нигде не было написано как проверить белый ip или нет. Цифры предлагали сравнивать. Белые начинаются с таких-то, а серые с других. И везде эти цифры были разные. Проблема оказалось в том, что мой провайдер видимо раздаёт ip кому как повезёт. Был серый, переподключился, стал белый. Так что имейте ввиду, что так тоже бывает. Если бы не этот мануал, не дошёл бы, мне кажется, никогда. Большое человеческое спасибо за то что ты делаешь. Особенно за легкую добычу токенов сяоми и компонент Яндекс станции

Спасибо за рекомендации

А если такие ответы, где искать? Стоит аддон DuckDNS и в последнее время не работает как нужно, в логах все ок, да и до этого было все ок

если вставить только домен, то

500 Can't connect to

xxx.duckdns.org

:443



если вставить еще и порт, то

500 Can't connect to xxx.duckdns.org:8123 (Connection timed out)

Чем отличается Connection refused от Connection timed out не знаю. Не натыкался

Ну буквально 

Refused это когда сервер сразу отбросил соединение, пооому что не умеет в такие (нет такого порта или http метода) 

Time out — не дождался ответа 


Точно адрес белый? Порты точно пробрасыаьтся (можно проверить)? 
 

А что делать если серый ip?

Видимо только: 1) или платить провайдеру или 2) сменить на такого где белый пусть и динамический 

Доброе время суток! Подскажи где поискать 443 порт закрыт. В роуторе все порты проброшенны 80,443,8123 на 

https://2ip.ru/check-port/">https://2ip.ru/check-port/ все открыты а 443 нет. Кому писать провайдеру? или у меня проблемы с SSl в НА.

Если вы уверены, что проброс портов настроен правильно и на 443 порту что-то запущено (вроде прокси сервера), то даже при поломанном SSL check-port должен выдать положительный результат.

Буду звонить провайдеру, Спасибо

Файрволл Билайн всему виной. 


Вернуться назад
Вернуться назад