Estou tentando implementar uma configuração de ligação mestre-> escravo entre duas máquinas, mas tenho um problema em relação ao endereço IP que o BIND usa no mestre para notificar minha máquina escrava.
Aqui está minha configuração:
Master: master.site.com - 10.0.0.2
Slave: slave.site.com - 10.0.0.10
O Master 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 a 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 escutar 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 possa forçar isso? A máquina possui 3 IP's, um para o site, outro para email e outro para DNS... Preciso fazer issoAPENASuso 10.0.0.2
para DNS, mas aparentemente listen-on
não parece funcionar com tráfego de saída...
Como posso consertar isso?
Responder1
Você está procurando a notify-source
opção. DeBRAÇO DE LIGAR:
fonte de notificação
notify-source determina qual endereço de origem local e, opcionalmente, porta UDP, será usado para enviar mensagens NOTIFY. Este endereço deve aparecer na cláusula de zona master do servidor escravo ou em uma cláusula de permissão de notificação. Esta instrução define a fonte de notificação para todas as zonas, mas pode ser substituída por zona ou por visualização, incluindo uma instrução notify-source dentro da zona ou bloco de visualização no arquivo de configuração.
Quanto ao motivo pelo qual o BIND se comporta dessa maneira, é bastante típico da maioria dos aplicativos. O IP de origem do tráfego iniciado localmente é padronizado como 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 src
palavra-chave.