PowerDNS复制有时不起作用?

时间:2016-06-06 08:40:23

标签: dns powerdns

我对PowerDNS权威服务器有疑问。 我有四个DNS服务器,从头开始在四个位置安装了PowerDNS权威服务器。他们在后端使用MySQL。 问题是:

  1. 当我添加新区域或更新现有区域时,所有传播都没有错误,但如果我在一个DNS上测试事件并停止服务,稍后当我启动服务时,我添加的区域同时不传播。哪里有问题?

  2. 如果我决定添加新的DNS服务器,则不会传播任何一个区域。我该如何解决这个问题?

  3. 一般问题,如果遇到灾难或连接问题后他无法自动更新区域,那么powerDNS的优势是什么?

1 个答案:

答案 0 :(得分:0)

我是通过pdns docs创建的数据库。

数据库名称TriggerBuilder.Create().WithDailyTimeIntervalSchedule(...)

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) ) Engine=InnoDB; 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(10) DEFAULT NULL, content VARCHAR(64000) DEFAULT NULL, ttl INT DEFAULT NULL, prio INT DEFAULT NULL, change_date INT DEFAULT NULL, disabled TINYINT(1) DEFAULT 0, ordername VARCHAR(255) BINARY DEFAULT NULL, auth TINYINT(1) DEFAULT 1, 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); CREATE TABLE supermasters ( ip VARCHAR(64) NOT NULL, nameserver VARCHAR(255) NOT NULL, account VARCHAR(40) NOT NULL, PRIMARY KEY (ip, nameserver) ) Engine=InnoDB; CREATE TABLE comments ( id INT AUTO_INCREMENT, domain_id INT NOT NULL, name VARCHAR(255) NOT NULL, type VARCHAR(10) NOT NULL, modified_at INT NOT NULL, account VARCHAR(40) NOT NULL, comment VARCHAR(64000) NOT NULL, 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); CREATE TABLE domainmetadata ( id INT AUTO_INCREMENT, domain_id INT NOT NULL, kind VARCHAR(32), content TEXT, PRIMARY KEY (id) ) Engine=InnoDB; CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind); CREATE TABLE cryptokeys ( id INT AUTO_INCREMENT, domain_id INT NOT NULL, flags INT NOT NULL, active BOOL, content TEXT, PRIMARY KEY(id) ) Engine=InnoDB; CREATE INDEX domainidindex ON cryptokeys(domain_id); CREATE TABLE tsigkeys ( id INT AUTO_INCREMENT, name VARCHAR(255), algorithm VARCHAR(50), secret VARCHAR(255), PRIMARY KEY (id) ) Engine=InnoDB; CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);

主服务器的配置文件:

('IP master", 'ns.slave', 'admin');

奴隶的配置文件:

launch=gmysql
gmysql-host=localhost
gmysql-user=powerdns_user
gmysql-dbname=powerdns
gmysql-password=password

allow-recursion=0.0.0.0/0
allow-axfr-ips=IP_address_slave1/32
allow-axfr-ips=IP_address_slave2/32
allow-axfr-ips=IP_address_slave3/32
config-dir=/etc/powerdns
daemon=yes
disable-axfr=no
guardian=yes
local-address=0.0.0.0
local-port=53
log-dns-details=on
loglevel=7
module-dir=/usr/lib/powerdns
master=yes
slave=no
setgid=pdns
setuid=pdns
socket-dir=/var/run
version-string=powerdns
include-dir=/etc/powerdns/pdns.d

当我在主人中添加区域时,我在日志中看到,所有传播都没有,这是正确的。但是如果我在其中一个从服务器上停止服务并添加区域,我会在所有活动从站的日志传播中看到。当我在测试(停止pdns)几分钟后启动pdns时,没有任何事情发生。不要在日志中通知该区域。