Linux

PowerDNS主從配置問題

  • April 23, 2020

在我的 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 |

我設法為任何想知道的人弄清楚這部分:

• 名稱伺服器必須正確設置為NS 域記錄,即為每個從屬定義一個NS 和A 記錄。

這是指應該託管域伺服器的域名;ns1.example.com / ns2.example.com。使用託管伺服器的公共 IP 添加 A 記錄,以及指向該 A 記錄的 NS 記錄。

引用自:https://serverfault.com/questions/1011367