julio 13, 2006

Problemas con la transferencia de zona en djbdns autoaxfr

Resulta que llevaba unos dias fallando con este error:
axfr-get: fatal: unable to parse AXFR results: protocol error

Tras muchas investigaciones y observar que el dig realizaba correctamente su tarea desde la misma máquina...
dig @x.x.x.x midominio.com axfr

Leyendo los problemas que alguno ya ha tenido: tcpclient and axfr-get timeout, se me ocurrió que podría ser alguno de los flags que tcpclient tiene (cuantas peleas con qmail :p).

Pues resulta que desactivando algunas "funciones" que trae por defecto funciona tal como siempre hacia:
-H: Do not look up the remote host name in DNS; remove the environment variable $TCPREMOTEHOST.
-R: Do not attempt to obtain $TCPREMOTEINFO from the remote host.

Dejo aquí el diff de "/usr/local/bin/autoaxfr" para que contemple las opciones directamente:
--- autoaxfr.orig       Thu Jul 13 11:06:59 2006
+++ autoaxfr Thu Jul 13 11:08:06 2006
@@ -144,7 +144,7 @@
foreach $addr (@addrs) {
print "$me: fetching $slave from $addr\n";
my $slave_domain = $slave eq "@" ? "." : $slave;
- if (!system('tcpclient', '-v', $addr, 'domain', 'axfr-get',
+ if (!system('tcpclient', '-vHR', $addr, 'domain', 'axfr-get',
$slave_domain, "zones/$slave",
"temp/$slave")) {
last;

Tags:

comentarios: