вторник, 18 февраля 2014 г.

CentOS. Установка dhcp из bind10

Установка и настройка производилась в основном по следующим страницам:
http://www.tokiwinter.com/bind-10-first-steps/
http://www.tokiwinter.com/bind-10-configuring-dhcp-for-dhcpv4-clients/
Ссылка на официальную документацию, сильно помогла, года происходил разбор опций:
http://bind10.isc.org/docs/bind10-guide.html
Установка на Ubuntu (сервер поднялся, однако проблемы с раздачей для клиентов Windows Xp SP3):
http://bind10.isc.org/wiki/SystemNotesUbuntu1304
http://bind10.isc.org/wiki/SystemNotesUbuntuPrecise


Итак начнём

Ставим необходимые пакеты на систему
# yum install -y gcc-c++ make automake libtool boost boost-devel sqlite-devel
# yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel

Переходим в директорию для исходных файлов
# cd /usr/local/src

Необходимо скачать пакеты:

  • # wget http://files.randombit.net/botan/v1.10/Botan-1.10.7.tbz
  • # wget http://downloads.sourceforge.net/project/log4cplus/log4cplus-stable/1.1.1/log4cplus-1.1.1.tar.bz2
  • # wget http://www.python.org/ftp/python/3.3.3/Python-3.3.3.tgz

Устанавливаем Botan (на время установки прошла версия 1.10.7,)
# cd /usr/local/src
# tar xjf Botan-1.10.7
# cd Botan-1.10.7
# ./configure.py --prefix=/usr/local/botan-1.10.7
# make
# make install
# ln -s /usr/local/botan-1.10.7 /usr/local/botan
# ln -s /usr/local/botan/bin/botan-config-1.10.7 /usr/local/botan/bin/botan-config

Устанавливаем log4cplus
# cd /usr/local/src
# tar xjf log4cplus-1.1.1.tar.bz2
# cd log4cplus-1.1.1
# ./configure --prefix=/usr/local/log4cplus-1.1.1
# make
# make install
# ln -s /usr/local/log4cplus-1.1.1 /usr/local/log4cplus

Устанавливаем Phyton 3.3.3
# cd /usr/local/src
# tar xjf Python-3.2.3.tar.bz2
# cd Python-3.2.3
# ./configure --prefix=/usr/local/python-3.2.3
# make
# make install
# ln -s /usr/local/python-3.2.3 /usr/local/python3

Для работы с DHCP в bind10 необходима база данных mysql, устанавливаем
# yum install -y mysql mysql-devel mysql-libs mysql-server

Смотрим где находится файл mysql_config
# which mysql_config
/usr/bin/mysql_config
он нам потребуется для компилирования bind10.

Необходимые пакеты поставлены, нужно приступать к установке bind10
Скачиваем bind10:
#wget https://www.isc.org/downloads/file/bind10-1-1-0/?version=tar.gz
Приступаем к установке:
# cd /usr/local/src
# tar xzf BIND10_1.1.0.tar.gz 
# cd bind10-1.1.0/
# ./configure --prefix=/usr/local/bind10-1.1.0 --with-pythonpath=/usr/local/python3/bin/python3 --with-botan-config=/usr/local/botan/bin/botan-config --with-log4cplus=/usr/local/log4cplus --with-dhcp-mysql
После создания сценария установки продолжим:
# make
# make install
# rm -f /usr/local/bind10
# ln -s /usr/local/bind10-1.1.0 /usr/local/bind10

Разберёмся с MySQL
Инициализируем системные таблицы базы
# mysql_install_db

Стартуем MySQL

# service mysql start

Задаём пароль для root-пользователя в mysql

#mysqladmin -u root password 'rootroot' 



Приступим к созданию базы данных для bind10 (она будет хранить данные о leases):
# mysql -u root -p
mysql>
mysql> CREATE DATABASE bind10;
mysql> USE bind10;
mysql> SOURCE /usr/local/bind10/share/bind10/dhcpdb_create.mysql;
mysql> GRANT ALL ON bind10.* TO 'bind10'@'localhost' IDENTIFIED BY 'bind10';
mysql> EXIT;
можно проверить входим под новыми данными во вновь созданную базу
# mysql -u bind10 -p -h localhost bind10
mysql> EXIT;

Запускаем bind10 в виде задачи (необходимо пописать как сервис, в планы)
# nohup /usr/local/bind10/sbin/bind10 &

Создаём пользователя для управления настройками bind10
# /usr/local/bind10-1.1.0/sbin/b10-cmdctl-usermgr add
запрос ввода имени пользователя и пароля (с подтверждением) для управления настройками

Вызываем утилиту управления настройками
# cd ../../bin
# ./bindctl
запросит имя пользователя и пароль созданный ранее и добавляем настройки:
>
//Добавляем компоненты Dhcp4
> config add Init/components b10-dhcp4 
> config set Init/components/b10-dhcp4/kind dispensable
// Отправляем изменения конфига на одобрение сервера. Обячно делается после добавления/создания какой-либо сущности в настройках
> config commit
// Выводим список настроек Dhcp4, будет что-то вроде этого:
> config show Dhcp4
Dhcp4/interface/        list    (default)
Dhcp4/renew-timer       1000    integer (default)
Dhcp4/rebind-timer      2000    integer (default)
Dhcp4/valid-lifetime    4000    integer (default)
Dhcp4/option-def        []      list    (default)
Dhcp4/option-data       []      list    (default)
Dhcp4/lease-database/type       ""      string  (default)
Dhcp4/lease-database/name       ""      string  (default)
Dhcp4/lease-database/user       ""      string  (default)
Dhcp4/lease-database/host       ""      string  (default)
Dhcp4/lease-database/password   ""      string  (default)
Dhcp4/subnet4   []      list    (default)
// Прописываем данные для подключения к базе данных MySQL
> config set Dhcp4/lease-database/type "mysql"
> config set Dhcp4/lease-database/name "bind10"
> config set Dhcp4/lease-database/host "" //Можно оставить пустым если речь идёт о localhost
> config set Dhcp4/lease-database/user "bind10"
> config set Dhcp4/lease-database/password "bind10"
> config commit
// Добавляем сеть и пул адресов
> config add Dhcp4/subnet4
> config set Dhcp4/subnet4[0]/subnet "192.168.172.0/24"
> config set Dhcp4/subnet4[0]/pool [ "192.168.172.10 - 192.168.172.20" ]
> config commit
// Добавляем стандартные опции, которые будут передаваться клиенту
// Шлюз по умолчанию
> config add Dhcp4/subnet4[0]/option-data
> config set Dhcp4/subnet4[0]/option-data[0]/name "routers"
> config set Dhcp4/subnet4[0]/option-data[0]/code 3
> config set Dhcp4/subnet4[0]/option-data[0]/space "dhcp4"
> config set Dhcp4/subnet4[0]/option-data[0]/csv-format true
> config set Dhcp4/subnet4[0]/option-data[0]/data "192.168.172.2"
> config commit
// Список DNS серверов
> config add Dhcp4/subnet4[0]/option-data
> config set Dhcp4/subnet4[0]/option-data[1]/name "domain-name-servers"
> config set Dhcp4/subnet4[0]/option-data[1]/code 6
> config set Dhcp4/subnet4[0]/option-data[1]/space "dhcp4"
> config set Dhcp4/subnet4[0]/option-data[1]/csv-format true
> config set Dhcp4/subnet4[0]/option-data[1]/data "8.8.8.8, 8.8.4.4"
> config commit
Для удобства можно поставить Apache2 + phpMysqlAdmin:
# yum install phpMyAdmin
В файле /etc/httpd/conf.d/phpMyAdmin.conf прописываем права на доступ к папкам phpmyadmin. 
Запускаем apache
# service httpd start
Не забываем про iptables
iptables -I INPUT -p tcp --dport 80 -j ACCEPT 
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT 
iptables -I INPUT -p tcp --dport 67 -j ACCEPT 
service iptables save

Загружаем браузер и машины клиентов и радуемся

1 комментарий:

  1. Записки: Centos. Установка Dhcp Из Bind10 >>>>> Download Now

    >>>>> Download Full

    Записки: Centos. Установка Dhcp Из Bind10 >>>>> Download LINK

    >>>>> Download Now

    Записки: Centos. Установка Dhcp Из Bind10 >>>>> Download Full

    >>>>> Download LINK

    ОтветитьУдалить