Неполный ответ axfrdns

Я пытаюсь настроить 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 записями из данных (в том же порядке: SOA , NS , MX , A , ...), заканчивается следующим сообщением :

;; 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

Я подумал, что это может быть что-то в файле данных , но переключение записей, в которых он перестает отвечать (в приведенном выше примере, ooo.my_zone.com ), и запись после (скажем, ppp.my_zone.com ) не помогает. Теперь он останавливается на ppp.my_zone.com (то есть в той же позиции, а не в той же записи).

Каждый пакет ответа на запрос в tcpdump содержит несколько ответов DNS.

Как я могу передать всю мою зону (~ 340 записей) с помощью axfrdns ? Или как дальше отлаживать?

4
задан 28 October 2020 в 20:48
1 ответ

У меня тоже была эта загадочная проблема после обновления ОС и перекомпиляции. Оказывается, мне просто нужно было увеличить softlimit (с 300 000 до 3 000 000) в /etc/axfrdns/run.

3
ответ дан 21 March 2021 в 22:45