ATUALIZAR:
Versão BIND:
[[email protected]] $ named -v
BIND 9.3.6-P1-RedHat-9.3.6-16.P1.el5
Sistema operacional:
CentOS release 5.6 (Final)
Após a execução [[email protected]] $ dig @10.224.45.130 example.com. axfr
:
Escravo:
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> @10.224.45.130 example.com. axfr
; (1 server found)
;; global options: printcmd
; Transfer failed.
Mestre:
28-Aug-2011 12:29:01.384 client 10.224.45.131#60553: query: example.com IN AXFR -
28-Aug-2011 12:29:01.384 client 10.224.45.131#60553: zone transfer 'example.com/AXFR/IN' denied
A mesma mensagem de erro de antes.
ATUALIZAÇÃO 2:
[[email protected] ~] # iptables -L -n -v
Chain INPUT (policy DROP 30235 packets, 1747K bytes)
pkts bytes target prot opt in out source destination
171K 23M ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- tap0 * 0.0.0.0/0 0.0.0.0/0
57196 6930K ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0
688 57376 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 8
37869 6120K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
392 21216 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
74 5275 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:110
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:143
3 192 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:389
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:465
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:587
13 832 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:636
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:694
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:843
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:873
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:953
119 7584 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:993
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:993
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1194
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:1194
1 48 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
1 64 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5901
0 0 ACCEPT tcp -- * * 0.0.0.0/0 10.224.45.130 tcp dpt:10000
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11211
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11212
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11213
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11511
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11512
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11513
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
2987 372K ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * br0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
Chain OUTPUT (policy ACCEPT 246K packets, 37M bytes)
pkts bytes target prot opt in out source destination
Eu provavelmente já observei todas as páginas relacionadas à configuração mestre / escravo do BIND e, durante toda a minha vida, não consigo fazer a transferência de zona funcionar.
Aqui está a minha configuração: (role para baixo para descrição do problema)
Master: 10.224.45.130
/etc/named.conf
options {
directory "/var/named";
version "unknown";
pid-file "/var/run/named/named.pid";
recursion yes;
allow-recursion { localhost; localnets; };
notify explicit;
allow-transfer {
10.224.45.131;
};
also-notify {
10.224.45.131;
};
};
zone "." {
type hint;
file "named.root";
};
zone "example.com" IN {
type master;
file "data/example.com.hosts";
};
Escravo: 10.224.45.131
/etc/named.conf
options {
directory "/var/named";
version "unknown";
pid-file "/var/run/named/named.pid";
recursion yes;
allow-recursion { localhost; localnets; };
notify yes;
allow-transfer { "none"; };
allow-notify {
10.224.45.130;
};
};
zone "." {
type hint;
file "named.root";
};
zone "example.com" IN {
type slave;
file "slaves/example.com.hosts";
masters {
10.224.45.130;
};
};
Aqui está o problema. Quando eu reinicio o nome no servidor escravo, ele vê que os arquivos da zona ainda não existem e solicita uma transferência do servidor mestre:
named.log (escravo)
[10.224.45.131] zone example.com/IN: no database exists yet, requesting AXFR of initial version from 10.224.45.130#53
... após o qual o servidor mestre recebe a solicitação de transferência:
named.log (mestre)
[10.224.45.130] client 10.224.45.131#53467: query: example.com IN AXFR -
... e responde com a solicitação de transferência, que é negada:
named.log (mestre)
[10.224.45.130] client 10.224.45.131#53467: zone transfer 'example.com/AXFR/IN' denied
... no servidor escravo, ele aparece como RECUSADO:
named.log (escravo)
[10.224.45.131] transfer of 'example.com/IN' from 10.224.45.130#53: failed while receiving responses: REFUSED
Olhando para todas as configurações repetidamente, não consigo encontrar nada errado com as configurações. Eu tenho o endereço IP do servidor mestre listado na masters
configuração da zona escrava, e o endereço IP do servidor escravo listado na allow-transfer
configuração das opções das opções principais.
Todos os endereços IP são o que deveriam ser, não é como se estivesse tentando usar o endereço IP público e sendo rejeitado porque o endereço IP não corresponde. Eu tenho o iptables configurado para permitir conexões TCP / UDP na porta 53 (e 953) nos dois servidores. Eu configurei as permissões de arquivo corretamente para que o diretório / slaves onde os arquivos da zona escrava estão armazenados seja gravável pelo named
usuário.
Não importa o que eu faça, sempre recebo o mesmo erro. Se alguém puder me dar uma idéia do que estou perdendo, eu realmente aprecio isso!
allow-transfer
paraany
ver se isso resolve o problema? Suaallow-transfer
cláusula parece correto, mas isso irá eliminar qualquer chance de problemas ...rndc reconfig
depois de alterar a configuração no mestre?Respostas:
Para começar, tente verificar se uma transferência de zona funciona.
No escravo, emita dig @master your-domain. axfr
Quais versões do BIND e qual sistema operacional?
fonte
Encontrei o problema. Estou usando um BIND com chroot, mas estava editando os arquivos conf em / etc e não em / var / named / chroot / etc. Então as mudanças que eu estava fazendo não estavam sendo vistas. Copiei os arquivos conf para o diretório chroot e tudo funciona bem agora.
fonte
Pode parecer que isso já esteja coberto pela
allow-transfer
instruçãooptions
, mas tente adicionar umaallow-transfer
instrução explícita na zona.Realmente não vejo nada de errado com sua configuração. Parece que deve funcionar. O bind está escutando nessa porta? ( Ou seja, algum pedido foi bem-sucedido? Ou todos falharam?)
Bem, tenho mais duas idéias que vale a pena tentar.
Verifique se seus relógios estão atualizados (pelo menos dentro de uma margem razoável) nos dois servidores.
Você pode ter o SELinux interferindo. Tente desativá-lo temporariamente para testar.
fonte