Настройка 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 - 2017. Программирование и верстка руками и с умом. ИТ-аутсорс для СНГ.

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