- PVSM.RU - https://www.pvsm.ru -
В одной из предыдущих статей [1] мы рассказали, что есть некий API для программирования DynDNS [2]. В ней же была упомянута возможность программирования стандартного сервера DNS BIND с использованием штатных утилит *nix DNS — nsupdate и TSIG¹.

Наверно большая часть читателей пропустила этот материал — «я же не программист, не программирую я веб-сервисы». Напрасно, опираясь на упомянутую возможность программировать BIND мы расскажем как сделать DDNS своими руками.
Предполагается что наш домен DNS обслуживается нашим собственным сервером DNS и этот сервер BIND (однако знающий человек легко экстраполирует методику на другой сервер). У нас есть несколько географических точек с динамическими адресами которым мы хотели бы назначить имена в нашем домене.
Приступим:
♦ Получим текущий адрес Интернет соединения. Например curl checkip.dyndns.com/; [4]
♦ Получим текущий IP назначенный на наш хост в DNS. Например host my_host.acme.com;
♦ Сравним оба адреса;
♦ Если равны, то ничего не делаем;
♦ Если не равны, то готовим командный файл для nsupdate по примеру упомянутой выше статьи [1];
♦ Выполним nsupdate — заменим адрес в нашем DNS.
Вот собственно и все. Осталось «повесить» наш скрипт на cron и выполнять его, скажем раз в пять минут.
[hr]
¹ Для тех кого интересует детальная настройка, один из возможных вариантов описан (не мной ;-) здесь [5].
Автор: AxianLTD
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/it-infrastruktura/89442
Ссылки в тексте:
[1] предыдущих статей: http://habrahabr.ru/post/256265/
[2] DynDNS: http://dyn.com
[3] здесь: http://www.opennet.ru/base/net/dns_tsig.txt.html
[4] checkip.dyndns.com/;: http://checkip.dyndns.com/;
[5] здесь: http://dil.livejournal.com/1298248.html
[6] Источник: http://habrahabr.ru/post/256267/
Нажмите здесь для печати.