Автор: desenix <*****@smtp.ru>
Newsgroups: email
Date: Mon, 24 Dec 2007 14:31:37 +0000 (UTC)
Subject: Primary DNS на динамическом IP
Итак, вы купили себе доменное имя, но платить за DNS и хостинг не
хочется, тем более что существуют как бесплатные DNS, так и хостинг.
Некоторые хостеры предоставляют и DNS, предлагая делегировать им ваш
домен. Но при этом не дают редактировать записи "зоны". Но
это можно обойти, используя бесплатные DNS, но и тут вас ждут
ограничения, например запись SOA не доступна, или есть ограничения на
параметры записей итд, чего нет, если домен держать на своем сервере
(роутере).
Но тут возникает конфликт, для того чтоб держать Primary DNS у себя, он
должен иметь статический IP иначе на него невозможно будет делегировать
домен. А ведь имея статический IP, кроме большей оплаты, если сервер еще
и роутером является, вы будете иметь ограничения на некоторых сайтах, да
и от некоторых хакерских атак проще уйти, сменив IP.
А решение очень простое. Заводим у себя на сервере master "зону",
регистрируем и настраиваем синхронизацию с доменом третьего уровня,
например на сайте DynDNS.org. Далее идем на сайт everydns.net и
регистрируем там "Secondary Domains", указывая в качестве "master
nameserver" доменное имя, зарегистрированное на DynDNS.org. Если с
синхронизацией домена на DynDNS.org проблем не будет, то и ваша "зона"
на everydns.net всегда будет в порядке, т.к. данный сервер всегда будет
разрешать доменное имя, и только потом считывать "зону" с вашего
сервера. Не забудьте разрешить скачивание "зоны" для этих серверов.
Дале, делегируем обслуживание вашего домена только серверам
ns1-ns4.everydns.net. Это нужно потому, что наш адрес будет меняться, а
корневые серверы предпочитают обращаться по IP. Таким образом про наш
сервер через записи "зоны" могут никогда и не узнать, т.к. явных ссылок
там нет, если только вы сами этого не сделаете. А вторичные сервера
выглядят для всех как первичный и вторичные J.
Теперь, как лучше создать саму "зону", вот ее пример, можно как шаблон
использовать.
$ttl 1800
@ IN SOA ns.ваш_домен.ru. hostmaster.ваш_домен.ru. (
111
1800
1200
604800
900 )
; NS (Name Server).
IN NS ns4.everydns.net.
IN NS ns3.everydns.net.
IN NS ns2.everydns.net.
IN NS ns1.everydns.net.
;эти записи сообщают, какие сервера обслуживают наш домен.
; Delegated
net.ваш_домен.ru. IN NS ns1.by.ru.
net.ваш_домен.ru. IN NS ns2.by.ru.
;тут делегируем под домен net.ваш_домен.ru стороннему хостеру
; A (Address).
ваш_домен.ru. IN A a.b.c.d
;указываем статический IP адрес по которому находится основной сайт, к сожалению динамический адрес указать нельзя, но для этого существует др. способ, динамический домен.
; MX (Mail Exchanger).
;$ORIGIN ваш_домен.ru.
ваш_домен.ru. IN MX 5 mx.хостер_почты.ru.
;тут укажем какой сервре будет принимать почту, записей может быть больше, можно указать свой домен, если у вас есть почтовый сервер.
; CNAME (Canonical Name)
*.net.ваш_домен.ru. IN CNAME net.ваш_домен.ru.
;укажем что все поддомены и сам этот домен, надо разрешать через самого себя, для исключения конфликта со следующей записью.
*.ваш_домен.ru. IN CNAME ваш_домен.ru.
;все поддомены разрешать через имя самого домена
ns.ваш_домен.ru. IN CNAME ваш_домен.dyndns.net.
ns0.ваш_домен.ru. IN CNAME ваш_домен.dyndns.com.
;т.к. провайдера у меня два, то и канала к моему DNS два, хотя эти записи не имеют знчения
Остальные записи на свое усмотрение
Да чуть не забыл, вместо dyndns можно использовать и сам everydns, у
него так же есть динамические домены, но они не будут видны через
обычные запросы, т.е. о них будет знать только сам сервер, что впрочем,
не нарушит данную схему работы. Хотя если динамический домен будет
являться под доменом основного, то вполне возможно, что его IP можно
будет узнать и "снаружи".
Предположим, что вы не только "зону" хотите у себя держать, а еще и
Web-сервер, для этого достаточно добавить запись
www.ваш_домен.ru. IN CNAME ваш_домен.dyndns.net.
но в этом случае ваш сайт будет виден только через www.ваш_домен.ru. , а
если вам нужно и через доменное имя, то можно и это решить, с некоторыми
ограничениями, у вас не будет возможности вешать на коневую запись ни
каких сервисов, только на субдомены.
Итак, идем на любой другой бесплатный DNS сервис, т.к. на этому у нас
уже есть корневая запись. На нем создаем "Webhop Domains" типа
ваш_домен.ru. -> www.ваш_домен.ru.
Через несколько минут смотрим записи "зоны" на том сервере, чтоб узнать
IP адрес сервера переадресации, для этого наберем команду
nslookup -type=a ваш_домен.ru. адрес_dns_сервера
и полученный IP адрес вносим в записи нашей "зоны"
ваш_домен.ru. IN A IP_адрес_сервера_переадресации
таким образом, пользователь открывая страничку с корневой записью, будет
попадать на IP адрес сервера переадресации, а сервер переадресует
пользователя на субдомен WWW а тут уже находится наш Web-сервер.
Если же вас такой вариант не устраивает, то используйте динамические
домены, правда при этом вы лишитесь возможности держать "зону" на своём
сервере.
Оригинал, лежит временно тут http://desenix.by.ru/
UPD: В связи с тем что everydns приказал долго жить, данная схема возможно не применима без модификаций.
520 Прочтений • [Primary DNS на динамическом IP (dns)] [08.05.2012] [Комментариев: 0]