Расширенные настройки Ubiquiti EdgeOS: настройка динамического DNS. IgorKa - Информационный ресурс

Иногда необходимо прописать DNS для компьютера с динамическим IP адресом. Простым путем для этого являются сервисы по типу dyndns , описанные в недавнем топике Связываем домен и динамический IP . Иногда такой подход работает достаточно плохо.

Напрмер в моей ситуации, провайдер иногда меняет мой публичный IP адрес. Это иногда случается обычно раз в несколько месяцев. Кроме того, мой домашний компьютер перезагружается крайне редко. За это время сервис dyndns, которым я пользовался ранее успевал пару раз прислать мне оповещения о неактивности с целью отключить «неиспользуемый» аккаунт. Перейти на вручную прописываемую DNS зону также не получается, потому что иногда адрес все же меняется. Причем обычно об этом узнаешь когда нужен доступ к домашнему компьютеру здесь и сейчас.

Для реализации описываемого метода понадобится сервер в интернете с DNS сервером bind на нем. А так же доменная зона, субдомен которой мы будем выделять для нашего компьютера. Описывается вариант с подключением Linux-компьютера к Linux-серверу. Для использования других операционных систем понадобится почитать мануалы и модифицировать некоторые шаги.

Итак:
1. Имеем установленный сервер bind9 с доменом server.org
2. Создаем зону client.server.org.zone:

$ORIGIN .
$TTL 10 ; 10 seconds
client.server.net IN SOA ns1.server.net. hostmaster.server.net. (
18 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10 ; minimum (10 seconds)
$TTL 3600 ; 1 hour
NS ns1.server.net.
NS ns2.server.net.
MX 10 client.server.net.

Здесь сервера ns1.server.net и ns2.server.net - DNS сервера для нашей зоны, client.server.net - адрес нашего домашнего компьютера

3. генерим ключи на клиенте:
client# cd /etc/namedb/keys
client# dnssec-keygen -b 512 -a HMAC-MD5 -v 2 -n HOST client.server.net.

4. Создаем фаил с ключем на сервере:
server# cd /var/named/chroot/etc
server# vim keys.conf:

Key client.server.net. {
algorithm "HMAC-MD5";
secret "omr5O5so/tZB5XeGuBBf42rrRJRQZB8I9f+uIIxxei8qm7AVgNBprxtcU+FQMzBvU/Y+nyM2xbs/C8kF3eJQUA==";
};

В данном случае использован симметричный ключ, что небезопасно: если кто-то имеет доступ к фаилу с ключами на вашем сервере, он может воспользоваться вашим ключем для изменения данных вашей зоны. В таком случае можно использовать несимметричный ключ.

Выставляем права доступа к фаилу с ключами:
server# chmod 640 keys.conf
server# chown root:named keys.conf

5. добавляем нашу зону в named.conf:
include "/etc/keys.conf"
zone "client.server.net" {
type master;
file "zones/client.server.net";
allow-update{
key client.server.net;
};
};

Здесь прописан параметр, который позволяет обновлять данные зоны. Вообще, почитав мануалы, можно найти опции этого параметра, позволяющие обновлять только одну запись в зоне для данного ключа. Т.е можно иметь зону с прописанными в ней поддоменами client1, client2, etc. которые будут авторизоваться с ключами key1, key2, etc.

6. Перезапускаем DNS сервер:
server# /etc/init.d/named reload

7. Создаем на клиенте скрипт, который будет обновлять данные зоны:
#!/bin/bash
IFACE="wlan0"
TTL=3600
SERVER=ns1.example.com
HOSTNAME=foo.example.com
ZONE=example.com
KEYFILE=/root/ddns-keys/Kfoo.example.com.+157+12345.private

New_ip_address=`ifconfig $IFACE | grep "inet addr:" | awk "{print $2}" | awk -F ":" "{print $2}"`
new_ip_address=${new_ip_address/ /}

Nsupdate -v -k $KEYFILE << EOF
server $SERVER
zone $ZONE
update delete $HOSTNAME A
update add $HOSTNAME $TTL A $new_ip_address
send
EOF

В начале скрипта описаны соответствующие параметры: интерфейс, имена сервера и зоны, местоположение фаила с ключем.

8. Осталось только настроить автозапуск/автоматическую смену адреса при смене DNS.
Мы это сделаем при помощи скрипта для NetworkManager:
создадим фаил /etc/NetworkManager/dispatcher.d/20-dyndns.sh:
#!/bin/sh

Iface=$1
state=$2

If [ "x$state" == "xup" ] ; then
/etc/namedb/ddns-update
elif [ "x$state" == "xdown" ]; then
true
fi

Сделаем его исполняемым и принадлежащим пользователю root.

Запускаем-проверяем-пользуемся.

Upd: Если не работает - проверяем (устанавливаем) на сервере права named на записть в папку в которой лежит фаил client.server.org.zone
named будет создавать там фаил client.server.org.zone.jnl

Использованы следующие материалы.

Если вы знаете, что такое IP-адрес и DNS , но не знаете, что такое DynDNS или знаете, но не знаете чем она может быть полезна, то эта статья для вас. Если вы не знаете, что такое IP-адрес и DNS и уж тем более DynDNS , но интернет дома вы получаете по технологии ADSL (например, ОГО от Укртелеком ), то эта статья тоже может оказаться полезной.

Начну все же с IP-адресов и DNS . Каждый компьютер который подключен к сети интернет имеет числовое значение которое служит для его однозначной идентификации. Это числовое значение и называется IP-адрес . Пример - 92.113.177.223 . Нам, людям, запоминать такие цифры трудно. Поэтому умные люди придумали DNS :)

Система доменных имен (DNS - domain name system ) позволяет сопоставить доменное имя (удобное для нас людей) с IP-адресом (удобным и необходимым для машин). Благодаря DNS мы набираем в адресной строке браузера не труднозапоминаемые IP-адреса , а понятные нам названия: ya.ru , сайт и т.д. :)

Ситуация развивается таким образом, что IP-адресов на все компьютеры уже не хватает, поэтому появились такие условные понятия как статический IP-адрес и динамический IP-адрес . Не путайте понятия динамический IP адрес и ! Статическим принято называть IP-адрес который выдается вам (вашему компьютеру) в аренду на определенный срок (обычно по этому поводу заключается договор с провайдером) и вы гарантировано в течении этого срока сможете им пользоваться и он не будет изменятся. То есть выдал вам провайдер адрес 80.80.100.150 и в договоре указано, что он будет статическим , значит вы все время сможете пользоваться этим адресом и никто другой его не получит. Что такое динамический IP-адрес проще всего показать на примере того же подключения ОГО от Укртелекома . Когда вы подключаетесь к интернету, то ваше оборудование тоже получает IP-адрес , но он не является постоянным, так как при следующем подключении вы получите другой адрес, потом третий и т.д. Конечно это будут IP-адреса из определенного диапазона, но какой точно IP-адрес вы получите при следующем подключении заранее неизвестно.

В динамических IP-адресах нет ничего плохого, если вы не начинаете решать более интересные задачи чем просто доступ в Интернет с вашего компьютера. Например обратная задача - . Возьмем самый просто случай - доступ к компьютеру по протоколу RDP - подключение к удаленному рабочему столу нашей Windows XP . Что нам нужно чтобы подключится к нашему домашнему компьютеру с рабочего компьютера? Да особо ничего. Разрешить и настроить само подключение на домашнем компьютере и знать его IP-адрес . Но знать IP-адрес мы наверняка не можем, так как он - динамический и может быть каким угодно в тот момент когда мы захотим подключится к компьютеру. Классическая система доменных имен (DNS ) работает только со статическими IP-адресами. И привязать доменное имя к нашему IP-адресу мы не можем.

Вот здесь нам и пригодится DynDNS . Данный сервис позволяет отслеживать изменения нашего IP-адреса и следит за тем, чтобы наше доменное имя было связано с актуальным на данный момент IP-адресом нашего компьютера. Тогда нам нужно запомнить только доменное имя компьютера, а DynDNS уже позаботится, чтобы с этим именем всегда был связан актуальный на данный момент IP-адрес.

Как это работает на практике? Расскажу на своем примере. Существует сайт который предоставляет такой сервис. Он так и называется dyndns.com . Зарегистрировавшись на этом сайте я завел там доменное имя вида kuzmenko.dyndns.org . И дальше на своем ADSL-модеме в разделе DynDNS , прописал свои учетные данные. Все. Теперь я по доменному имени всегда (пока сбоев за полтора года не было) могу зайти на свой компьютер. Если нужно более подробное описание регистрации или настройки на модеме - пишите, дополню.

Написал более подробно о том . Главное запомните, что настраивать DynDNS клиент нужно только на одном устройстве в сети , и по возможности на том, которое получает внешний динамический IP адрес.

ЙЪ-ЪБ ИТПОЙЮЕУЛПК НПЪЗПЧПК ОЕДПУФБФПЮОПУФЙ ЬФПЗП РТПЧБКДЕТБ, С УФБМ ЙУЛБФШ УЕВЕ ОПЧЩК ЛБОБМ Ч йОФЕТОЕФ. йН УФБМ ччж гфл . лБЪБМПУШ ВЩ, ОЙЛБЛЙИ УМПЦОПУФЕК У РПДЛМАЮЕОЙЕН РП ADSL ОЕ ЧПЪОЙЛМП, ОП... оП гфл ЙУРПМШЪХЕФ (ЛБЛ Й ПЮЕОШ НОПЗЙЕ РТПЧБКДЕТЩ) БЧФПТЙЪБГЙА РП РТПФПЛПМХ PPPoE, ЧЩДБЧБС ДЙОБНЙЮЕУЛЙК IP-БДТЕУ, ЛПФПТЩК НЕОСЕФУС ЛБЦДЩК УЕБОУ УЧСЪЙ. рПЛБ НБЫЙОБ ТБВПФБЕФ Ч ЛБЮЕУФЧЕ ЛМЙЕОФБ, ЬФП ОЕ ЧЩЪЩЧБЕФ ПУПВЩИ РТПВМЕН, ОП ЛПЗДБ НОЕ РПОБДПВЙМПУШ ЪБРХУФЙФШ ОБ УЧПЕН ЛПНРШАФЕТЕ УЕТЧЕТ, ЧУФБМБ РТПВМЕНБ: Б ЛБЛ ПВТБЭБФШУС ЙЪ ЧОЕЫОЕК УЕФЙ Л НБЫЙОЕ, БДТЕУ ЛПФПТПК РПУФПСООП НЕОСЕФУС?

рПОСФОП, ЮФП ОЕПВИПДЙНП ЛБЛ-ФП ХУФБОПЧЙФШ УППФЧЕФУФЧЙЕ НЕЦДХ ОЕЛЙН ДПНЕООЩН ЙНЕОЕН Й IP-БДТЕУПН, РТЙЮЕН УППФЧЕФУФЧЙЕ ЬФП ОБДП ДЙОБНЙЮЕУЛЙ НЕОСФШ, ЮФПВЩ ПОП ТЕБМШОП ТБВПФБМП. рПЙУЛБЧ Ч уЕФЙ, С ДПУФБФПЮОП ВЩУФТП ОБЫЕМ ОЕУЛПМШЛП УЕТЧЙУПЧ ДЙОБНЙЮЕУЛПЗП DNS (DDNS, Dynamic DNS).

лБЛ ЬФП ТБВПФБЕФ?

дЙОБНЙЮЕУЛЙК DNS ЬФП ФЕИОПМПЗЙС, РПЪЧПМСАЭБС ЙОЖПТНБГЙЙ ОБ DNS-УЕТЧЕТЕ ПВОПЧМСФШУС Ч ТЕБМШОПН ЧТЕНЕОЙ Й (РП ЦЕМБОЙА) Ч БЧФПНБФЙЮЕУЛПН ТЕЦЙНЕ. пОБ РТЙНЕОСЕФУС ДМС ОБЪОБЮЕОЙС РПУФПСООПЗП ДПНЕООПЗП ЙНЕОЙ ЛПНРШАФЕТХ У ЙЪНЕОСЕНЩН IP-БДТЕУПН. ьФП НПЦЕФ ВЩФШ IP-БДТЕУ, РПМХЮЕООЩК РП DHCP ЙМЙ РП IPCP Ч УПЕДЙОЕОЙСИ PPP, PPPoE Й ЙН РПДПВОЩИ (ОБРТЙНЕТ, РТЙ ХДБМЈООПН ДПУФХРЕ ЮЕТЕЪ НПДЕН). дТХЗЙЕ НБЫЙОЩ Ч йОФЕТОЕФЕ НПЗХФ ХУФБОБЧМЙЧБФШ УПЕДЙОЕОЙЕ У ЬФПК НБЫЙОПК РП ДПНЕООПНХ ЙНЕОЙ Й ДБЦЕ ОЕ ЪОБФШ, ЮФП IP-БДТЕУ ЙЪНЕОЙМУС.

чТЕНС ХУФБТЕЧБОЙС БДТЕУБ (TTL) ДМС ДЙОБНЙЮЕУЛПК ЪБРЙУЙ ДЕМБЕФУС ПЮЕОШ НБМЕОШЛЙН (ОЕ ВПМЕЕ ДЧХИ-ФТЈИ НЙОХФ), ЙОБЮЕ ДТХЗЙЕ DNS-УЕТЧЕТЩ РПНЕУФСФ ЕЈ Ч УЧПК ЛЬЫ, Б ЛПЗДБ ПОБ ЙЪНЕОЙФУС, ЙИ ЛМЙЕОФЩ ДПМЗП ВХДХФ РПМХЮБФШ ХУФБТЕЧЫХА ЙОЖПТНБГЙА.

фБЛЙН ПВТБЪПН, УИЕНБФЙЮОП, РТПГЕУУ ЧЩЗМСДЙФ ФБЛ:

  • тЕЗЙУФТЙТХЕНУС Х РТПЧБКДЕТБ ДЙОБНЙЮЕУЛПЗП DNS, ЧЩВЙТБЕН ЙНС ДМС УЧПЕК УЙУФЕНЩ Й ЪБРЙУЩЧБЕН ЕЗП Ч ЖПТНХ ОБ УБКФЕ.
  • лПОЖЙЗХТЙТХЕН УЧПК ЛПНРШАФЕТ ФБЛ, ЮФПВЩ ПО ПВОПЧМСМ ДБООЩЕ ОБ УЕТЧЕТЕ РТПЧБКДЕТБ ДЙОБНЙЮЕУЛПЗП DNS.
  • фЕРЕТШ ЙЪЧОЕ Л ОБЫЕК НБЫЙОЕ НПЦОП ПВТБЭБФШУС РП ЪБДБООПНХ ДПНЕООПНХ ЙНЕОЙ, РТЙЮЕН ОЕЧБЦОП, ЛБЛПК ТЕБМШОЩК IP-БДТЕУ ЙУРПМШЪХЕФУС УЕКЮБУ.

юФП ОХЦОП УДЕМБФШ?

дМС ОБЮБМБ ОБДП ПРТЕДЕМЙФШУС, ЛБЛ НЩ ВХДЕН ЙОЖПТНЙТПЧБФШ УЕТЧЕТ ПВ ЙЪНЕОЕОЙЙ IP. еУМЙ Х чБУ ADSL, Й ЧЩ ОЕ РПУЛХРЙМЙУШ ЛХРЙФШ НПДЕН, УРПУПВОЩК ТБВПФБФШ Ч ЛБЮЕУФЧЕ ТПХФЕТБ, ФП РПЮФЙ ОБЧЕТОСЛБ ПО УБН ХНЕЕФ ПВОПЧМСФШ УППФЧЕФУФЧХАЭЙЕ ДБООЩЕ ВЕЪ ЧУСЛПЗП ЧНЕЫБФЕМШУФЧБ УП УФПТПОЩ ЛПНРШАФЕТБ. рПДТПВОП ОБ РТЙНЕТБИ ЬФП РПЛБЪБОП ЪДЕУШ .

еУМЙ ЦЕ чЩ РПДЛМАЮЕОЩ Л уЕФЙ ЙОЩН УРПУПВПН, РТЙДЕФУС ХУФБОПЧЙФШ ОБ УЧПЕН ЛПНРШАФЕТЕ РТПЗТБННХ-ЛМЙЕОФ ДМС ПВОПЧМЕОЙС ДБООЩИ Й ОБУФТПЙФШ ЕЕ. рТПЗТБННЩ ФБЛЙЕ НПЦОП УЛБЮБФШ У УБКФПЧ УППФЧЕФУФЧХАЭЙИ РТПЧБКДЕТПЧ ДЙОБНЙЮЕУЛПЗП DNS, ФБН ПВЩЮОП ВЩЧБАФ ЧЕТУЙЙ ДМС ТБЪОЩИ пу, ФБЛ ЮФП ЪБДЕКУФЧПЧБФШ ФБЛХА УИЕНХ РПД Linux ЙМЙ FreeBSD ПВЩЮОП ФТХДБ ОЕ УПУФБЧМСЕФ.

рТПЧБКДЕТЩ ДЙОБНЙЮЕУЛПЗП DNS

фБЛЙИ РТПЧБКДЕТПЧ УХЭЕУФЧХЕФ ОЕНБМП. оБЙВПМЕЕ ЙЪЧЕУФОЩ ЙЪ ОЙИ:

лБЦДЩК РТПЧБКДЕТ РТЕДПУФБЧМСЕФ УЧПЙ ХУМХЗЙ РМБФОП. оП ЮБУФШ ХУМХЗ ВЕУРМБФОБ. ьФП ПВЩЮОП ПЮЕОШ НБМЕОШЛБС ЮБУФШ, ЧПЪНПЦОПУФЙ ДЙОБНЙЮЕУЛПЗП DNS НОПЗП ЫЙТЕ, ОП ОБН ЕЕ ИЧБФЙФ. уПЧЕФХА ЧОЙНБФЕМШОП ПЪОБЛПНЙФШУС У УППФЧЕФУФЧХАЭЙНЙ УБКФБНЙ, ОБВПТ ВЕУРМБФОЩИ ХУМХЗ Х ЧУЕИ УЧПК, ЧПЪНПЦОП, чБУ ЪБЙОФЕТЕУХАФ ЛБЛЙЕ-ФП ДПРПМОЙФЕМШОЩЕ ЧПЪНПЦОПУФЙ.

рТЙНЕТ ТЕЗЙУФТБГЙЙ

йФБЛ, ТБУУНПФТЙН ТЕЗЙУФТБГЙА ДПНЕООПЗП ЙНЕОЙ (ДМС РТЙНЕТБ, ОБ УЕТЧЙУЕ DynDNS).

ыБЗ 1. уПЪДБОЙЕ БЛЛБХОФБ.

зПФПЧП! фЕРЕТШ ЧЩВТБООПЕ чБНЙ ДПНЕООПЕ ЙНС ВХДЕФ ЧУЕЗДБ ПДОПЪОБЮОП ЧЕУФЙ ОБ чБЫ IP-БДТЕУ, ВЕЪПФОПУЙФЕМШОП ФПЗП, ЛБЛПК ЬФП БДТЕУ! б ЕУМЙ РТПЭЕ, ФП чБЫЕ ЙНС ФЕРЕТШ ЪБНЕОСЕФ чБЫ IP.

Из локальной сети домашнего роутера – можно обеспечить доступ не только к сети Интернет, но и к ресурсам самого роутера.

Речь может идти об FTP-сервере, где в качестве диска используется накопитель USB, и т. п. В то же время, есть возможность все эти ресурсы сделать доступными из «внешней» сети. Для чего, обычно используется сервис «динамического DNS». Мы рассмотрим, как настроить DDNS на роутере.

Локальная и «внешняя» сеть

Во-первых, постараемся объяснить, как используется DDNS. Из локальной сети сам роутер – доступен по одному и тому же адресу (например, 192.168.10.1). Во «внешней» сети, порту WAN назначается определенный IP-адрес, который в большинстве случаев – является изменяемым. Запоминать его бесполезно, так как значение могут поменять в любую минуту. Но есть возможность получить доступ к роутеру, не используя IP «в явном виде». Достаточно один раз зарегистрироваться в соответствующем сервисе, и настроить опцию DDNS в роутере.

После настройки DDNS, доступ к роутеру – осуществляется по доменному имени (которое, вдобавок, придумать может сам пользователь). Это удобно, но при условии, что все настроено правильно.

Как регистрироваться в сервисе DDNS?

Платные и бесплатные сервисы

Приводим список адресов сайтов, предоставляющих сервис DDNS:

  • no-ip.com
  • 3322.org
  • dyndns.org
  • dhs.org
  • update.ods.org
  • dyns.cx

Самый известный из них – это Dyndns. Все примеры настройки, как правило, приводятся «под него». Но данный сервис недавно стал платным. Так что, надо искать бесплатный сервис (из тех, которые поддерживаются в роутере).

Важно знать, что роутер определенной модели – может поддерживать работу только с некоторыми из DDNS-сервисов.

Рассмотрим пример для устройств TP-Link:

Вкладка «Dynamic DNS»

Как видим, в роутерах этой марки – можно использовать 1 из 3 разных сервисов (но не более). Их список – доступен на вкладке настройки DDNS. Что верно для роутеров разных моделей.

Регистрация в сервисе

Перед тем, как настраивать роутер, необходимо зарегистрироваться в DDNS-сервисе. Нужно получить доменное имя (сервис проверит его на уникальность), а только затем это имя – надо будет указывать в настройках.

Для прохождения регистрации потребуется е-мейл. Карточка нового пользователя – обычно содержит сведения: имя, фамилию, регион, е-мейл. Если требуется указать zip-код, можно оставить это поле пустым.

В результате, пользователь получит в свое распоряжение уникальное доменное имя. Например, такое: «1234router.no-ip.biz». Также, создается аккаунт для управления учетной картой (надо запомнить логин и пароль к нему).

Как настроить DDNS в роутере?

Вкладка параметров DDNS

Именно опцию DDNS в большинстве роутеров – настраивать проще всего. В web-интерфейсе должна быть вкладка, содержащая все требуемые параметры: доменное имя, логин с паролем, список сервисов.

Алгоритм настройки:

  1. Переходим на требуемую вкладку (обычно, «DDNS» или «Dynamic DNS» в разделе «Дополнительных настроек»)
  2. Выбираем сервис (тот, в котором регистрировались)
  3. Заполняем все пустые поля
  4. Если есть галочка «Enable» – устанавливаем ее, и обязательно сохраняем настройки:

Настройка DDNS в роутерах TP-Link

Подключать роутер к сервису DDNS – пользователь должен, открыв интерфейс и нажав кнопку «Login» (на рассмотренной выше вкладке). Подключение будет действовать до перезагрузки роутера.

Пример использования DDNS и известные проблемы

Допустим, все было выполнено правильно, и дополнительно, на роутере включен ftp-сервер. Тогда, из любой точки мира – этот сервер становится доступен по следующему адресу: ftp://1234router.no-ip.biz:80. Пример, конечно, является правильным, если было получено доменное имя «1234router.no-ip.biz».

Иногда бывает, что по доменному имени – роутер, все же, становится недоступен. В этом случае, достаточно зайти на сайт сервиса, открыть учетную запись (или указать доменное имя) – и в окне на странице появится IP роутера. Проблема в том, что через некоторое время этот IP может смениться.

Но, в принципе, такой метод тоже является актуальным: вместо «1234router…» указывается IP-адрес (который в действительности назначен порту WAN). Возможность увидеть значение IP – предоставляется любым из сервисов, причем, без каких-либо проблем.

Дополнительно, отметим главное отличие DDNS от 2IP.ru и подобного: узнать IP роутера с помощью DDNS – можно с любого устройства, подключенного к сети Интернет (из любой точки мира). Дальше, этот IP – используется для доступа к роутеру.

Пример настройки роутера D-Link под DynDSN