Налаштовуємо віддалений доступ до Home Assistant через Cloudflare

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

Привіт. На зв’язку Свердлюк Богдан. Я люблю розумний будинок і розповідаю про нього українською. У цьому посібнику розглянемо, як безкоштовно та легко створити віддалений доступ до Home Assistant за допомогою домену та Argo тунелю Cloudflare. Це дозволить не використовувати такі незручні способи як публічна IP-адреса та VPN.

російський військовий корабель іди нах***!

1. Для початку необхідно зареєструвати домен. Я використовую безкоштовний домен pp.ua. Для цього потрібно перейти на сайт реєстратора доменів, наприклад, nic.ua та оформити безкоштовне замовлення на бажану адресу. Надалі це буде адресою нашого Home Assistant. Перевірити статус замовлення можна в особистому кабінеті. Активований домен буде мати зелену крапочку.

2. Змінити паркові сервери імен на Cloudflare. Для цього потрібно натиснути шестерню справа від домену.

Перейти до розділу NS-сервери та у випадаючому списку обрати власні сервери імен. Вставити NS сервери dina.ns.cloudflare.com та hal.ns.cloudflare.com. Натиснути «Зберегти».

3. Створити обліковий запис на сайті Cloudflare. У розділі Websites необхідно натиснути кнопку Add a Site та додати зареєстрований домен. Якщо домен додано у розділі Websites, біля домену буде галочка та статус Active.

Важливо. Для використання Cloudflared потрібно видалити всі додатки, що обробляють SSL-сертифікати. До таких відносяться DuckDN, Let’s Encrypt і подібні.

4. У Home Assistant потрібно перейти у пункт меню Конфігурація >> Додатки >> Магазин доповнень >> зверху справа натиснути три крапки >> Репозиторії, та додати посилання github.com/...​-tobias/addon-cloudflared.

Перезавантажити сторінку магазину доповнень, знайти та встановити додаток Cloudflared. Для зручності можна активувати перемикачі запуск після увімкнення системи та Watchdog. Якщо після оновлення додаток не з’являється, очистіть кеш або скористайтесь іншим браузером.

5. Перед запуском додатку у вкладці «Конфігурація» необхідно вказати два рядки:

  • External Home Assistant Hostname — це адреса домену.
  • Cloudflare Tunel Name — довільне бажане ім’я, що присвоїться Argo-тунелю.

Натиснути зберегти.

6. Також перед запуском додатку до файлу configuration.yaml потрібно додати наступну конфігурацію:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24
 

Її ніяк не потрібно змінювати, лише додати і все. Після цього потрібно перезапустити Home Assistant. Зробити це можна у пункті меню Конфігурація >> Система >> Кнопка «Перезавантажити» зверху справа.

7. Після перезавантаження потрібно запустити додаток Cloudflared. Потім перейти у вкладку «Журнал» і постійно натискати кнопку «Оновити», доки не з’явиться текст «Please open the following url and log in with your Cloudflare account...»

Скопіюйте та перейдіть за посиланням. Натисніть кнопку «Authorize».

Після авторизації та успішного запуску додатку можна перевірити результат. Для цього потрібно ввести домен в рядку браузера. Якщо все виконано правильно, ви побачите сторінку входу Home Assistant. Цю адресу можна вказати в мобільному додатку Home Assistant, щоб отримати доступ до свого дому з будь-якого куточка світу. Це також дозволить використовувати функції відстеження пристроїв і сповіщень, що дуже круто.

Якщо Home Assistant відкривається з незахищеним http-з’єднанням, можна налаштувати автоматичне перенаправлення на версію https. Для цього потрібно перейти в налаштування сайту Cloudflare, пункт «SSL/TLS», та увімкнути перемикач SSL/TLS Recommender.

Тут же можна налаштувати режим шифрування. Для більшої безпеки рекомендую використовувати режим Full(strict):
No — шифрування відсутнє
Flexible — трафік шифрується між браузером та Cloudflare
Full — трафік шифрується повністю, між браузером та Home Assistant
Full(strict) — повне шифрування з суворішими вимогами до сертифікатів

Будьте обачні та не використовуйте простий пароль для входу. Якщо потрібно змінити пароль, зробити це можна в останньому пункті меню — профіль користувача.

Сподобалась стаття? Подякуй донатом на спільний збір DOU та KOLO для купівлі 80 дронів «Азову»!

Сподобалась стаття? Натискай «Подобається» внизу. Це допоможе автору виграти подарунок у програмі #ПишуНаDOU

👍ПодобаєтьсяСподобалось4
До обраногоВ обраному7
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Це дозволить не використовувати такі незручні способи як публічна IP-адреса та VPN.

VPN призначений саме для доступу до локальних ресурсів.
ZeroTier дозволить мати доступ до HA без необхідності мати домен, і на будь якому з довірених пристроїв. І за можливості з’єднання буде пряме, як з цим у cloudflared?

Для Zero Tier потрібен мобільний додаток. Для Cloudflare — ні

Не подобається Zerotier — - підніміть ikev2 vpn на тому ж сервері, що й ha. Для підняття ikev2 нічого на клієнта ставити не потрібно www.digitalocean.com/...​trongswan-on-ubuntu-20-04

Робочим варіантом є використання сервісу від Nabu Casa. З лютого він безкоштовний для українців (звичайна ціна 6.50$). Не чув про ikev2. Прочитаю, ознайомлюсь, дякую. Проте за моїми спостереженнями будь який активний VPN на смартфоні використовує більше заряду, ніж без нього. Активація VPN — зайвий рух, бабусі, або тим, кому потрібно «щоб працювало» це важко пояснити

. Проте за моїми спостереженнями будь який активний VPN на смартфоні використовує більше заряду, ніж без нього.

Це якщо використовувати VPN для роутингу всього трафіку. Якщо передавати/отримувати лише трафік до локальних ресурсів, то проблеми зі споживанням не виникає.

Безкоштовний? Щось не бачив. Зареєструвався в березні. Можна детальніше?

Перший місяць і так безкоштовно. Бачив скрін оплат тут t.me/uasmarthome/8239

корисна стаття) сам рівно те саме робив десь місяць тому. Додайте ще більше інфи про налаштування ssl на cloudflare, наприклад я робив повне шифрування Full (strict)

Додам речення про це. Я розумію що це найвищий ступінь безпеки, але які його відмінності від інших варіантів?

developers.cloudflare.com/...​-configuration/ssl-modes
якщо коротко, то є 4 режими:
1. No — немає шифрування взагалі
2. Flexible — шифрується трафік тільки від браузера до регіонального сервера Cloudflare
3. Full — також шифрується трафік до вашого сервера, може бути самопідписаний сертифікат на вашому домашньму сервері
4. Full(strict) — на вашому сервері повинен бути дійсний довірений сертифікат
Якщо я вірно розумію, то Argo tunnel предоставляє можливість юзати сертифікацію cloudflare в кінцевій точці тунелю, тобто на вашому домашньому сервері. То чого б цим не скористатися

Підписатись на коментарі