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?