O DNS local falha quando outra interface é conectada

1

Eu tenho uma LAN com um servidor Linux executando o BIND para endereçamento de computadores locais. Quando uma estação de trabalho está conectada à rede local (onde não há acesso à Internet), posso endereçar com êxito dispositivos usando nomes de host sem nenhum problema:

$ host server1.local
$ server1.local has address 192.168.2.2

$ host 192.168.2.2
$ 2.2.168.192.in-addr.arpa domain name pointer server1.local.

Quando essa mesma estação de trabalho ativa o WiFi (ou qualquer interface secundária) e se conecta à Internet maior, a máquina não pode mais endereçar dispositivos locais pelo nome do host. Presumivelmente, isso ocorre porque ele está usando o servidor DNS da interface de rede errada para endereçar meus dispositivos.

Minha configuração do BIND é a seguinte:

$ORIGIN local.
$TTL 604800
@ IN SOA server1 admin (
                2008080101      ;serial
                04800           ;refresh
                86400           ;retry
                2419200         ;expire
                604800          ;negative cache TTL
                )
@       IN      NS      server1
@       IN      A       192.168.2.2
server1  IN      A       192.168.2.2
workstation1   IN      A       192.168.2.44
workstation2   IN      A       192.168.2.45

e o DNS reverso:

$ORIGIN 2.168.192.in-addr.arpa.
$TTL 604800
@ IN SOA server1.local. admin.local. (
                2008080101      ;serial
                604800          ;refresh
                86400           ;retry
                2419200         ;expire
                604800          ;negative cache TTL
                )

                NS      server1.local.
2       IN      PTR     server1.local.

44      IN      PTR     workstation1.local.
45      IN      PTR     workstation2.local.

Como posso forçar os clientes a examinar a interface de rede correta para encontrar hosts no namespace ".local"? É possível fazer isso a partir do fim da configuração do BIND, já que posso não ter controle total sobre os clientes individuais?

    
por Jason Crystal 24.06.2014 / 22:20

2 respostas

1

Algumas versões do OS X atribuem preferências a servidores DNS. Isso pode fazer com que o seu servidor DNS interno seja empurrado para baixo na ordem de preferência.

Tente executar este comando para descobrir qual servidor está sendo usado:

scutil --dns | grep nameserver\[[0-9]*\]

Fontes:

por 24.06.2014 / 23:23
0

Verifique seu /etc/resolv.conf (OSX) depois de se conectar a outra rede e verifique se ele contém search .local . Você também pode tentar ter entradas dentro do arquivo hosts (se isso ajudar.

    
por 24.06.2014 / 23:21