Настройка 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
Вас могут заинтересовать следующие услуги