Aqui está a situação. Meu Mac se conecta a duas redes - uma interna e outra externa. O DNS interno funciona para URLs internas e externas, o DNS externo (obviamente) não sabe nada sobre as URLs internas. A rede interna não se conecta a IPs externos, a rede externa não se conecta a IPs internos.
Então, dependendo de como eu configurei a ordem de serviço na seção Rede das Preferências do Sistema:
Então, se eu colocar a rede interna antes do externo na ordem de serviço:
- O DNS interno atende a todas as solicitações corretamente (para URLs internas e externas)
- A rede interna não pode se conectar a URLs externos, então acho que preciso adicionar um monte de entradas à tabela de roteamento para que cada coisa que não seja um IP interno seja enviada para a rede externa.
Se eu colocar a rede externa primeiro e a rede interna em segundo lugar e adicionar uma entrada à tabela de roteamento para que todas as solicitações internas passem para a rede interna:
- Mesmo se eu adicionar o DNS interno primeiro na configuração da rede externa, ainda não consigo resolver URLs internos.
Então, aqui estão minhas perguntas:
1) Por que não consigo resolver URLs internos? Como recebi a entrada na tabela de roteamento, enviando todos os IPs internos para a rede interna, as solicitações de DNS não devem ir para o DNS interno, mesmo que a rede externa seja a primeira na ordem de serviço?
2) Existe uma maneira inteligente de adicionar entradas à tabela de roteamento para dizer "tudo, exceto 10.x.x.x, vai para a rede X"?
p.s. Para minha pergunta # 2, eu estava pensando que a maneira de especificar "tudo, exceto 10.x.x.x" era ter uma série de comandos de rota:
/sbin/route add -net 128.0.0.0 -netmask 128.0.0.0 -interface en0
/sbin/route add -net 64.0.0.0 -netmask 192.0.0.0 -interface en0
/sbin/route add -net 32.0.0.0 -netmask 224.0.0.0 -interface en0
/sbin/route add -net 16.0.0.0 -netmask 240.0.0.0 -interface en0
mas espero que haja uma maneira mais fácil.