[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: как правильно настроить dns для зоны example.com



Владимир Скубриев -> debian-russian@lists.debian.org  @ Tue, 26 Mar 2013 15:35:36 +0400:

 ВС> On 03/26/2013 12:52 PM, Peter Pentchev wrote:
 >> Так... значит, несколько вариантов:
 >>
 >> 1. Не использовать DNS hosting, а только Ваших серверов; запустить
 >>     BIND, PowerDNS, djbdns или чего-либо в режим authoritative
 >>     nameserver, определить locations/views для локальки и для внешнего
 >>     света, задать соответствующие DNS-записи.  Потом запустить BIND,
 >>     Unbound, PowerDNS, MaraDNS, djbdns или чего-либо в режим recursive
 >>     resolver только для локальки и указать ему Ваши authoritative
 >>     сервера, так чтоб resolver попадал в дефиниции локальних
 >>     views/locations.
 ВС> Не вариант. Наш DNS сервер не сможет обеспечить доступность 24/7/365.

 >> 2. Запустить BIND, PowerDNS, MaraDNS, djbdns или чего либо в режим
 >>     resolving cache + authoritative nameserver.  В дефиниции зон
 >>     authoritative nameserver-а дублировать информацию домена
 >>     example.com, но менять адреса на локальние.  Основний недостаток:
 >>     когда что-либо изменится в "внешней" зоны example.com, надо будет те
 >>     же изменения нанести и в зонах сервера.
 ВС> Как сделать так, чтобы bind забирал информацию о зоне с сервера провайдера
 ВС> автоматически?
 ВС> Как правильно потом менять только нужные нам записи на локальные адреса?

В связи с последним я бы попытался напрячь сервера провайдера работать
slave.  То есть держать свой сервер мастером, разрешить серверам
провайдера zone transfer, вписать их (и только их) как NS в зону, и
попросить сервера провайдера таскать зону со своего.  Для последнего
может потребоваться вменяемый провайдер :) Вообще говоря, в данном
случае регистратор, провайдер DNS и провайдер интернета могут быть
совершенно разными сущностями.  Так, я периодически работаю у знакомых
таким вот "провайдером DNS".  Правда, я обычно предоставляю только один
из secondary.

Но сам я views в бинде не настраивал, готового рецепта не дам.  Тут явно
будут тонкости на тему того, что будет отдавать как zone transfer
слейвам бинд, который выдает разную информацию разным клиентам.

 ВС> А если сделать так, чтобы для клиентов ЛВС первый адрес отдавался локальный а
 ВС> второй публичный ?

 ВС> Можно ли это реализовать

Если я правильно ошибаюсь, да, можно.

 ВС> и как будет себя вести клиентское ПО: 1. Будет всегда пытаться
 ВС> соединится с хостом сначала с первым IP, потом с последующими в
 ВС> случае не доступности первых.  или 2. Программы будут работать в
 ВС> зависимости от их реализации и их принцип выбора не всегда
 ВС> предсказуем.

Второе.  Подозреваю, что чаще всего, если один из адресов из локальной
сети (т.е. той, в которую есть прямой роутинг), то резолвер первым в
ответе программе выдает именно его.  А вот если нет, то может и
потасовать.  Во всяком случае, линуксовый резолвер, насколько нам
рассказывает man resolv.conf, умеет и собственную сортировку, и round
robin.  Сами программы редко что-либо делают с полученным списком
адресов, но в целом имеют право.

 >> 3. Запустить BIND, PowerDNS, MaraDNS, djbdns или чего либо в режим
 >>     resolving cache + authoritative nameserver и определить
 >>     authoritative nameserver как slave/secondary для внешней зоны
 >>     example.com.  Так он получит все изменения... только раз сейчас мне
 >>     не приходит в голову точно как нанести локальние записи там.
 >>     Конечно, если использовать djbdns
 >> , можно в процессе обновления зоны
 >>     наносить в нее какие нужно корекции - ведь зона же machine-readable
 >>     (и writable) plain text file.
 ВС> А как часто DNS серверы обновляют свои зоны являясь при этом slave/secondary ?
 ВС> Исходя из TTL?

slave делает это по трем событиям: по пинку с мастера (мастер посылает
такой пинок, когда перегружает зону), по собственному запуску или
просьбе переконфигурации, и периодически.  Часть "периодически" может
быть у разных серверов реализована по-разному.  TTL тут может и
использоваться, и не использоваться, второе вероятнее.

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


Reply to: