Что такое динамический dns. Рекомендуемые публичные DNS сервера. Добавление участников в группу DnsUpdateProxy

В наши дни почти совсем не осталось бесплатных сервисов DDNS, которые позволяют подменять ваш динамический IP адрес в интернете на статическое доменное имя третьего уровня и получать благодаря этому прямой удаленный доступ к роутеру из интернета. Поэтому многие производители сетевого оборудования внедряют для своих клиентов собственные, наподобие TP-Link ID. Думаю, большинству это ни о чем не говорит, поэтому будем разбираться на пальцах, как сделать статический ip адрес из динамического и тем самым настроить удаленный доступ к роутеру.

Вспомним, как работает ваш домашний роутер с активированной ? Вы задаете ему диапазон (пул) локальных IP адресов.

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


Также есть возможность сделать из динамического статический ip адрес, то есть постоянный, привязанный только к одному устройству — в настройках роутера или на самом компе, смартфоне, ТВ, IP-камере и т.д.

Это удобно делать, если вы настраиваете некую постоянную взаимосвязь между устройствами внутри своей локальной сети, например для просмотра картинки с , либо для воспроизведения фильма — чтобы каждый раз не менять настройки в программе, задаем каждому устройству свой постоянный адрес.


Почти точно так же работает и ваш провайдер. Ваш микрорайон, который подключен к оборудованию провайдера — это не что иное, как большая локальная сеть. Когда вы подключаетесь к интернету, ваш хост (компьютер или роутер) является частью одной большой локальной сети с множеством маршрутизаторов. На оборудовании провайдера стоит DHCP сервер, и каждый раз, когда ваш компьютер или роутер подключается к интернету, то он внутри этой большой сети получает свой IP адрес, который ему автоматически присваивается сетевым оборудованием. При этом данный адрес может быть трех типов:

  1. Статический — когда за вашей квартирой закреплен белый внешний IP, который никогда не меняется. То есть он всегда постоянный и зайдя по нему вы напрямую из интернета, попадете на свой компьютер или роутер. Поскольку такие адреса очень редкие, за них нужно платить отдельные деньги сверх тарифа.
  2. Динамический — тоже белый айпишник, но который периодически меняется. Например, после перезагрузки роутера или по определенному промежутку времени. Это более часто встречаемый случай и именно с ним будет работьать технология замены динамического IP на статический, которая называется DDNS.
  3. Серый — это самый частый случай, когда на целый дом или микрорайон выдается один внешний IP адрес, принадлежащий роутеру провайдера, а он уже в свою очередь раздает свои внутренние адреса пользователям. В качестве примера могу привести различные модемы и роутеры от мобильных операторов — они выдают интернет именно по такой технологии, и с ней даже при наличии DDNS нам ловить вообще нечего — чтобы из интернета получить доступ к вашему роутеру или устройству, к нему подключенному, нужно устанавливать VPN соединение.

Подробнее об IP адресах и о том, как определить, серый у вас или белый, я уже писал в .

Чтобы при выходе в интернет у вас всегда был один и тот же айпишник, нужно об этом попросить провайдера, то есть, переводя на русский, заплатить ему каждый месяц лишних денег. Однако по карману это не всем, поэтому появились такие сервисы, которые решают эту проблему.

Что такое DDNS и для чего он нужен в роутере?

DDNS (или Динамический DNS, DynDNS) — это технология, благодаря которой можно отследить изменения внешнего IP адреса и преобразовть его в статическое доменное имя. Оно всегда будет одинаковым и доступно из интернета по одному и тому же веб-адресу. Поддержка DDNS сервисов в маршрутизаторе как раз позволяет сделать статический ip адрес из динамического и организовать удаленный доступ к роутеру и ресурсам внутри вашей локальной сети из интернета.

Что требуется для использования DDNS?

Надеюсь, теперь все стало понятнее. Подведем итог — для организации удаленного доступа к системе видеонаблюдения, к файловому ftp-серверу и другим ресурсам вашей локальной сети из интернета требуется одна из возможных вещей:

  • Белый статический IP адрес в интернете, который может предоставить провайдер
  • Сделать статический ip адрес из белого динамического с использованием сервиса DDNS
  • Использовать облачные сервисы
  • Работа по протоколу адресации TCP/IP v.6 — это дело ближайшего будущего, так как пока почти никто из провайдеров данный стандарт не поддерживает, поэтому пока о нем говорить смысла нет.

Основная «фишка» в использовании сервисов DDNS — прямой доступ к роутеру и ресурсам, которые на его базе созданы, например к , не только при подключении к нему по wifi, но и из любой точки планеты по Интернету. Но работает она только при наличии внешнего БЕЛОГО IP адреса (динамического или статического)

Как сделать статический IP адрес из динамического с помощью сервиса DDNS No-IP.Com

Самым доступным и при этом бесплатным вариантом является использование сервиса NO-IP. Для наглядности опишу порядок его работы.

  1. Ваш локальный сетевой ресурс, допустим домашняя ip-камера, получает IP адрес от вашего роутера
  2. На роутере настроен , позволяющий обращаться к IP камеры через IP роутера + порт
  3. Ваш роутер получает белый IP от провайдера и с ним выходит в интернет. Этот адрес периодически меняется, т.к. он динамический.
  4. Сервис DDNS отслеживает изменение вашего внешнего IP и подменяет его на один и тот же зарегистрированный вами домен 3 уровня
  5. Вы с другого компьютера через интернет, например, с работы, заходите по этому доменному имени, или по доменному имени + порт роутера, на который настроена камера
  6. И попадаете на интерфейс камеры для просмотра картинки

Для организации этой схемы идем на сайт no-ip.com и заводим аккаунт. Это сервис DynDNS, который превращает ваш внешний динамический IP адрес в домен 2 или 3 уровня. Кликаем на кнопку «Sign Up», вводим все свои данные и подтверждаем email при помощи письма, пришедшего на ящик.

Далее заходим в свой аккаунт, используя зарегистрированные логин и пароль, жмем кнопку «Add Host» и заполняем подчеркнутые на скрине параметры. Точнее все они будут стоять по умолчанию, кроме Hostname, который вам надо просто придумать и выбрать домен.

Также обратите внимание, что в настройке «Host Type» должно быть включено «Port 80 Redirect» и в поле ввода номера порта быть указан именно тот, на котором работает программа или сервис в локальной сети, к которому мы хотим обращаться по данному доменному имени.

Сохраняем настройки и заходим в админку роутера. Находим здесь раздел, в котором настраивается подключение к динамическому DNS (DDNS).

Динамический DDNS на роутере TP-Link

В роутерах TP-LINK есть возможность выбрать из нескольких популярных сервисов DDNS в одноименном разделе меню «Динамический DNS «.

Выберем из списка «NO-IP» и введем заведенный нами домен, а также укажем логин и пароль для авторизации на сайте no-ip.com. После чего ставим галочку на пункт «Включить DDNS» и применяем настройки для перезагрузки роутера. Вот и все, теперь при обращении по зарегистрированному веб-адресу мы попадем точно на тот сервис, который использует указанный нами в аккаунте DDNS сервиса порт.

В новых бюджетных моделях раздел «DDNS » спрятан в «Дополнительных настройках »

У более дорогих моделей все еще более интересно — совсем недавно TP-Link внедрил облачные технологии, с помощью которых можно заменить DDNS — теперь все настраивается еще проще. Идем во вкладку «Дополнительные настройки», раздел «Сеть — DDNS». Тут можно также использовать существующую учетную запись в no-ip.com

Но гораздо удобнее поставить флажок в «Поставщике услуг» на «TP-LINK». Для того, чтобы все заработало, нужно авторизоваться под своим .

Если вы в нем еще не зарегистрировались, то не теряйте времени и сделайте это сейчас — он абсолютно бесплатен для пользователей роутеров TP-Link. Зато потом через облачные технологии сможете из-под своей учетной записи удаленно управлять роутером без каких-либо дополнительных сложных настроек DDNS, статических IP адресов и прочих приблуд, которые простому пользователю понять бывает не просто.

Иногда необходимо иметь доступ к своей машине, или машине клиента, которые имеют динамический IP адрес. Для этих целей существует масса сервисов, но бесплатных становится все меньше и меньше. Вот для этого и предназначена данная статья. Если у вас есть под рукой сервер (VDS, VPS или дедик), из которого можно сделать ДНС сервер, то с помощью данной статьи вы сможете сделать для себя такой сервис и пользоваться им как вам удобно и сколько вам хочется. В ходе создания сервиса было перерыто множество страниц в интернете, зачастую противоречащих друг другу. Поэтому, ссылки на исходники указаны не будут. Это статья как бы компиляция всех сведений, нарытых в сети.

Начало работы

Для начала работы по созданию сервиса предполагается, что у вас настроен на сервере BIND , установлены пакет dnsutils и программа Curl . Если обнаружилось вдруг, что у вас этого нет, почитайте, что написано в этой статье . Для простоты сразу договоримся, что оперировать будем доменом dyndns.my и поддоменом с динамическим IP dhost . Полный адрес получится dhost.dyndns.my . В домене должна быть запись A ns с IP вашего сервера. Или не ns, тут кому как нравится, но в этом примере дело обстоит именно так. Ну и для полной ясности, и сервер, и клиент - компы с Ubuntu. Версия уже принципиального значения не имеет.

Он сказал, поехали!

Настройка клиентской части

Раздел идет впереди настройки сервера потому, что ключи авторизации необходимо генерировать на клиенте.

Создадим отдельный каталог в /etc .

sudo mkdir / etc/ ddns/

Перейдем в него.

cd / etc/ ddns/

Генерируем пару ключей для обмена информацией между клиентом и сервером.

sudo dnssec-keygen -b 512 -a HMAC-MD5 -v 2 -n HOST dyndns.my

В результате этой операции в каталоге появляются два файлика - Kdyndns.my.+157+48025.key и Kdyndns.my.+157+48025.private . Из первого файла нам будет необходим только набор символов после «157 ». Именно после пробела начинается тело ключа. Создаем скрипт обновления доменных зон.

sudo nano ddns.sh

Вставляем туда текст.

#!/bin/bash TTL =3600 SERVER =ns.dyndns.my HOSTNAME =dhost.dyndns.my ZONE =dyndns.my KEYFILE =Kdyndns.my.+157 +48025 .private new_ip_address =` curl http:// dyndns.my/ ip.php` #Этот файлик создадим позднее на сервере! cd / etc/ ddns nsupdate -v -k $KEYFILE << EOF server $SERVER zone $ZONE update delete $HOSTNAME A update add $HOSTNAME $TTL A $new_ip_address send EOF

Сохраняем. Затем даем права на исполнение.

sudo chmod +x ddns.sh sudo ln -s / etc/ ddns/ ddns.sh / usr/ sbin/ ddns_update

Настройка серверной части

Настройка сервера имен заключается в прописывании домена и установке разрешения на обновления записей A доменных имен с динамическими IP. Переходим в каталог bind.

cd / etc/ bind/ sudo nano dnskeys.conf

Вставляем туда текст и тело ключа, о котором упоминалось в предыдущем разделе.

Key "dyndns.my" { algorithm hmac-md5; secret "тут тело ключа" ; } ;

Добавляем в файл /etc/bind/named.conf строчку с указанием файла, где определен ключ.

Include "/etc/bind/dnskeys.conf" ;

Следующим шагом необходимо в файл /etc/bind/named.conf.local прописать доменную зону, которой мы оперируем.

Zone "dyndns.my" { type master; allow-update { key dyndns.my;} ; file "/etc/bind/pri.dyndns.my" ; } ;

Необходимо будет создать и файл /etc/bind/pri.dyndns.my с различными записями для домена. Он обычный, с минимально необходимым набором записей для функционирования домена, потому и нет необходимости рассматривать его в данной статье. Рестартуем сервер имен для завершения и применения настроек.

sudo service bind9 restart

Теперь в каталог, предназначенный для веб страниц, помещаем очень простой скрипт на php.

sudo nano / var/ www/ ip.php

Вставляем туда код.

Если вы обратитесь к этому файлу через веб, к примеру, http://dyndns.my/ip.php , то, кроме своего IP адреса ничего не увидите. Что нам и требовалось. Клиент, с помощью curl, его и получает и обновляет информацию на сервере.

Вот и все телодвижения по настройке серверной части.

Настройка заключительная

Доделываем клиента.

sudo nano / etc/ crontab

Добавляем строчку.

*/ 15 * * * * root / usr/ sbin/ ddns_update

Это означает, что раз в 15 минут скрипт будет запускаться. На этом настройка клиентской части закончена. Можно подождать 15 минут и убедиться, что наш хости работает пингом со стороннего сервера. А можно и выполнить команду.

sudo ddns_update

Для чего, собственно, мы и делали симлинк в /usr/sbin. Если вы не получили в ответ выхлоп со словом REFUSED , значит вы все сделали правильно и можете быть счастливы.

Выводы

На выходе мы получили вполне себе работающий сервис динамических имен. Есть, конечно, и существенный недостаток. Используемый ключ подходит для изменения любого поддомена из прописанных. Т.е., он один для всех. Это открывает простор для хулиганства, если кто-то упрет ключ. Поскольку, сервис делался для себя, то особых проблем это не вызовет. Ибо надо быть не совсем здоровым психически, чтоб хулиганить самому у себя. Возможно есть и решение, позволяющее каждый поддомен авторизовать по своему ключу, но целью данной статьи это не ставилось, потому гугля сильно и не терзалась.

Большая просьба, при перепечатке данной статьи, указывать источник, в частности, этот ресурс.

Если у вас еще нет домена

Регистрация домена

Для того чтобы зарегистрировать домен, вам сначала необходимо создать аккаунт на сайте RU-CENTER . Для этого нажмите ссылку «Стать клиентом» в правом верхнем углу сайта.

Далее необходимо выбрать тип анкеты (для физического или юридического лица), а также согласиться с условиями предоставления услуг.

Затем нажать кнопку «Заполнить анкету». В открывшейся анкете необходимо заполнить все поля, отмеченные *. Вводимые данные должны соответствовать действительности. После ввода требуемой информации нажмите кнопку «Отправить анкету».

После того как вы зарегистрировались на сайте RU-CENTER, вы можете начать регистрацию домена. Для этого на сайте RU-CENTER введите имя домена, который вы хотели бы зарегистрировать, и нажмите кнопку «Проверить».

Система даст вам информацию о том, свободен ли данный домен.

Если домен свободен, вы можете начать процедуру регистрации, нажав кнопку «Зарегистрировать».

В процессе регистрации домена вам необходимо сразу добавить услугу «DNS-master», которая позволяет использовать динамический DNS.

Вам необходимо придумать уникальный идентификатор (имя) для этой услуги, которое будет отображаться в вашем личном кабинете, и нажать кнопку «Продолжить».

На следующей странице вам необходимо проверить правильность заказа.

Если все данные верны, нажмите кнопку «Отправить заказ».

После этого ваш заказ будет принят в обработку. Если на вашем счете достаточно денег для оплаты заказа, то он начнет выполняться сразу после отправки заявки. Если на вашем счете недостаточно средств для оплаты заказа, то вам необходимо пополнить счет, после чего ваш заказ будет исполнен.


Для работы динамического DNS необходимо получить специальные логин и пароль.

Для этого вам нужно перейти в раздел «Для клиентов» → «DNS-хостинг» → «Динамический DNS» на сайте www.nic.ru и нажать кнопку «Получить».

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

Внимание! При повторном запросе ранее выданные логин и пароль становятся недействительными. Необходимо перенастроить динамический DNS на сетевом устройстве с новыми полученными данными.


Добавление ресурсной записи


Настройка оборудования

  • myrouter.test.ru
  • Имя пользователя, пароль — данные, полученные в п.2.2

Подробную инструкцию по работе с панелью администратора вы можете найти на сайте производителя вашего оборудования.


Если у вас уже есть домен

Если у вас уже имеется ранее зарегистрированный домен, вы можете использовать его для настройки динамического DNS.

Заказ услуги DNS-master

Для работы динамического DNS необходимо подключить услугу DNS-master. Для этого перейдите по ссылке , выберите понравившийся вам тариф и придумайте уникальный идентификатор (имя) для заказываемой услуги, которое будет отображаться в вашем личном кабинете.

Работа динамического DNS поддерживается каждым из доступных тарифов. Различия заключаются в доступном количестве добавляемых доменов и ресурсных записей.

Если вы будете использовать динамический DNS в рамках 1 домена, а количество ресурсных записей не будет превышать 75, вам подойдет тариф S.


Получение данных для динамического DNS

Для работы динамического DNS вам необходимо получить специальные логин и пароль. Для этого вам нужно перейти в раздел «Для клиентов» → «DNS-хостинг» → «Динамический DNS» на сайте www.nic.ru и нажать кнопку «Получить».

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

Внимание! При повторном запросе ранее выданные логин и пароль становятся недействительными. Необходимо перенастроить динамический DNS на сетевом устройстве с новыми полученными данными.


Делегирование домена на серверы RU-CENTER

Если ваш домен не используется для доступа к сайтам и другим ресурсам

Если ваш домен до этого не использовался для доступа к сайтам и другим ресурсам, вам необходимо делегировать его на серверы RU-CENTER.

Чтобы делегировать домен, вам необходимо зайти в панель вашего регистратора, найти раздел, в котором можно управлять DNS-серверами домена, и указать там следующие DNS-серверы .

Для того чтобы узнать, кто является регистратором вашего домена, воспользуйтесь сервисом WHOIS :

В данном случае регистратором является RU-CENTER. Инструкция по делегированию доменов, зарегистрированных в RU-CENTER.

Внимание! При делегировании домена происходит процесс перезаписи старых данных в реестре доменной зоны, в которой зарегистрирован домен. Этот процесс может занимать до суток.

Если ваш домен используется для доступа к сайтам и другим ресурсам

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

В панели вашего хостинг-провайдера создайте поддомен вашего домена. Далее вам нужно делегировать созданный поддомен на серверы RU-CENTER. Для этого в панели вашего хостинг-провайдера найдите раздел, в котором происходит управление DNS-записями, и добавьте NS-записи для созданного поддомена, указав в них следующиеDNS-серверы .


Добавление ресурсной записи

Вам нужно добавить зарегистрированный домен в список управляемых доменов услуги DNS-master.


Настройка оборудования

Вам необходимо настроить ваше оборудование через имеющуюся панель администратора с использованием полученных данных:

  • Доменное имя — полное имя домена, для которого создана A-запись с адресом 127.0.0.1 в сервисе DNS-master, например, myrouter.test.ru
  • Имя пользователя, пароль — данные, полученные в п.2.2.
  • В качестве поставщика услуг вам необходимо выбрать DNS-master.

Подробную инструкцию по работе с панелью администратора вы можете найти на сайте производителя вашего оборудования.

ЙЪ-ЪБ ИТПОЙЮЕУЛПК НПЪЗПЧПК ОЕДПУФБФПЮОПУФЙ ЬФПЗП РТПЧБКДЕТБ, С УФБМ ЙУЛБФШ УЕВЕ ОПЧЩК ЛБОБМ Ч йОФЕТОЕФ. йН УФБМ ччж гфл . лБЪБМПУШ ВЩ, ОЙЛБЛЙИ УМПЦОПУФЕК У РПДЛМАЮЕОЙЕН РП 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.

Иногда необходимо прописать 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

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