Настройка 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