FastNetMon

Tuesday 24 December 2013

Сборка и установка DNS демона Yadifa на Debian 7 Wheezy

Очень интересный и быстрый DNS сервер, используемый реестром зоны .eu. К сожалению, он не имеет пакета для Debian ни в официальном репо, ни у разработчиков. Так что придется собрать его вручную. Также в случае интереса рекомендую посмотреть презентацию:  https://ripe64.ripe.net/presentations/132-RIPE64-YADIFA.pdf

Стягиваем и распаковываем код для сборки актуальной версии (на момент тестов, она была 1.3, актуальную смотрите на http://www.yadifa.eu/download):
cd /usr/src
wget http://cdn.yadifa.eu/sites/default/files/releases/yadifa-1.0.3-2880.tar.gz
tar -xf yadifa-1.0.3-2880.tar.gz
cd yadifa-1.0.3-2880


Стягиваем зависимости для сборки:
apt-get install libssl-dev gcc make automake autoconf

Собираем:
./configure --prefix=/opt/yadifa_1.0.3
make
make install
Копируем пример конфига в боевой конфиг:
mkdir /opt/yadifa_1.0.3/etc
cp /opt/yadifa_1.0.3/share/doc/yadifa/yadifad.conf.example /opt/yadifa_1.0.3/etc/yadifad.conf
После этого открываем в редакторе файл конфига: 
vim /opt/yadifa_1.0.3/etc/yadifad.conf
Создаем набор служебных папок (стандартно папка /usr/local/var никем более обычно не используется и после тестов ее можно удалить, не сломав ничего):
cd /usr/local
mkdir -p var/run var/log var/zones/keys var/zones/masters var/zones/slaves var/zones/xfr
И стираем там строку "edns0 on", почему-то он ругается на нее:
/opt/yadifa_1.0.3/sbin/yadifad
error setting variable: main.edns0 = 'on': CONFIG_UNKNOWN_SETTING_ERR
config: <main>: CONFIG_UNKNOWN_SETTING_ERR ( 'edns0' = 'on' [] )
config: at /opt/yadifa_1.0.3/etc/yadifad.conf:31: CONFIG_UNKNOWN_SETTING_ERR)
error: CONFIG_UNKNOWN_SETTING_ERR
2013-12-24 18:54:58.241476 | server   | E | config: <main>: CONFIG_UNKNOWN_SETTING_ERR ( 'edns0' = 'on' [] )
2013-12-24 18:54:58.241484 | server   | E | config: at /opt/yadifa_1.0.3/etc/yadifad.conf:31: CONFIG_UNKNOWN_SETTING_ERR)
Все, теперь мы можем запускать демона:
/opt/yadifa_1.0.3/sbin/yadifad 
С конфигурацией все довольно просто. Нужно в основной конфиг внести следующее:


<zone>
    type master
    domain domain.ru
    file masters/domain.ru.zone
</zone>

А сам файл зоны положить по пути: /usr/local/var/zones/masters/domain.ru.zone со следующим содержимым. Пример зоны можно взять с документа http://www.yadifa.eu/sites/default/files/yadifa-reference-manual.pdf страница 40.

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



1 comment :

  1. > К сожалению, он не имеет пакета для Debian ни в официальном репо...

    Висит в планах с 2012 г.:
    #682716 - ITP: yadifa -- name server - Debian Bug report logs

    ReplyDelete

Note: only a member of this blog may post a comment.