Динамик dns. Самостоятельная настройка опции DDNS

Иногда необходимо иметь доступ к своей машине, или машине клиента, которые имеют динамический 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 , значит вы все сделали правильно и можете быть счастливы.

Выводы

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

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

В последнее время, в связи с массовой блокировкой файлообменных торрент-трекеров и прочих неугодных Интернет-ресурсов, стала актуальной тема использования общедоступных бесплатных публичных DNS серверов, являющихся отличной альтернативой провайдерским. Вторая причина их использования — частные проблемы с ДНС провайдера. У крупных операторов связи типа Ростелеком, Билайн или Дом.ру такого, как правило, нет. А вот у мелких провайдеров или домовых сетей частенько случаются падения и отказы в обслуживании. Обычно это происходит из-за экономии на оборудовании и использовании старого, почти «убитого» железа.
Третья причина почему стоит попробовать публичные ДНС серверы — как правило бОльшая скорость работы и отклика. не у каждого провайдера сервер отвечает так быстро, как у Гугл или Яндекс. Ну и последняя, четвертая причина — наличие у многих сторонних сервисов фильтрации фишинг-сайтов, вредоносный и мошеннических ресурсов, а у некоторых — ещё и эротики с порнографией.

Вот наиболее полный список общедоступных бесплатных серверов доменных имён:

Google Public DNS

Бесплатные публичные серверы от крупнейшего в мире медиа-гиганта, компании Google:
ДНС для IPv4:

8.8.8.8 8.8.4.4

Серверы для IPv6:

2001:4860:4860::8888 2001:4860:4860::8844

Яндекс.DNS

Быстрый и надежный ДНС-сервис. Предоставляется возможность использования безопасного и детского фильтров

77.88.8.8 77.88.8.1

Безопасный — Блокировка фишинговых и мошеннических сайтов:

77.88.8.88 77.88.8.2

Семейный — Блокировка сайтов для взрослых, эротики и порнографии:

77.88.8.7 77.88.8.3

Norton ConnectSafe

Отдельный сервис от компании Symantec Corporation, занимающейся безопасностью уже более 20 лет.
Доступны следующие общедоступные бесплатные DNS серверы.

Без фильтрации:

198.153.192.1 198.153.194.1

Безопасный (фильтр на вредоносные программы, фишинговые и мошеннические сайты):

198.153.192.40 198.153.194.40

Безопасный плюс без порнографии:

198.153.192.50 198.153.194.50

Семейный (безопасный, без порно, эротики и сайтов для взрослых):

198.153.192.60 198.153.194.60

Comodo Secure DNS
Ещё один игрок, разрабатывающий свои решения на рынке компьютерной безопасности — компания Comodo. У неё так же есть свой специальный сервис бесплатных публичных серверов.

8.26.56.26 8.20.247.20

Прочие публичные серверы доменных имён

Cisco Systems:
64.102.255.44
128.107.241.185

SkyDNS Service:
193.58.251.251

OpenDNS:
208.67.222.222
208.67.220.220

DNS Advantage:
156.154.70.1
156.154.71.1

Verizon Level 3 Communications:
4.2.2.1
4.2.2.2
4.2.2.3
4.2.2.4
4.2.2.5
4.2.2.6

ScrubIT:
67.138.54.100
207.225.209.66

GTE:
192.76.85.133
206.124.64.1

One Connect IP:
67.138.54.100

Exetel:
220.233.167.31

VRx Network Services:
199.166.31.3

SpeakEasy:
66.93.87.2
216.231.41.2
216.254.95.2
64.81.45.2
64.81.111.2
64.81.127.2
64.81.79.2
64.81.159.2
66.92.64.2
66.92.224.2
66.92.159.2
64.81.79.2
64.81.159.2
64.81.127.2
64.81.45.2
216.27.175.2
66.92.159.2
66.93.87.2

Sprintlink:
199.2.252.10
204.97.212.10
204.117.214.10

  • All Music Downloader — как скачать музыку…

ЙЪ-ЪБ ИТПОЙЮЕУЛПК НПЪЗПЧПК ОЕДПУФБФПЮОПУФЙ ЬФПЗП РТПЧБКДЕТБ, С УФБМ ЙУЛБФШ УЕВЕ ОПЧЩК ЛБОБМ Ч йОФЕТОЕФ. йН УФБМ ччж гфл . лБЪБМПУШ ВЩ, ОЙЛБЛЙИ УМПЦОПУФЕК У РПДЛМАЮЕОЙЕН РП 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 при посещении веб-ресурсов, невелико. Чаще всего, те сервера, которые провайдер использует по умолчанию, работают стабильно и быстро. Однако бывают ситуации, когда стандартные DNS работают недостаточно быстро. В этом случае можно попробовать сменить сервер.

Google Public DNS

Со слов самих разработчиков, этот DNS способен значительно ускорить загрузку веб-страниц. Для того, чтобы воспользоваться этим сервером, в настройках подключения необходимо прописать адреса 8.8.8.8 и 8.8.4.4 для первичного и вторичного DNS соответственно.

Если вас интересуют серверы или система хранения данных, то компания Server City предлагает вам купить серверы DELL, IBM, а также системы хранения данных по выгодной цене. Здесь на сайте server-city.ru вы можете более подробно почитать про все услуги, которые предлагает компания.

Последовав примеру компании Google, Яндекс разработал собственный альтернативный DNS-сервер. Кроме того, разработчики добавили возможности семейного контроля на тот случай, если возникнет необходимость блокировки потенциально опасных ресурсов. Для использования DNS без функций фильтрации, в настройках подключения необходимо ввести адрес 77.88.8.8. Если вы введете адрес 77.88.8.88, то сможете воспользоваться функциями фильтрации опасных ресурсов. В том случае, если вы введете адрес 77.88.8.7, вы активизируете фильтрацию опасных сайтов и порно-ресурсов.

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

Сервис имеет платный и бесплатный режимы.

Бесплатный режим со стандартными настройками доступен по следующим адресам:

  • 208.67.222.222
  • 208.67.220.220

SkyDNS

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

Подключение к бесплатному режиму доступно после прохождения процедуры регистрации, которая не отнимет много времени. Для использования SkyDNS вам будет предложено загрузить небольшое приложение SkyDNS Agent, либо сообщить свой IP. Впрочем, воспользоваться сервисом можно и без установки приложения.

Для этого вам необходимо будет указать адрес DNS 193.58.251.251.

Кроме этого, для поиска подходящего DNS можно воспользоваться соответствующим ПО, которого на просторах интернета немало.

Динамический DNS - технология, позволяющая информации на DNS-сервере обновляться в реальном времени и по желанию в автоматическом режиме. Она применяется для назначения постоянного доменного имени устройству (компьютеру, сетевому накопителю) с динамическим IP-адресом. Это может быть IP-адрес, полученный по DHCP или по IPCP в PPP-соединениях, например при удалённом доступе через модем. Другие машины в Интернете могут устанавливать соединение с этой машиной по доменному имени и даже не знать, что IP-адрес изменился.

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

Динамическая DNS также часто применяется в локальных сетях, где клиенты получают IP-адрес по DHCP, а потом регистрируют свои имена в локальном DNS-сервере.

Настройка через графический интерфейс

Настройка очень простая:

В течении минуты в строке "DNS name:" отобразится полученное DNS-имя.