Что такое DNS?

DNS расшифровывается как Domain Name System или Domain Name Service. Вы указали имя, а DNS подставляет ip адрес ресурса, на котором размещен сайт. Название в данном случае именно имя хоста или IP адрес. Без DNS вы должны были бы помнить IP адрес каждого сайта, который хотите посетить. Сегодня в Интернете более 300 миллионов веб-сайтов, помнить IP адрес необходимого сайта совершенно невозможно.

Что такое динамический IP?

Как сделать статический ip адрес из динамического?

Нет необходимости покупать статический IP. Используйте наш бесплатный Dynamic DNS для сопоставления динамического адреса или длинного URL с Вашим ресурсом, чтобы легко запомнить имя хоста. Удаленный мониторинг Вашего дома через веб-камеру на любом порту или запуск собственного сервера у Вас дома с динамическим IP адресом - все это доступно с сервисом DnsIP . В случае выделения провайдером динамического IP такой сервис, как Dynamic DNS, становится необходимым.

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

Приватная сеть.

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

Удаленный компьютер и удаленный рабочий стол.

С помощью DynDNS Secure сервис DnsIP позволяет организовать подключение к удаленному компьютеру через любые программы удаленного доступа, используя любой порт. При этом Вы напрямик связываетесь с удаленным компьютером, а наш сервис лишь сообщает Вашим программам необходимый IP адрес.

Мониторинг сети.

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

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

Автонажатие на кнопку бесплатного доступа при использовании Yota.

В случае, если Вы исользуете бесплатный доступ к интернету от провайдера "Yota", один раз в сутки соединение блокируется, и появляется окно в браузере c предложением продолжить на медленной скорости. Это крайне неудобно при использовании удаленного доступа к данному компьютеру. В этом случае достаточно установить нашу бесплатную программу , и она восстановит доступ к интернету в течение нескольких минут. Эта опция доступна без регистрации пользователя на нашем сайте. При этом программу необходимо только установить, никаких настроек делать не нужно.

В любой момент времени можно узнать IP-адрес Вашего ресурса.

К Вашим услугам страница http://dns-free.com/dns2ip.php?dns=xxxxxxx, где xxxxxxx - имя домена в системе DnsIP. Используйте её для организации ссылок на Ваш ресурс с использованием системы динамического днс. Либо добавьте в избранное, и одним щелчком мыши узнайте текущий ip Вашего ресурса. Или введите вручную в форме на той же

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

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 адреса.

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

Напрмер в моей ситуации, провайдер иногда меняет мой публичный 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

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