середу, 1 липня 2015 р.

Собираем и настраиваем DNS сервер bundy (BIND10). Часть 1.

Как то незаметно ☺ дошли руки все таки потрогать BIND10. Для начала немного истории о данном продукте.
Первый релиз BIND10 был представлен консорциумом ISC в феврале 2013. 17 апреля 2014 консорциум ISC выпустил последний релиз BIND10 1.2.0, после это передал все наработки сообществу независимых разработчиков. Данного решение было принято в связи с тем что у консорциума нет ресурсов для разработки двух альтернативных проектов. Поэтому они будут развивать только BIND9, а BIND10 полностью переходит в руки сообщества. Для уменьшения путаницы с BIND9, на GitHub был создан новый проект в который перенесли все наработки консорциума по BIND10 и данный проект получил название Bundy.

Ну что же, думаю можно приступать к эксперименту.

Создадим новый контейнер и подключаемся к нему:
$ docker run --name bundy --hostname=bundy -d -i -t sovicua:jessie
$ docker attach bundy

Как обычно обновляемся и устанавливаем нужные пакеты для сборки.
# apt-get update
# apt-get upgrade
# apt-get install git-core g++ make pkg-config python3-dev sqlite3 libsqlite3-dev libbotan1.10-dev liblog4cplus-dev libboost-dev python3-setproctitle dnsutils net-tools autoconf autoconf-archive automake libtool

Получаем исходные коды проекта и выполняем сборку:
# git clone https://github.com/bundy-dns/bundy.git
# cd bundy
# autoreconf --install
# ./configure --prefix=/usr --sysconfdir=/etc --without-werror --enable-experimental-resolver
# make

И получаем ошибку при сборке resolver :(
Ошибку получаем из-за того что ветке master отсутствуют некоторые файлы, в частности в папки src/lib/xfr которая нужна для сборки resolver. Если собирать без этой опции то все собирается и работает. Но так как мне хотелось попробовать все, то мне пришлось загрузить исходные коды с другой ветки и собирать все снова.
Дополнительно включаем для сервера DHCP хранение базы в MySQL. В процессе инсталляции нам зададут несколько вопросов на которые думаю не сложно будет ответить ☺
# wget http://dev.mysql.com/get/mysql-apt-config_0.3.6-1debian8_all.deb
# dpkg -i mysql-apt-config_0.3.6-1debian8_all.deb
Выбираем самую последнюю версию (DRM - Developer milestone releases)
Configuring mysql-apt-config
----------------------------

MySQL APT Repo features MySQL Server along with a variety of MySQL components. You may select the appropriate product to choose the version that you wish to receive.

Once you are satisfied with the configuration then select last option 'Apply' to save the configuration. Advanced users can always change the configurations later,
depending on their own needs.

  1. Server  2. Connector-Python  3. Utilities  4. Apply

Which MySQL product do you wish to configure? 1

This configuration program will detect the current state of your system, check for any installed MySQL Server packages, and try to select the most appropriate version
of MySQL Server to be installed. If you are not sure which version to choose for yourself, do not change the auto-selected version. Advanced users can always change
the version later, depending on their own needs.

  1. mysql-5.6  2. mysql-5.7-dmr  3. none

Which server version do you wish to receive? 2

MySQL APT Repo features MySQL Server along with a variety of MySQL components. You may select the appropriate product to choose the version that you wish to receive.

Once you are satisfied with the configuration then select last option 'Apply' to save the configuration. Advanced users can always change the configurations later,
depending on their own needs.

  1. Server  2. Connector-Python  3. Utilities  4. Apply

Which MySQL product do you wish to configure? 4
Если вы решили использовать стабильную версию, то нужно выполнить команду:
# dpkg-reconfigure mysql-apt-config
... и выбрать требуемую версию ПО которое вы хотите использовать.
После этого обновляем данные репозитория и устанавливаем MySQL сервер.
# apt-get update
# apt-get install mysql-server libmysqlclient-dev libz-dev
Запускаем сервер MySQL
# service mysql start
..
[info] MySQL Community Server 5.7.7-rc is started.
# service mysql status
[info] MySQL Community Server 5.7.7-rc is running.

Теперь мы готовы к повторной сборке.
# git clone --branch bundyfork --single-branch https://github.com/bundy-dns/bundy.git
# cd bundy
# autoreconf --install
# ./configure --prefix=/usr --sysconfdir=/etc --without-werror --with-dhcp-mysql --enable-experimental-resolver 
# make
...

... первый запуск и инициализация, это мы продолжим в второй части когда закончится сборка ☺

Немає коментарів:

Дописати коментар