From: Yuri A. Kabaenkov <hellman@artofit.com>
Newsgroups: portal.sysadmins.ru
Date: Mon, 23 Sep 2003 14:31:37 +0000 (UTC)
Subject: Опыт работы с djbdns
Что имеем:
- FreeBSD 4.4S, djbdns-1.05, ucspi-tcp-0.88, daemontools-0.76
Что хотим:
- Перенести DNS записи с bind сервера на djbdns.
Преимущества djbdns:
- Поддержка wildcards в записях.
- Поддержка load-balancing.
- Автоматическое изменение SOA (есстественно, можно сделать мануальное).
- Удобный формат зон.
- Можно сделать изменение зон по расписанию (например, после такой то
даты, имя test.com меняет свой айпи адрес)
- Высокая безопасность.
Недостатки:
- Нет поддержки slave/secondary зон. (об этом будет говориться позже)
Установка:
Устанавливаем ucspi-tcp-0.88, daemontools-0.76, следуя инструкциям
исталяции. Далее устанавливаем djbdns.
Расписывать данную инсталяцию пошагова смысла нет, она прекрасно расписана
в документации.
Скажу только, что для работа сервера вам нужно ставить Local DNS cache для
ресолва IP адресов и DNS server для контроля за вашими зонами.
Если же у вас гейт, тоесть вашим ДНС кэшом должны пользоватеться
другие пользователи, то вам нужно заменить Local DNS cache на External DNS cache.
У многих возникает проблема с переносом зон из формата bind на djbdns.
Я почти все зоны переносил руками, ну не руками конечно, а самописным
скриптом, так как у хостинг/интернет провайдеров почти все зоны
идентичны.
Но некоторые записи пришлось переносить с помощью программы axfr-get,
входящий в состав djbdns'a.
Note: я всегда правил зону, так как у меня перенесенные работали не
очень -))
Вот пример переноса нестандартной зоны в формат djbdns.
root@katerina.host-sites.com:~/test # tcpclient ns1.artofit.com 53 axfr-get punk.ru tmp tmp.tmp
#заметки 1^^^^^^^^^^^^^^ 2^ 3^^^^ 4^^^^^^ 5^^
1 - сервер откуда берем зону
2 - порт
3 - сам домен файлы куда складывать(темповый и конечный)
Здесь первая Z запись означаем что SOA проставляется руками,
информацию по формату data файла
Вот стандартная запись, которую я исползую для клиентских доменов:
С коментариями:
root@katerina.host-sites.com:~/test # cat /service/tinydns/root/data |grep god.net.ru
.god.net.ru::ns1.host-sites.com.:3600 # primary server для домена
god.net.ru --> ns1.host-sites.com c ttl 3600
&god.net.ru::ns2.host-sites.com.:3600 # secondary server
ns2.host-sites.com
@god.net.ru:64.157.94.70:mail.god.net.ru.:10:3600 # MX записть
ссылается на mail.god.net.ru которому присваевается адрес 64.157.94.70
с приоритетом 10 и ttl 3600
+god.net.ru:64.157.94.70:3600 # обычная запись, что god.net.ru висит
на айпи 64.157.94.70 (можно вначале указать вместо '+' -- '=' тогда
эта запись будет восприниматься и как revers.
+www.god.net.ru:64.157.94.70:3600
+pop.god.net.ru:64.157.94.70:3600
+smtp.god.net.ru:64.157.94.70:3600
root@katerina.host-sites.com:~/test #
Заметки:
1. Если вам нужно отдавать выши зоны bind серверу, который работает
как slave, вам нужно установить axfrdns (доки в пакете djbdns)
2. Если вы хотите использовать djbdns как slave сервер, то лучшее
решения, что я нашел, так это делать синхронизацию data файла
(главного файла, в котором зоны хранятся) через самописные скрипты. Я
думаю написать такое, проблем не будет
3. Данное руководство должно работать на большинстве UNIX-like систем.
4. Полезные ссылки:
djbdns: http://cr.yp.to/djbdns.html
daemontools: http://cr.yp.to/daemontools.html
ucspi-tcp: http://cr.yp.to/ucspi-tcp.html
freebsd: http://www.freebsd.org -;)
5. Это не пошаговое HOW-TO. По нему вы ничего не установите, это "опыт
установки". Вам все равно придется читать документацию =) Данный
документ первоначально был написан для сотрудников компании.
Credits:
Yuri A. Kabaenkov <hellman@artofit.com>
549 Прочтений • [Опыт работы с djbdns (djbdns dns)] [08.05.2012] [Комментариев: 0]