Собственный Dynamic DNS. Клиенты Windows и протокол динамического обновления DNS

DDNS — Dynamic DNS (динамический DNS).
Очень часто провайдеры Интернет при подключении к сети предоставляют внешний динамический ip-адрес (Stream, Beeline/Corbina и т.п.). Подавляющему большинству пользователей этого достаточно. Однако в некоторых случаях (для сетевых игр, для доступа к своему компьютеру из вне) необходим внешний статический адрес. Эту услугу предоставляют далеко не все провайдеры, а если и предоставляют, то за дополнительную плату. Обойти эту проблему можно с помощью технологии DDNS, позволяющей связать внешний динамический ip-адрес и постоянное доменное имя. Воспользоваться DDNS можно совершенно бесплатно!


Переадресация 80-го порта. Будет полезна тем, кто настроил свой веб-сервер на нестандартный порт. Избавляет от необходимости прописывать номер порта в адресной строке браузера.
TTL равное 4 часа. Подойдет тем, у кого адрес меняется относительно редко (компьютер, маршрутизатор работает целый день или дольше). В этом случае скорость доступа будет выше, т.к. будут задействованы механизмы кеширования DNS.

Для себя я выбрал no-ip.com, из-за более длительного срока действия акаунта.

Теперь перейдем к регистрации на сайте.

Регистрация на no-ip.com

Заполняем форму регистрации:

Обязательно требуется заполнить все поля кроме Zip/Postal Code.

В настоящее время выявился глюк, связанный с адресами mail.ru . При попытке зарегистрироваться появляется ошибка — “Enter a valid email address” . Выход — использовать любой другой почтовый адрес. Проверено, что с почтой от Яндекса и уж тем более Gmail регистрация проходит без проблем.

После нажатия на кнопку I Accept, Create my Account на ваш адрес будет отправлено письмо с ссылкой для активации акаунта. После активации вновь заходим на сайт и вводим свой логин / пароль. После входа в акаунт переходим в раздел Add a Host:

и переходим к настройкам хоста:

Hostname — выбираем имя домена третьего уровня. Справа в выпадающем списке выбираем домен второго уровня (какой больше нравится).
Host Type — для привязки к ip-адресу выбираем DNS Host(A). DNS Host(Round Robin) — для привязки доменного имени к нескольким ip-адресам (для балансировки нагрузки, платная функция). DNS Alias(CNAME) — привязка к доменному имени (создание синонима). Port 80 Redirect — перенаправление 80-го порта (в остальном аналогично DNS Host(A)). Web Redirect — привязка к URL.
Mail Options — оставляем без изменений.
В конце концов нажимаем Create Host.

Перед началом установки убедитесь, что вы подключены к Интернет.

Запускаем установщик. Все стандартно: выбираем расположение, отмечаем опцию Launch No-IP DUC (для запуска апдейтера сразу после завершения установки).

Переходим к настройке.

В начале необходимо ввести логин и пароль с которыми вы . Если логин и пароль правильные, вы должны увидеть список зарегистрированных хостов (см. Hosts).

Для обновления dns необходимо поставить галочки напротив нужных вам хостов (доменов). Процесс обновления начинается сразу после установки галочки (никаких дополнительных кнопок нажимать не надо). Под списком хостов программа выводит ip-адрес, используемый для обновления (на скриншоте выделено красным).

Для доступа к дополнительным настройкам нажмите кнопку Options.

Закладка Standard. Здесь четыре опции:

  • Run on startup. Автоматический запуск программы при входе пользователя в систему. Также добавляет иконку программы в трей.
  • Use alternate port. Использовать альтернативный порт. Вместо подключения к порту 8245 (по-умолчанию), программа будет использовать порт 80. Эту настройку нужно использовать в случае проблем с подключением к серверу no-ip (например, если провайдер блокирует порт 8245).
  • Run as a system service. Запускать как службу. Настройка очень полезна, если в вашей системе несколько пользователей. Запускает клиент no-ip до входа пользователя в систему. Незаменима для серверов. Эту настройку можно комбинировать с Run on startup (если пользователь все же залогиниться, у него будет иконка no-ip в трее).
  • Require password to resore window from system tray. Требовать пароль при открытии окна конфигурации. Позволяет защитить настройки клиента паролем. Единственный способ обойти пароль — удалить и установить клиент заново.

Закладка Connection. Подзакладка Standard. Здесь три опции:

  • Override automatic connection detection и Override automatic ip detection. Эти опции полезны пользователям у которых несколько сетевых карт и при этом несколько активных подключений. Например подключены по локальной сети и одновременно по wi-fi. Первая опция позволяет вручную определить интерфейс, через который будет осуществляться подключение к серверу no-ip. Вторая опция позволяет вручную определить интерфейс, через который бдет определяться ваш внешний ip-адрес.
  • Третья опция позволяет изменить частоту с которой клиент проверяет изменения внешнего ip-адреса. По-умолчанию этот интервал равен 30 минутам. Менять эту опцию советую только, если ваш ip меняется очень часто (уменьшить интервал до 5-10 минут).

Закладка Connection. Подзакладка Proxy.

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

Обычно proxy-сервера в домашних сетях почти не встречаются, так что для обычных пользователей эта закладка интереса не представляет. То же можно сказать и про закладки Scheduling/Autodial и Other, их описание я опущу.

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

Выставляем опцию DDNS Enabled.
В поле Provider выбираем no-ip.com или dyndns.com.
В поле Host Name вводим имя домена (например example.no-ip.org).
В поле Username / E-mail и в поле Password / Key вводим логин / пароль с которыми зарегистрировались на сайте провайдера DDNS.
Сохраняем настройки. Перезагружаем маршрутизатор. Все.

Хотите быстро проверить знания вашего системного администратора? Спросите у него IP-адрес публичного DNS Google. Любой уважающий себя сисадмин ответит: «8.8.8.8», а продвинутый добавит «… и 8.8.4.4».

Что такое DNS ?

DNS – это аббревиатура от Domain Name System. Переводится как система доменных имён, и является системой, которая сопоставляет между собой доменное имя и IP адрес хоста. Так, зная имя хоста, можно получить его адрес и наоборот. Для чего это нужно? Всемирная сеть Интернет устроена таким образом, что каждое устройство (компьютер, телефон, планшет, маршрутизатор) имеет свой уникальный адрес (на самом деле адреса могут повторяться, если речь идет о разных ЛОКАЛЬНЫХ сетях, но в данной статье мы говорим о глобальной сети и не будем вдаваться в подробности NAT, PAT и маршрутизации), и обратиться к этому устройству можно только зная его адрес в сети. Работая в Интернете, мы обращаемся к десяткам сайтов каждый день. Трудно было бы запомнить все их адреса, состоящие из последовательности номеров и точек, например, что проще запомнить 77.222.61.238 или integrus.compumur.ru? Конечно, второе. А адрес за вас вспомнит система доменных имен.

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

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

Сервер может выполнять различные функции, он может исполнять роль глобального каталога, хранить файловую информацию, работать с базами данных, работать одновременно с несколькими пользователями. В зависимости от предназначения сервера на нем устанавливают роли – специальный набор программ, позволяющих серверу выполнять необходимые функции.

Как установить роль DNS сервера? Установку будем проводить на Windows Server 2012 R2.

Чаще всего роль DNS-сервера устанавливается вместе с контроллером домена. Но в случае если во время установки Active Directory вы сняли галочку «DNS-сервер», либо AD просто не нужен, то необходимо провести установку только DNS-сервера. Для этого нужно зайти в диспетчер сервера и нажать кнопку «Добавить роли и компоненты».

Откроется окно «Мастера добавления ролей и компонентов». Прочитайте вступительный текст мастера и нажмите «Далее».

Убедитесь, что выбран пункт «Установка ролей и компонентов» и нажмите «Далее».

Выберите сервер из пула серверов. В нашем случае сервер всего один, у вас может быть больше.

Выбираем Роль DNS-сервер.

Отметив необходимый пункт галочкой, увидим появившееся окно «Мастера добавления ролей и компонентов». Эти компоненты необходимы для управления устанавливаемой ролью. В случае, если вы собираетесь администрировать DNS-сервер с другого сервера, то можно пропустить добавление данных компонентов.

Вернувшись в окно, с отмеченной галочкой DNS-сервер, нажмите кнопку «Далее», затем «Далее и снова «Далее», пока не станет активна кнопка «Установить».

Нажмите кнопку «Установить».

Начнется установка.

После завершения установки (установка будет длится менее 5 минут) появится надпись: «Установка выполнена на ИмяВашегоСервера». Можно нажать кнопку «Закрыть». Теперь в Панели мониторинга сервера, а также в Меню Пуск появится новая строчка «DNS». Если кликнуть по этой строчке, то запустится «Диспетчер DNS».

Он выглядит следующим образом.

На данный момент на DNS-сервере не настроена ни одна зона. Такой сервер называется кэширующим. Зоны – это части пространства имен, за которые отвечает сервер. Зоны прямого просмотра предполагают преобразование имени в IP-адрес. Зона обратного просмотра наоборот, сопоставляет IP-адрес с именем.

Создадим зону прямого просмотра и сделаем её простую настройку.

Для этого кликнем правой кнопкой мыши на надписи «Зоны прямого просмотра» и затем «Создать новую зону».

Откроется окно «Мастера создания новой зоны», жмем «Далее». Откроется окно выбора типа зоны. Если у Вас нет другого сервера DNS выбирайте «Основная зона» и «Далее».

В следующем окне нужно задать имя зоны. Рекомендуется использовать ваш домен. В нашем случае в качестве имени было бы указано: . Жмем «Далее».

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

Жмем «Далее» и «Готово». Зона прямого просмотра успешно создана, проведем её простую настройку. Настройка зоны просмотра осуществляется путем добавления в зону DNS-записей. Существует несколько типов DNS-записей. Рассмотрим основные типы:

  • А-запись. Соотносит Имя хоста и адрес протокола IPV
  • АААА-запись. Соотносит Имя хоста и адрес протокола IPV
  • CNAME-запись. Псевдоним, используется для переадресации на другое имя.
  • MX-запись. Почтовая запись, указывает на почтовые сервера.
  • NS-запись. Указывает на DNS-сервер домена.

Создадим А-запись для нашей новой зоны прямого просмотра. Для этого кликнем правой кнопкой мыши на зоне и выберем соответствующий пункт контекстного меню, как показано на рисунке.

В открывшемся окне «Новый узел» вводим Имя узла, например GateWay и его IP-адрес, например 192.168.0.1. Нажмите кнопку «Добавить узел».

Готово! Запись успешно создана!

В данной статье мы постарались максимально понятным языком объяснить простому человеку без глубоких знаний IT что такое DNS, как установить роль DNS-сервера на Windows Server 2012, познакомились с основными типами записей и в картинках показали как эти записи делаются. А если все вышеописанное показалось Вам трудным, то наши специалисты настроят Вам сервер менее, чем за час.

http://www.dyndns.com/ .

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

Итак зайдя на сайт dyndns.com видим стартовую картинку, затем если вы уже бывали тут и в дальнейшем после регистрации жмём на Sign In (Войти) . А сейчас жмём на Get a FREE Domain Name (Получить бесплатное доменное имя)

Выбираем 1й бесплатный вариант и жмём Sign up (Зарегистрироваться)

1. Вводим имя для вашего поддомена (тут как пример teamspeak3) и выбираем домен из списка возможных , который вам больше по душе.

2. Вводим текущий ip адрес вашего ПК или сервера, если вы делаете эту операцию непосредственно с него, то можно нажать на ссылку Your current location IP address is (Ваш текущий ип адрес) и система сама подставит его в поле Ip Address.

3. Жмём на Add to cart (Добавить в корзину)

Ошибки :

Please enter a valid IP address (Забыли ввести ваш ип)

This hostname already exists (Этот поддомен уже заняли)

Ещё раз проверяем имя для вашего домена и стоимость всего 0$ за данную услугу, а далее заполняем непосредственно регистрационные данные .

1. Username (Придумайте и запомните имя пользователя для данного сервиса)

2. Password (Придумайте и запомните пароль)

3. Confirm password (Ещё раз введите пароль)

4. Email (Введите ваш рабочий адрес эл. почты, на него придёт подтверждение регистрации)

5. Confirm email (Ещё раз введите ваш эл. адрес почты)

6. Enter the number from the above image (Введите цифры с картинки)

7. I agree (Обязательно поставьте галочку, что согласны с условиями сервиса, остальные галочки можно не ставить)

Затем нажмите Create Account (Создать учётную запись)

Теперь щёлкаем на My hosts (Мои домены), чтобы просмотреть и активировать наш созданный поддомен.

Кликаем на Checkout to Activate , чтобы активировать домен

Вся процедура стоит 0 у.е., просто щёлкаем Next (Далее)

Осталось нажать Activate Services (Активировать сервисы), для завершения активации вашего домена.

Теперь получаем сообщение об успешной активации , осталось немного: научиться просматривать список ваших доменов и скачать программу для ПК (Сервера), которая будет автоматически сообщать серверу об изменении 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.

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: