Duckdns настройка на роутере d link
Войти
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
Доступ к локальной сети из Интернет - DDNS на примере no-ip
Я, скорее, параноик и до сего момента держу закрытым весь доступ в локалку из Сети. Хотя, с другой стороны, полную гарантию не даёт даже физическое отключение тк остаются сменные носители. А уж если работает transmission, bttorrentsync и пр. В общем, придумалось несколько приложений, требующих доступа извне в локалку - owncloud, удалённый backup по интернет и пр. Начнём с DDNS
Сразу предупрежу, что со мной Капитан Очевидность. Всего лишь для новичка попробую излагать простыми словами.
Начнем с упрощенной теории. В глобальной сети право использовать IPv4 адрес (например 95.24.156.147) можно получить от полномочной организации, IANA. Адресов всего 2^32 (
4 млрд), часть отдана под специальные цели - на всех не хватает. Отчасти поэтому в изолированной домашней сети используются обычно адреса вида 192.168.0.0/16, во всех таких сетях одинаковые. Это позволяет экономить адресное пространство. Но в результате внутри домашней сети и снаружи адреса - разные. Внешний адрес ваша сеть получает один, от провайдера (которому вы платите за интернет). И его выдают в аренду на некоторое время, и могут в любой момент изменить. Поэтому достучаться до вашей домашней сети по IP несколько затруднительно. Есть два основных способа - арендовать у провайдера постоянный (статический адрес). Например, у моего провайдера это стоит 130 руб/мес. Так и стоит сделать, если у вас важные приложения, типа клиент-банк, т.к. статический адрес положительно сказывается на безопасности. Но в большинстве случаев проще второй способ - DDNS.
Хорошая новость в том, что в простейшем, годном для дома, варианте услуги DDNS можно найти бесплатные. Выбор провайдера DDNS - тема длинная, начните со списка, который поддерживает ваш роутер. Погуглите ваш, многие роутеры это умеют. Если не умеет - nas4free может взять эту роль на себя, Services|Dynamic DNS (я не настраивал, но там всё аналогично). Мой роутер, например, предлагает следующее
Как видно, я выбрал no-ip. Просто потому, что работает. Его и настроим.
2) Заходим, попадаем в графическое меню
Выбираем "Add Host"
3) Попадаем в диалог ниже (в него же можно попасть через меню - Add Host)
Полей очень много, внизу ещё есть. Но заполнить в простейшем случае надо только два
Hostname - выберите что-то вместо vasia_pupkin
И из длинного списка правее надо выбрать домен второго уровня. no-ip.info годится для бесплатного сервиса. Большинство остальных предложены для возможности попросить у вас денег.
IP address заполнять не надо - система определяет его сама. Но если заполните - ничего не изменится.
Жмём внизу оранжевую кнопку Add Host - готово
Прим - функциональность сервиса шире - может потом пригодиться.
4. теперь осталось настроить роутер (или NAS) стучаться на no-ip и сообщать о своём адресе. На примере моего роутера, у вас (и в nas4free) всё аналогично.
Идём по галочкам - включаем DDNS сервис, выбираем провайдера no-ip из списка, сообщаем имя созданного хоста, логин и пароль для подключения к no-ip, применяем.
5. Проверка связи. Осталось проверить. Естественный порыв - набрать vasia_pupkin.no-ip.info в адресной строке браузера (сделайте это)
Упс! Нам предлагают войти в вебгуй роутера! Это что же, теперь любой кулхацхер будет ко мне в гости ходить как к себе домой.
Ответ - и да и нет. То есть роботы будут ломится и, если вы позже откроете канал, могут подобрать, а то и подслушать пароли.
Нет, потому, что пока вы ничего не открыли. Вы просто привели знающих ваше доменноеё имя vasia_pupkin.no-ip.info к закрытой снаружи двери роутера. Между прочим - причина не светить понапрасну выбранное вами доменное имя.
А вы видите приглашение ввести логин-пароль роутера потому, что к той же двери вы подошли ИЗНУТРИ, из доверенной зоны.
В работоспособности можно убедиться, пинганув ваш домен из командной строки
ping vasia_pupkin.no-ip.info
Если работает, вы получите что-то вроде
PING vasia_pupkin.no-ip.info (96.28.157.147) from 192.168.1.34: 56 data bytes
64 bytes from 95.27.155.134: icmp_seq=0 ttl=64 time=0.283 ms
64 bytes from 95.27.155.134: icmp_seq=1 ttl=64 time=0.292 ms
64 bytes from 95.27.155.134: icmp_seq=2 ttl=64 time=0.198 ms
Здесь видно, что (1) имя (vasia_pupkin.no-ip.info) ресолвится во внешний IP (96.28.157.147) - значит, сервис работает и
(2) что время прохождения очень мало, доли миллисекунды, то есть пакеты ходят локально.
6. Чтобы попасть снаружи - надо выйти наружу :). Что дома не так просто. Надо либо пойти на работу, к соседу или приятелю, либо из дома подключиться к другому провайдеру. Рядовой пользователь может сделать последнее, подключившись через мобильную связь. Я, например, воткнул 3G модем в ноутбук.
Снова сделаем пинг. В результате имя по-прежнему должно ресолвиться в тот же IP, но, если у вас нормальный роутер, пинга быть не должно. Если же у вас роутер из сети уже пингуется это может не так и страшно, но признак плохой и повод подумать о замене. Мой, вариант, напомню, asus rt-n56u с прошивкой от padavan.
Если пинга нет, отключите на роутере брандмауэр или, лучше и если есть, разрешите пинги из WAN. Теперь должно пинговаться.
Включите брандмауэр. На сегодня всё.
В прошлой статье я описал как настроить подключение к Home Assistant из любой точки, где есть интернет используя сервис Noip . Как и обещал, опишу еще один способ используя сервис duckdns, который в отличие от предыдущего способа не требует настройки Dynamic DNS в роутере.
В роутере должен быть настроены статический адрес для home assistant и проброс дня него 80 и 443 портов:
После обновления Home Assistant до версии v2021.7.0 при попытке соединиться с умным домом из интернета появилась ошибка: " 400: Bad Request "
Для ее исправления необходимо в файл configuration.yaml добавить следующее:
Если же у Вас, как и у меня portainer не установлен, адрес можно узнать используя командную строку. Для этого я подключился при помощи putty (также можно это сделать локально на сервере с home assistant) и ввел следующие команды:
Далее находим в списке имя компьютера (сервера) с home assistant (у меня это hassio) и добавляем его в команду docker network inspect <network_name>
Находим адрес addon_core_nginx_proxy и прописываем его в configuration.yaml:
После перезапуска Home Assistant доступ из интернета заработал как и прежде.
После очередного обновления и перезагрузки пропал доступ из вне к Home Assistant, из локалки проблем с доступом небыло:
В настройках ошибок не обнаружил, последующие перезапуски Home Assistant результата не принесли. Решилось все перезапуском NGINX Home Assistant SSL proxy. Может кому пригодится:
Если вы зашли на эту страницу, то скорее всего хотите настроить функцию DDNS на своем роутере TP-Link. Возможно, для удаленного доступа к настройкам роутера, для доступа к FTP-серверу через интернет, или еще для каких-то задач, для которых может понадобится настройка динамической системы доменных имен. Если это так, то вы зашли по адресу. В этой статье я покажу, как выполнить настройку функции "Динамический DNS" на роутерах компании TP-Link со старым (зеленым) и новым (синим) веб-интерфейсом. Чтобы подготовить простую, а главное рабочую инструкцию, я уже все проверил на своем роутере (даже на двух) . Сделал необходимые скриншоты, и готов рассказать вам о всех нюансах и возможных проблемах, с которыми можно столкнуться в процессе настройки. Прежде чем перейти непосредственно к настройке, в двух словах расскажу о DDNS, зачем он нужен и как работает.
Функция "Динамический DNS", или просто DDNS позволяет присвоить маршрутизатору постоянный адрес, с помощью которого можно получать доступ к роутеру. А так же к устройствам (IP-камерам, например) или серверам (FTP, HTTP) , которые находятся (настроены) за роутером, или на роутере. Проще говоря, DDNS решает проблему внешнего динамического IP-адреса. Интернет провайдер выдает роутеру внешний IP-адрес, используя который можно зайти на роутер. Если этот WAN IP-адрес статический (постоянный) – отлично, настраивать DDNS вам не нужно. Но обычно провайдеры выдают динамические IP-адреса (которые постоянно меняются) . Так вот, функция "Динамический DNS" позволяет привязать роутер к одному постоянному адресу, не смотря на динамический WAN IP-адрес.
Два важных момента:
- Если провайдер выдает роутеру внешний (публичный) статический IP-адрес, то выполнять настройку DDNS на роутере TP-Link не нужно, так как у роутера уже есть постоянный адрес. Как правило, эту функцию можно подключить у провайдера за дополнительную плату.
- Функция DDNS не работает с серыми IP-адресами. И это большая проблема, так как большинство провайдеров сейчас выдают именно серые, внешние IP-адреса, а не белые.
Больше информации об этой технологии, и о том, как проверить какой адрес (белый, или серый) выдает ваш провайдер, я писал в этой статье: DDNS (динамический DNS) на роутере: что это, как работает и как пользоваться. Обязательно прочитайте ее.
Как это работает: выбираем сервис (который предоставляет данную услугу) из списка доступных на своем роутере и регистрируемся в нем. Получаем постоянный адрес. В настройках роутера вводим этот адрес, имя пользователя и пароль (от сервиса, на котором регистрировались) .
TP-Link DNS – только на роутерах с поддержкой облачных функций
Некоторые модели маршрутизаторов поддерживают фирменный сервис TP-Link DNS. Его можно настроить только на роутерах с поддержкой облачных функций. Как правило, это новые, дорогие модели (Archer C3150 V2, Archer C1200 V2/V3, Archer C59 V2/V3, Archer C9 V4/V5, Archer C7/V4 V5 и т. д.). Если у вас в роутере есть поддержка "Облако TP-Link", то рекомендую использовать DDNS от TP-Link.
Сначала нужно зарегистрировать аккаунт TP-Link ID и войти в него в настройках роутера, в разделе " Облако TP-Link " на вкладке "Базовые настройки".
Роутер будет привязан к вашему TP-Link ID. И, например, если войти в этот аккаунт в приложении TP-LINK Tether, то вы сможете управлять роутером удаленно. Через облако. Но это уже тема для другой статьи. И еще один момент: после привязки роутера к TP-Link ID, при входе в его настройки нужно будет вводить не пароль администратора роутера, а логин и пароль от аккаунта TP-Link ID.
Переходим в "Дополнительные настройки" - "Сеть" - "Динамический DNS". Ставим переключатель возле "TP-Link" в строке "Поставщик услуг". Нажимаем на кнопку "Зарегистрируйтесь". В поле "Доменное имя" нужно придумать и записать уникальный адрес для своего роутера. После чего нажимаем на кнопку "Сохранить".
Всегда можно отвязать этот адрес от роутера и удалить его. Или создать новый.
Если роутер с поддержкой облачных функций, то однозначно рекомендую использовать именно TP-Link DNS. Настраивается очень просто и быстро, чего не скажешь о сторонних сервисах, о которых речь пойдет дальше в статье.
Регистрируем адрес DDNS (подходит для всех роутеров)
В начале статьи я уже писал, что сначала нам нужно выбрать сервис и зарегистрироваться в нем. Сервис нужно выбирать из списка доступных в своем роутере. Для этого заходим в настройки роутера TP-Link и переходим в раздел "Динамический DNS" (Dynamic DNS) . На новых прошивках это вкладка: "Дополнительные настройки" - "Сеть" - "Динамический DNS".
Выбираем из писка "Поставщик услуг" нужный сервис и переходим по ссылке "Перейти к регистрации. "
Переходим по ссылке, и сразу на главной странице нам нужно придумать и ввести адрес, который в дальнейшем будет использоваться для доступа к роутеру через интернет. Это должен быть уникальный адрес. Впрочем, если вы введет адрес, который уже используется, сервис вас об этом предупредит. Придумываем адрес и нажимаем на кнопку "Sign Up". У меня после регистрации этот адрес почему-то не появился в личном кабинете. Добавлял его заново.
Дальше нужно указать свою почту, придумать и указать пароль (эту почту и пароль мы будем вводить еще в настройках роутера) , принять лицензионное соглашение и нажать на кнопку "Get Enhanced".
Откроется окно, где нам предложат оплатить платные услуги. Вы можете просто закрыть это окно. На почту придет письмо, в котором нужно подтвердить свою электронную почту. Просто перейдите по ссылке из письма, нажав на кнопку "Confirm Account".
Откроется страница, на которой переходим в свой аккаунт (если необходимо, войдите в свой аккаунт используя почту и пароль) .
Так как адрес, который я вводил при регистрации почему-то не был создан автоматически, то нужно создать его вручную. Для этого в своем аккаунте переходим в раздел "Dynamic DNS" и нажимаем на кнопку "Create Hostname".
Нужно придумать какой-то уникальный адрес (в дальнейшем это будет адрес нашего роутера) и указать его в поле "Hostname". Если хотите, можете выбрать любой домен из списка "Domain" (это не обязательно) . Больше ничего не меняем. Регистрируем адрес нажав на кнопку "Create Hostname".
Все, регистрация завершена. Осталось только настроить маршрутизатор.
Настройка функции "Динамический DNS" на роутере TP-Link
Настройка роутеров со старой версией веб-интерфейса. Выполните вход в настройки своего маршрутизатора (зайдите на адрес 192.168.0.1, или 192.16.1.1) по этой инструкции.
Откройте раздел "Динамический DNS" (Dynamic DNS) . Вменю "Поставщик услуг" выбираем сервис, в котором зарегистрировали адрес.
Ставим галочку возле "Включить DDNS" и нажимаем на кнопку "Войти".
Если мы все сделали правильно, то статус подключения сменится на "Успешно". Сохраните настройки.
Вы можете отвязать роутер от этого адреса. Просто нажмите на кнопку "Выйти" и сохраните настройки.
Настройка DDNS на роутере с новым веб-интерфейсом
Открываем настройки роутера и переходим в раздел "Дополнительные настройки" - "Сеть" - "Динамический DNS".
Выбираем поставщика услуг и вводим данные, которые использовали при регистрации на сайте. В том числе доменное имя, которое мы создали для нашего маршрутизатора. Нажимаем на кнопку "Войти". После успешного подключения к DDNS можно сохранить настройки.
В любой момент можно перестать использовать динамический DNS, нажав на кнопку "Выход" и сохранив настройки.
Как пользоваться?
Но перед этим нужно в настройках маршрутизатора открыть удаленный доступ для всех IP-адресов.
Я так понимаю, что для конкретного IP-адреса открыть доступ не получится (только в том случае, когда провайдер выдает вам статический IP-адрес) . А это не очень безопасно. Поэтому, обязательно установите надежный пароль администратора роутера по этой инструкции: как на роутере поменять пароль с admin на другой. Он будет защищать страницу с настройками. Так же смените имя пользователя с заводского admin на другое.
Нужно сначала настроить FTP-сервер по инструкции настройка FTP-сервера на роутере TP-LINK и включить в настройках "Доступ к Интернет" (подробнее смотрите в инструкции по ссылке выше) .
У вас должен быть статический или динамический "белый" IP-адрес.
Статью для "серого" IP-адреса я когда-нибудь напишу.
1. Заводим своему дому имя*
Если ваш роутер (mikrotik, keenetic, d-link, asus) или NAS (synology) уже поддерживают свои собственные DDNS - можете завести доменное имя там.
2. Пробрасываем порты на роутере
В настройках роутера пробрасываем порты 80 и 443 на локальный IP-адрес вашего Hass.io (на порты 80 и 443 соответственно). Как это делать читайте в инструкциях к своему роутеру.
Обязательно н ужны оба порта и именно эти.
3. Устанавливаем аддон
Добавляем новый репозиторий аддонов Hass.IO:
И устанавливаем аддон:
4. Настраиваем и запускаем аддон
В конфиге аддона указываем ваше DDNS имя и email. Почта используется для регистрации Let's Encrypt сертификата.
На момент старта аддона у вас уже должны быть прокинуты порты 80 и 443 и доменное имя обновлено на публичный IP-адрес. Иначе ничего не заработает.
В логах аддона после запуска должны быть такие строки:
5. Пользуемся
Да, это действительно всё. Уже можно пользоваться. Ваш дом уже доступен по адресу:
Никаких портов в адресе указывать не нужно.
Никакие китайцы не будут к вам ломиться, потому что без указания доменного имени им будет выдаваться пустая страница.
Ваш Home Assistant уже готов к подключению к Яндекс Алисе или Google Ассистенту.
Сертификат сам будет продлеваться, вам даже не нужно знать где лежат файлы cert и key.
Вы всё ещё можете отрыть свой HA по локальному IP-адресу:
1. Рекомендую включить 2х факторную авторизацию. Это делается в профиле пользователя в HA. Ключи может генерировать мобильное приложение Google Authenticator.
2. На некоторых роутерах HA не откроется в локальной сети по доменному имени. Можете погуглить Hairpin NAT для своего роутера. Лично я прописал статический DNS адрес на роутере, где привязал публичное доменное имя к локальному IP-адресу. Но не все роутеры так умеют.
Читайте также: