Выполняем настройку NTP сервера на каждом сервере. Это очень важный шаг, поскольку большинство проблем может возникнуть именно из-за некорректной настройки времени.
CREATETABLE domains ( id INT AUTO_INCREMENT, name VARCHAR(255) NOTNULL, master VARCHAR(128) DEFAULTNULL, last_check INTDEFAULTNULL, type VARCHAR(6) NOTNULL, notified_serial INTDEFAULTNULL, account VARCHAR(40) DEFAULTNULL, PRIMARY KEY (id) ) Engine=InnoDB;
CREATEUNIQUE INDEX name_index ON domains(name);
CREATETABLE records ( id INT AUTO_INCREMENT, domain_id INTDEFAULTNULL, name VARCHAR(255) DEFAULTNULL, type VARCHAR(10) DEFAULTNULL, content VARCHAR(64000) DEFAULTNULL, ttl INTDEFAULTNULL, prio INTDEFAULTNULL, change_date INTDEFAULTNULL, disabled TINYINT(1) DEFAULT0, ordername VARCHAR(255) BINARYDEFAULTNULL, auth TINYINT(1) DEFAULT1, PRIMARY KEY (id) ) Engine=InnoDB;
CREATE INDEX nametype_index ON records(name,type); CREATE INDEX domain_id ON records(domain_id); CREATE INDEX recordorder ON records (domain_id, ordername);
CREATETABLE comments ( id INT AUTO_INCREMENT, domain_id INTNOTNULL, name VARCHAR(255) NOTNULL, type VARCHAR(10) NOTNULL, modified_at INTNOTNULL, account VARCHAR(40) NOTNULL, comment VARCHAR(64000) NOTNULL, PRIMARY KEY (id) ) Engine=InnoDB;
CREATE INDEX comments_domain_id_idx ON comments (domain_id); CREATE INDEX comments_name_type_idx ON comments (name, type); CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);
CREATETABLE domainmetadata ( id INT AUTO_INCREMENT, domain_id INTNOTNULL, kind VARCHAR(32), content TEXT, PRIMARY KEY (id) ) Engine=InnoDB;
CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind);
CREATETABLE cryptokeys ( id INT AUTO_INCREMENT, domain_id INTNOTNULL, flags INTNOTNULL, active BOOL, content TEXT, PRIMARY KEY(id) ) Engine=InnoDB;
CREATE INDEX domainidindex ON cryptokeys(domain_id);
CREATETABLE tsigkeys ( id INT AUTO_INCREMENT, name VARCHAR(255), algorithm VARCHAR(50), secret VARCHAR(255), PRIMARY KEY (id) ) Engine=InnoDB;
CREATEUNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);
[root@dns1 run]# service pdns status Redirecting to /bin/systemctl status pdns.service ● pdns.service - PowerDNS Authoritative Server Loaded: loaded (/usr/lib/systemd/system/pdns.service; enabled; vendor preset: disabled) Active: active (running) since Пт 2017-03-10 19:30:18 MSK; 2s ago Process: 15468 ExecStop=/usr/bin/pdns_control quit (code=exited, status=1/FAILURE) Process: 15474 ExecStart=/usr/sbin/pdns_server --daemon (code=exited, status=0/SUCCESS) Main PID: 15475 (pdns_server) CGroup: /system.slice/pdns.service └─15475 /usr/sbin/pdns_server --daemon
мар 10 19:30:18 ns1.domain.ru pdns[15475]: Master/slave communicator launching мар 10 19:30:18 ns1.domain.ru pdns[15475]: gmysql Connection successful. Connected to database 'powerdns' on '127.0.0.1'. мар 10 19:30:18 ns1.domain.ru pdns[15475]: About to create 3 backend threads for UDP мар 10 19:30:18 ns1.domain.ru pdns[15475]: gmysql Connection successful. Connected to database 'powerdns' on '127.0.0.1'. мар 10 19:30:18 ns1.domain.ru pdns[15475]: No new unfresh slave domains, 0 queued for AXFR already мар 10 19:30:18 ns1.domain.ru pdns[15475]: No master domains need notifications мар 10 19:30:18 ns1.domain.ru pdns[15475]: gmysql Connection successful. Connected to database 'powerdns' on '127.0.0.1'. мар 10 19:30:18 ns1.domain.ru pdns[15475]: gmysql Connection successful. Connected to database 'powerdns' on '127.0.0.1'. мар 10 19:30:18 ns1.domain.ru pdns[15475]: gmysql Connection successful. Connected to database 'powerdns' on '127.0.0.1'. мар 10 19:30:18 ns1.domain.ru pdns[15475]: Done launching threads, ready to distribute questions
Не забываем добавить правила на firewall. Я использую Firewalld.
# Файл, куда писать лог (только для Windows систем) logfile=pdns.log
# log-facility для логирования через syslog logging-facility=
# loglevel Amount of logging. Higher is more. Do not set below 3 # Уровень логирования от 0 до 9 (0 – не логировать ничего, 9 – логировать всё). loglevel=4
# Работать в качестве master сервера master=no
# Максимальное количества запросов в очереди. max-queue-length=5000
# Максимальное количество одновременных TCP соединений max-tcp-connections=10
# Сколько секунд хранить отрицательные ответы в кеше PacketCache, # подробности: http://doc.powerdns.com/performance-settings.html#QUERYCACHE negquery-cache-ttl=60
# Отключить шафлинг, он же round robin. Отключать следует только для нужд тестирования. no-shuffle=off
# Дополнительная обработка запросов. Не включать на публичных серверах, # подробности: http://www.nabble.com/CNAME-resolution-problem-td19071640.html out-of-zone-additional-processing=yes
# Версия протокола для обмена данными с pipe backend, # подробности: http://doc.powerdns.com/backends-detail.html pipebackend-abi-version=1
# Сколько секунд хранить запросы в кеше PacketCache query-cache-ttl=20
# ip адрес для исходящих запросов query-local-address=
# Логировать все приходящие запросы query-logging=no
# Сколько (максимально) миллисекунд держать запрос в очереди queue-limit=1500
# Сколько секунд хранить в кеше рекурсивные запросы recursive-cache-ttl=10
# Если включено – рекурсивные запросы будут передваться на обработку рекурсору. recursor=no
# Отдавать список корневых серверов (старый стиль) вместо ServFail на запрос неизвестной зоны send-root-referral=no
# Запускать сервер от определенной группы setgid=
# Запускать сервер от определенного пользователя setuid=
# Отключить резолвинг CNAME skip-cname=no
# Работать в качестве slave сервера slave=no
# Интервал для проверки обновлений в зонах, # подробности: http://doc.powerdns.com/generic-mypgsql-backends.html#AEN5779 slave-cycle-interval=60
# SMTP редиректор для fancy записей, подробности: http://doc.powerdns.com/fancy-records.html smtpredirector=a.misconfigured.powerdns.smtp.server
# SOA expire по умолчанию. Используется, если иное не указано в параметрах зоны. soa-expire-default=604800
# SOA minimum TTL по умолчанию. Используется, если иное не указано в параметрах зоны. soa-minimum-ttl=3600
# SOA refresh по умолчанию. Используется, если иное не указано в параметрах зоны. soa-refresh-default=10800
# SOA retry по умолчанию. Используется, если иное не указано в параметрах зоны. soa-retry-default=3600
# Установить минимальное значение серийного номера зоны. soa-serial-offset=0
# Директория с сокетом socket-dir=/var/run
# Трансферить зоны в строгом соответсвии с RFC. Низкая скорость трансфера, требуется для работы с очень старыми клиентами strict-rfc-axfrs=no
# Адрес notification proxy сервера, подробности: http://doc.powerdns.com/tools.html#NPROXY trusted-notification-proxy=
# URL редиректор для fancy записей, подробности: http://doc.powerdns.com/fancy-records.html urlredirector=127.0.0.1
# Логировать в лог файл, указанный в директиве logfile (только для Windows систем) use-logfile=no
# Сообщать версию сервера клиентам (full – сообщать полную версию, anonymous – не сообщать, powerdns – сообщать “served by PowerDNS” без указания версии, custom – свой вариант) version-string=full