Eu tenho tentado implementar uma configuração de ligação mestre->escravo entre duas máquinas, mas tenho um problema em relação ao endereço IP BIND usado no mestre para notificar minha máquina escrava.
Aqui está a minha configuração:
Master: master.site.com - 10.0.0.2
Slave: slave.site.com - 10.0.0.10
O Mestre possui uma zona autoritativa site.com
e está configurado para notificar todos os escravos quando a zona for alterada. A zona está funcionando corretamente. Ele responde bem às perguntas edig @10.0.0.2 -t SOA site.com
Então, no master eu tenho isso named.conf.options
:
options {
directory "/var/cache/bind";
dnssec-validation auto;
auth-nxdomain no;
listen-on { 10.0.0.2; };
listen-on-v6 { any; };
allow-query { any; };
recursion yes;
allow-recursion { localhost; };
allow-notify { localhost; };
allow-transfer { localhost; 10.0.0.10; };
version none;
notify yes;
also-notify { 10.0.0.10; };
};
No escravo:
options {
directory "/var/cache/bind";
dnssec-validation auto;
auth-nxdomain no;
listen-on { 10.0.0.10; };
listen-on-v6 { any; };
allow-query { any; };
recursion yes;
allow-recursion { localhost; };
allow-notify { localhost; 10.0.0.2; };
allow-transfer { localhost; 10.0.0.2; };
version none;
};
Para começar, as notificações parecem não funcionar, usando tcpdump
na máquina escrava recebi esta mensagem:
02:32:50.269377 IP 10.0.0.1.15271 > 10.0.0.10.53: 64103 notify [b2&3=0x2400] [1a] SOA? site.com. (85)
02:32:50.269662 IP 10.0.0.10.53 > 10.0.0.1.15271: 64103 notify Refused- 0/0/0 (27)
Como você pode ver, embora o mestre esteja configurado para ouvir 10.0.0.2
ao enviar notificações, ele as envia usando seu endereço IP principal 10.0.0.1
e, logicamente, meu escravo recusou a notificação ...
Por que o mestre não está enviando as notificações 10.0.0.2
? Existe alguma configuração onde eu posso forçar isso? A máquina possui 3 IP's, um para o site, outro para e-mail e outro para DNS... Preciso fazer com que seja usado APENAS10.0.0.2
para DNS, mas aparentemente listen-on
não funciona com tráfego de saída...
Como posso consertar isso?
Você está procurando a
notify-source
opção. Do braço BIND :Quanto ao motivo pelo qual o BIND se comporta dessa maneira, é bastante comum na maioria dos aplicativos. O IP de origem do tráfego iniciado localmente é padronizado para o IP primário da interface associada à rota. Em um sistema Linux, você pode visualizar o IP de origem associado a cada rota digitando
ip route show
e observando os valores após a palavra-src
chave.