Настройка DNS на базе PowerDNS

Настройка SLAVE сервера

Подключаем через SSH на наш SLAVE сервер и также устанавливаем PowerDNS.

// Устанавливаем PowerDNS
yum install pdns pdns-backend-mysql bind-utils -y
//Запуск PowerDNS при старте системы
systemctl enable pdns.service
//Запускаем PowerDNS
systemctl start pdns.service
//Проверяем, запустился ли он
top | grep pdns

Теперь ставим сервер БД ( выбираем MariaDB, т.к. она идет на мастере ).

//Проверяем, есть ли у нас уже БД (если не на чистый сервер ставим)
top | grep mysql
//если нет, то ставим MariaDB
yum install mariadb-server -y
// Запускаем MariaDB
systemctl start mariadb
// Проверяем статус
systemctl status mariadb
//Если все ок - ставим в автозагрузку
systemctl enable mariadb
//Проводим безопасную растройку (ставим пароли для пользователя и т.д.)
mysql_secure_installation
//Проверяем настройку
mysqladmin -u root -p version

Далее нам нужно создать таблицу БД, пользователя и залить дампы.

//Подключаемся
mysql -u root -p
//Создаем БД
CREATE DATABASE powerdns;
//Создаем пользователя с паролем (данные свои подставить)
GRANT ALL ON powerdns.* TO 'user_login'@'%' IDENTIFIED BY 'password';
//Обновить настройки пользователей БД
FLUSH PRIVILEGES;
//Выбираем нашу БД чтобы выполнять в ней SQL запросы
USE powerdns;
//Создаем таблице для доменов
CREATE TABLE domains (	id INT auto_increment,	name VARCHAR(255) NOT NULL,	master VARCHAR(128) DEFAULT NULL,	last_check INT DEFAULT NULL,	type VARCHAR(6) NOT NULL,	notified_serial INT DEFAULT NULL,	account VARCHAR(40) DEFAULT NULL,	primary key (id)
);
// Создаем уникальный индекс для таблицы
CREATE UNIQUE INDEX name_index ON domains(name);
//Записи для доменов
CREATE TABLE records (	id INT auto_increment,	domain_id INT DEFAULT NULL,	name VARCHAR(255) DEFAULT NULL,	type VARCHAR(6) DEFAULT NULL,	content VARCHAR(255) DEFAULT NULL,	ttl INT DEFAULT NULL,	prio INT DEFAULT NULL,	change_date INT DEFAULT NULL,	primary key(id)
);
//Создаем индексы для последней таблицы
CREATE INDEX rec_name_index ON records(name);
CREATE INDEX nametype_index ON records(name,type);
CREATE INDEX domain_id ON records(domain_id);
//Создаем таблицу с для настроек других серверов
CREATE TABLE supermasters (	ip VARCHAR(25) NOT NULL,	nameserver VARCHAR(255) NOT NULL,	account VARCHAR(40) DEFAULT NULL
);
//Записываем значение мастера
INSERT INTO supermasters VALUES( '0.0.0.1', 'ns1.domain.com', 'master' );
//Выходим
quit;

Установка PowerDNS завершена, переходим к настройке.

// Делаем бекап конфига
mv /etc/pdns/pdns.conf /etc/pdns/pdns.conf.bak
// Создаем сам конфиг
mcedit /etc/pdns/pdns.conf
//В сам конфиг размещаем следующие настройки ( о них моно почитать тут - http://wolandblog.com/958-config-powerdns-pdnsconf-na-russkom/ )
setuid=pdns
setgid=pdns
daemon=yes
allow-axfr-ips=127.0.0.1,144.76.221.196
allow-recursion=0.0.0.0/0
version-string=powerdns
#MYSQL
launch=gmysql
gmysql-host=localhost
gmysql-port=3306
gmysql-user=powerdns
gmysql-password=password
gmysql-dbname=dbname
#SLAVE
master=no
slave=yes
slave-cycle-interval=60

Вас могут заинтересовать следующие услуги

© Copyright 2009 - 2018. Программирование и верстка руками и с умом. ИТ-аутсорс для СНГ.

ИП Шкабко Роман, Код ЕДРПОУ: 34047020