Использование DuckDNS для бесплатного SSL-сертификата в HA
Многие домашние интернет-провайдеры предоставляют пользователям динамические IP-адреса, которые меняются при каждой перезагрузке роутера или по истечении определенного времени. Для интеграции умного дома с голосовым помощником Алисой это создает серьезную проблему: облако Яндекса должно всегда знать точный адрес вашего сервера.
Решением этой проблемы является использование технологии DDNS (Dynamic DNS). Сервис DuckDNS предоставляет абсолютно бесплатные доменные имена третьего уровня в зоне duckdns.org и позволяет автоматически обновлять запись об IP-адресе вашего домашнего роутера. Кроме того, официальный аддон для Home Assistant содержит встроенный клиент Let’s Encrypt, который генерирует доверенные SSL-сертификаты безопасности для защищенного HTTPS-соединения.
Регистрация на DuckDNS и получение токена
Перед началом настройки в самом Home Assistant вам необходимо зарегистрировать свой домен.
- Откройте веб-браузер и перейдите на официальный сайт сервиса по адресу duckdns.org.
- Авторизуйтесь на сайте, используя любую удобную учетную запись (например, GitHub, Google или Reddit).
- В разделе subdomains введите желаемое имя для вашего умного дома в пустое текстовое поле (например,
myhomealice) и нажмите кнопку add domain. Если имя свободно, оно появится в списке ниже. - В верхней части страницы найдите строку token — это ваш секретный уникальный ключ авторизации. Скопируйте его, он понадобится на следующем этапе.
IMPORTANT
Секретный токен DuckDNS является ключом доступа к управлению вашим доменом. Никогда не передавайте его третьим лицам и не выкладывайте в открытый доступ на форумах или в репозиториях.
Настройка официального дополнения в Home Assistant
Аддон DuckDNS выполняет двойную функцию: он постоянно сообщает серверам DuckDNS актуальный внешний IP-адрес вашей сети и автоматически перевыпускает SSL-сертификаты безопасности каждые 3 месяца.
- Откройте веб-интерфейс Home Assistant, перейдите в меню Настройки ➡️ Дополнения ➡️ Магазин дополнений.
- Найдите в поиске Duck DNS и нажмите Установить.
- После завершения установки перейдите на вкладку Конфигурация аддона.
- Переключите редактор в текстовый режим (YAML) и заполните следующие поля:
domains: - myhomealice.duckdns.org # Ваш зарегистрированный домен token: 12345678-abcd-1234-abcd-1234567890ab # Ваш скопированный токен aliases: [] lets_encrypt: accept_terms: true certfile: fullchain.pem keyfile: privkey.pem seconds: 300 - Сохраните изменения и перейдите обратно на вкладку Инфо.
- Запустите дополнение и откройте вкладку Логи. Убедитесь, что процесс получения сертификата прошел успешно. В логах должно появиться сообщение
+ Certificate active.
TIP
Генерация сертификата Let’s Encrypt при первом запуске аддона может занять от 1 до 3 минут. Не перезапускайте аддон во время этого процесса, иначе запрос к серверам Let’s Encrypt может заблокироваться по таймауту.
Проброс сетевого порта на роутере
Для работы шифрованного соединения и проверки подлинности домена Let’s Encrypt требуется, чтобы запросы на порт 443 из интернета перенаправлялись на порт 8123 вашего сервера Home Assistant.
- Откройте панель настроек вашего роутера.
- Перейдите во вкладку Перенаправление портов (NAT/Forwarding).
- Создайте новое правило:
- Внешний порт: 443 (протокол TCP)
- Локальный IP-адрес: IP вашего Home Assistant (например,
192.168.1.100) - Локальный порт: 8123 (порт Home Assistant)
- Сохраните настройки роутера.
Если ваш провайдер использует технологию серого IP-адреса (CGNAT), то прямой проброс портов работать не будет. В этом случае вам придется использовать альтернативные методы организации туннелей, такие как Cloudflare Tunnels или специальную интеграцию Yandex Cloud, которая работает без проброса портов.
Активация SSL в конфигурации Home Assistant
Последним шагом является указание системе использовать полученные сертификаты для шифрования трафика.
- Используя дополнение File Editor, откройте конфигурационный файл
configuration.yamlвашего сервера. - Добавьте или измените секцию
httpследующим образом:http: ssl_certificate: /ssl/fullchain.pem ssl_key: /ssl/privkey.pem - Сохраните файл и выполните перезапуск Home Assistant через меню Настройки ➡️ Система ➡️ Управление сервером.
Перед перезапускам обязательно проверьте конфигурацию на ошибки с помощью встроенного валидатора, чтобы избежать ситуации, когда Home Assistant не сможет запуститься из-за неверного пути к файлам сертификатов.
CAUTION
Обратите внимание, что после перезапуска ваш сервер перестанет отвечать на обычные запросы по HTTP. Теперь для локального входа по IP-адресу или домену вам нужно будет обязательно вводить https:// перед адресом (например, https://192.168.1.100:8123). Браузер выдаст предупреждение о небезопасном сертификате при входе по локальному IP — это нормально, просто подтвердите вход.
Проверка работоспособности и продление сертификатов
После выполнения всех шагов вы можете проверить доступность вашего Умного Дома, введя адрес вашего поддомена в браузере (например, https://myhomealice.duckdns.org). Вы должны увидеть стандартное окно авторизации Home Assistant, а в адресной строке появится значок закрытого замка, подтверждающий наличие защищенного соединения SSL.
Срок действия бесплатного сертификата от Let’s Encrypt составляет 90 дней. Вам не нужно продлевать его вручную: встроенный скрипт в дополнении DuckDNS автоматически проверяет оставшийся срок службы и запрашивает обновление за 30 дней до окончания действия сертификата. Главное условие для успешного продления — запущенное дополнение и открытый порт 443 наружу в момент проверки.
С настроенным безопасным внешним адресом вы полностью готовы к интеграции голосового помощника Алисы со сложными кастомными устройствами. Для создания собственных сценариев автоматизации изучите наше руководство по созданию кастомных навыков для Алисы, где подробно рассказано, как связать внешние вебхуки с виртуальными выключателями и отправлять любые датчики из вашей локальной сети прямо в Умный Дом Яндекса. Это позволит вам настроить персональные правила обработки интентов, отправлять JSON-ответы в диалогах и превратить обычную Яндекс Станцию в полноценный центр голосового управления.
Инструкция по настройке
Регистрация домена DuckDNS
Авторизуйтесь на сайте DuckDNS через GitHub/Google и зарегистрируйте свой бесплатный поддомен в зоне duckdns.org.
Установка аддона DuckDNS
В Home Assistant установите официальное дополнение DuckDNS и заполните конфигурационный файл, указав домен и токен.
Настройка проброса портов
Перенаправьте внешний порт 443 (или иной выбранный) на локальный IP-адрес Home Assistant на порту 8123 вашего роутера.
Интеграция SSL в Home Assistant
Пропишите пути к сгенерированным Let's Encrypt SSL-сертификатам в секции http файла configuration.yaml и перезагрузите систему.