Djbdns

不完整的 axfrdns 響應

  • March 21, 2021

我正在嘗試在專用網路中設置 djbdns tinydns(dnscache和)。axfrdns有一個執行 BIND 的輔助伺服器應該能夠傳輸由tinydns(通過axfrdns)管理的區域。

axfrdns當我請求區域轉移時,我在日誌中收到此錯誤消息:

axfrdns: fatal: unable to read data.cdb: format error

但實際上,該data.cdb文件是由 使用的tinydns,它是由tinydns-data: 生成的,沒有明顯的問題。

如果我使用 手動執行傳輸請求dig -t AXFR my_zone.com @172.16.2.200,我會收到響應,但僅使用文件中的前 20 個條目data(以相同的順序:SOANSMXA、 …),並以以下消息結尾:

;; communications error to 172.16.2.200#53: end of file

顯然,這不是文件的結尾。

完整回复(出於隱私目的,名稱略有更改):

$ dig -t AXFR my_zone.com @172.16.2.200

; <<>> DiG 9.11.5-P4-5.1+deb10u2-Debian <<>> -t AXFR my_zone.com @172.16.2.200
;; global options: +cmd
my_zone.com.           2560    IN      SOA     srv-10.my_zone.com. hostmaster.my_zone.com. 1603886087 16384 2048 1048576 2560
my_zone.com.           259200  IN      NS      srv-10.my_zone.com.
srv-10.my_zone.com.    259200  IN      A       172.16.2.199
my_zone.com.           259200  IN      NS      vm01.my_zone.com.
vm01.my_zone.com.      259200  IN      A       172.16.2.201
my_zone.com.           259200  IN      NS      vm02.my_zone.com.
vm02.my_zone.com.      259200  IN      A       172.16.2.202
my_zone.com.           86400   IN      MX      0 my_zone.mail.protection.outlook.com.
aaa.my_zone.com.       86400   IN      A       78.40.125.202
bbb.my_zone.com.       86400   IN      A       193.186.8.180
ccc.my_zone.com.       86400   IN      A       78.40.125.106
ddd.my_zone.com.       86400   IN      A       78.40.125.202
eee.my_zone.com.       86400   IN      A       193.186.8.34
fff.my_zone.com.       86400   IN      A       35.204.32.245
ggg.my_zone.com.       86400   IN      A       192.168.10.81
hhh.my_zone.com.       86400   IN      A       13.69.156.71
iii.my_zone.com.       86400   IN      A       13.69.156.71
jjj.my_zone.com.       86400   IN      A       13.69.156.71
my_zone.com.           86400   IN      A       172.16.2.172
lll.my_zone.com.       86400   IN      A       172.16.2.186
mmm.my_zone.com.       86400   IN      A       172.16.2.187
nnn.my_zone.com.       86400   IN      A       172.16.2.170
ooo.my_zone.com.       86400   IN      A       172.16.2.171
;; communications error to 172.16.2.200#53: end of file

tcpdump編輯了 axfrdns 客戶端 ( 172.16.2.170) 和伺服器 ( 172.16.2.200) 之間的通信:我看不出其中有明顯的問題,除非在某些時候,伺服器關閉了連接(數據包 #22)。

tcpdump

我認為它可能是data文件中的某些內容,但是切換它停止響應的條目(在上面的範例中ooo.my_zone.com)和之後的條目(例如ppp.my_zone.com)並沒有幫助。它現在停在ppp.my_zone.com(即在同一個位置,不是同一個條目)。

tcpdump 中的每個查詢響應包都包含多個 DNS 響應。

如何使用 轉移我的整個區域(約 340 個條目)axfrdns?或者如何進一步調試?

在作業系統升級和重新編譯之後,我也遇到了這個神秘的問題。原來我只需要增加 /etc/axfrdns/run 中的軟限制(從 300000 到 3000000)。

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