PowerDNS 主从配置问题

PowerDNS 主从配置问题

在我的 2 节点 PowerDNS 集群的主节点上,我在测试环境中找到了部署到生产环境的所有细节,并在日志中收到以下错误:

Request to queue notification for domain 'domain.example' was processed, but no valid nameservers or ALSO-NOTIFYs found. Not notifying!

这与该域上的 NS / A 记录有关,只是我现在找不到我要做什么,看来我的配置是正确的。

主配置:

allow-axfr-ips=10.10.30.32
master=yes
slave=no

从属配置:

allow-axfr-ips=10.10.30.31
master=no
slave=yes

在从属节点上我还在数据库中添加了以下记录:

MariaDB [powerdns]> select * from supermasters;
+-------------+--------------------+---------+
| ip          | nameserver         | account |
+-------------+--------------------+---------+
| 10.10.30.31 | ns2.domain.example | admin   |
+-------------+--------------------+---------+

我个人认为这与数据库有关,正如我在文档中读到的:

• 名称服务器必须正确设置为 NS 域记录,即为每个从属服务器定义一个 NS 和 A 记录。

• 必须在域表中按域配置主/从状态。即,类型列必须分别为 MASTER 或 SLAVE,而从属需要在域表的主列中列出以逗号分隔的主节点 IP 地址列表。

但我不明白它想表达什么。有人知道吗?

编辑:

在我的从属服务器上,域表中有一个错误记录,导致从属服务器将请求发送到错误的服务器,如下所示:

Apr  8 08:56:03 hfr-nl-dns02 pdns_server[2582]: While checking domain freshness: Query to '10.10.30.32' for SOA of 'ns2.domain.example.' did not return a SOA
Apr  8 09:02:12 hfr-nl-dns02 pdns_server[2582]: message repeated 3 times: [ While checking domain freshness: Query to '10.10.30.32' for SOA of 'ns2.domain.example.' did not return a SOA]

将 IP 更改为 .31 后,出现以下错误:

掌握:

Apr  8 10:07:45 hfr-nl-dns01 pdns_server[11803]: AXFR of domain 'ns2.domain.example' initiated by 10.10.30.32
Apr  8 10:07:45 hfr-nl-dns01 pdns_server[11803]: AXFR of domain 'ns2.domain.example' allowed: client IP 10.10.30.32 is in allow-axfr-ips
Apr  8 10:07:45 hfr-nl-dns01 pdns_server[11803]: AXFR of domain 'ns2.domain.example' failed: not authoritative

奴隶:

Apr  8 10:07:45 hfr-nl-dns02 pdns_server[2737]: Initiating transfer of 'ns2.domain.example' from remote '10.10.30.31'
Apr  8 10:07:45 hfr-nl-dns02 pdns_server[2737]: Unable to AXFR zone 'ns2.domain.example' from remote '10.10.30.31' (resolver): AXFR chunk error: Server Not Authoritative for zone / Not Authorized

编辑 2:主数据库记录,在这里用 IP 来查看,也尝试使用 /etc/hosts 文件中定义的名称服务器的主机名。

+----+-----------+--------------------+------+----------------------------------------------------------------------------------+------+------+----------+-----------+------+
| id | domain_id | name               | type | content                                                                          | ttl  | prio | disabled | ordername | auth |
+----+-----------+--------------------+------+----------------------------------------------------------------------------------+------+------+----------+-----------+------+
| 14 |         5 | domain.example     | NS   | 10.10.30.31                                                                      | 3600 |    0 |        0 | NULL      |    1 |
| 15 |         5 | domain.example     | NS   | 10.10.30.32                                                                      | 3600 |    0 |        0 | NULL      |    1 |

答案1

我设法为那些想知道的人弄清楚了这一部分:

• 名称服务器必须正确设置为 NS 域记录,即为每个从属服务器定义一个 NS 和 A 记录。

这意味着域服务器应该托管在其上的域名;ns1.example.com / ns2.example.com。添加一个包含托管服务器的公共 IP 的 A 记录和一个指向该 A 记录的 NS 记录。

相关内容