DNS “primário” quando há várias conexões de rede

5

Eu tenho uma máquina que tem uma conexão de rede LAN, que é usada para acesso à Internet. Esta máquina também precisa estar conectada a uma conexão VPN. Quando a VPN está conectada, o Windows parece perguntar aos servidores DNS da conexão VPN primeiro , depois os servidores DNS configurados para a conexão LAN. Eu preciso que isso seja o contrário para problemas de desempenho, já que a VPN é lenta.

Então, como eu configuro qual dos servidores DNS da conexão deve ser o principal em uma caixa do Windows? O DNS VPN remoto fornece algumas resoluções de nomes que não são públicas, então eu ainda preciso disso.

Já desmarcou a opção "Usar o gateway padrão na rede remota" nas configurações de TCP / IP.

Editar :

Estou experimentando em uma caixa do Windows 7, mas realmente preciso fazê-lo no Windows Server 2003 e no Windows 7.

Acho que minha tabela de rotas está correta. 10.0.0.1 é o meu gateway local, enquanto 192.168.0.82 é o da conexão VPN.

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0         10.0.0.1         10.0.0.3     20
         10.0.0.0    255.255.255.0         On-link          10.0.0.3    276
         10.0.0.3  255.255.255.255         On-link          10.0.0.3    276
       10.0.0.255  255.255.255.255         On-link          10.0.0.3    276
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.0.0    255.255.255.0     192.168.0.82     192.168.0.89     21
     192.168.0.89  255.255.255.255         On-link      192.168.0.89    276
   217.157.12.231  255.255.255.255         10.0.0.1         10.0.0.3     21
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link          10.0.0.3    276
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link          10.0.0.3    276
  255.255.255.255  255.255.255.255         On-link      192.168.0.89    276
===========================================================================
Persistent Routes:
  None

Quando vou para as Conexões de Rede - > Configurações avançadas para alterar a ordem de ligação de rede, só posso visualizar as seguintes conexões: Conexão de Área Local e [Conexões de Acesso Remoto], onde a Conexão de Área Local é listada primeiro. A conexão VPN que estou usando não está listada (embora exista na janela "Conexões de rede").

    
por driis 22.05.2009 / 17:47

4 respostas

13

A partir do modo como sua pergunta é redigida, parece que sua expectativa é de que, quando o Windows precisar resolver um nome, ele perguntará ao servidor DNS primário. E se o servidor DNS primário não souber a resposta, ele perguntará ao secundário.

Espero que o acima não seja o que você estava esperando, mas se for, deixe-me mostrar por que isso é um erro.

O DNS não funciona dessa maneira. A única vez que um resolvedor fará failover para o servidor DNS secundário será quando o primário não responder de forma alguma . Um exemplo esclarecerá:

Suponha que você tenha um servidor DNS primário em 1.1.1.1 e um secundário em 2.2.2.2. Seu cliente está configurado com eles neste pedido. 2.2.2.2 hospeda uma zona privada foocompany.local; 1.1.1.1 não hospeda nenhuma zona própria e faz pesquisas de raiz para hosts da Internet.

Se o seu cliente tentar procurar por someserver.foocompany.local, 1.1.1.1 retornará NXDOMAIN (por exemplo, "Eu consultei os servidores-raiz e eles dizem que o domínio não existe"). Seu resolvedor irá não então perguntar a 2.2.2.2 o que ele sabe, a menos que 1.1.1.1 não responda dentro do período de timeout (geralmente 2 segundos). Vai parar de procurar. Além disso, seu cliente irá armazenar em cache o resultado NXDOMAIN, conforme RFC2308 . Mesmo se você alterar as configurações da NIC de modo que 2.2.2.2 seja o servidor principal, você ainda obterá resultados NXDOMAIN até que o cache NXDOMAIN local seja expirado. Você pode verificar isso emitindo ipconfig / displaydns no prompt de comando.

O IIRC, o resolvedor de DNS do Windows, armazena em cache o NXDOMAIN por um curto período de tempo - 5 minutos. Mas ainda assim isso pode ser irritante.

De qualquer forma. Eu percebo que isso é um pouco tangencial para o seu problema, mas esclarecer esse ponto pode trazer uma epifania para o design planejado. EG: você pode querer que o servidor DNS da VPN resolva antes de tudo. Embora seja um pouco mais lento, ele sabe mais, já que pode resolver os domínios privados para os domínios de Internet pública VPN e ; enquanto o resolvedor local de DNS da LAN não sabe nada sobre esses domínios privados para a VPN.

Felicidades!

    
por 23.05.2009 / 13:05
3

Parece que você deseja configurar o túnel dividido . Primeiro, verifique se o seu software VPN está configurando o roteamento no seu PC cliente corretamente. O comando:

route print

Exibirá a tabela de roteamento do host do seu cliente. Você deve ter uma entrada para o seu escritório (?) Rede que aponta para o gateway padrão da sua interface VPN. O principal é que sua rota padrão com os pontos de métrica mais baixos para o gateway padrão da sua interface de LAN.

Depois de confirmar que o roteamento está configurado corretamente, a próxima coisa a verificar é a ordem de vinculação de suas interfaces de rede. Esta é a ordem em que vários serviços de rede tentam cada um dos seus adaptadores de rede. Instruções sobre como alterá-lo no Windows XP podem ser encontradas aqui .

Não consigo encontrar um artigo de KB semelhante para o Vista, mas em resumo:

Na janela "Conexões de rede":

Organize -> Layout -> Menubar

A barra de menu será exibida. De lá:

Advanced -> Advanced Settings

Você vai entrar no diálogo de opções que você precisa. No seu caso, o seu adaptador VPN deve estar listado abaixo da sua interface LAN.

NOTA: alterar a ordem de ligação para que sua conexão com a Internet local seja usada primeiro pode causar problemas diferentes relacionados à resolução de nomes para hosts em sua rede VPN. É difícil determinar sem mais informações.

EDIT: Tendo pensado sobre isso um pouco mais, eu não tenho certeza de como você poderia não usar seu DNS VPN quando conectado à sua VPN. Se você usar servidores DNS da Internet, não conseguirá resolver nada na VPN que não estava no DNS público. A única maneira que eu poderia pensar em fazer isso seria configurar um servidor DNS local e tê-lo encaminhar consultas para sua zona DNS VPN (* .local, do seu exemplo) para 192.168.0.3 e tudo o mais para seu servidor DNS ISPs .

O uso do servidor DNS da empresa está realmente causando muito impacto no desempenho? Cada resolução será armazenada em cache e o tráfego de dados real será direcionado para a Internet, ignorando sua VPN.

    
por 22.05.2009 / 18:35
2

When the VPN is connected, Windows seems to ask the DNS servers of the VPN connection first, then the DNS servers configured for the LAN connection.

Isso é normal.

A maioria das VPNs suporta um modo de exibição dividida e / ou privada, em que você tem para solicitar primeiro o DNS interno; caso contrário, o DNS público retornaria o endereço externo ou NXDOMAIN . / p>

I need this to be the other way around for performance issues, since the VPN is slow.

pode ser possível contornar isso, mas somente se a sua zona DNS interna for completamente privada (ou seja, usando um TLD falso, como ".local"). Como resposta de Murali, você precisaria executar um servidor DNS local que encaminha a consulta para a VPN ou para o DNS público, dependendo do sufixo.

    
por 23.05.2009 / 12:09
2

Essa é uma pergunta antiga, mas eu a deparei enquanto trabalhava em algo semelhante e tenho um pouco de informação extra para adicionar:

  1. Enquanto o quux está tecnicamente correto, na realidade o Windows permite esse comportamento. A opção "Usar o gateway padrão na rede remota" faz exatamente isso; quando marcado, se o DNS local retornar NXDOMAIN, o Windows tentará o DNS da VPN. Isso não está entrando em jogo aqui, já que o Windows está tentando VPN primeiro para começar. Mas se ele pudesse mudar essa ordem, então ter essa opção marcada lhe daria exatamente o comportamento que ele estava procurando.

  2. Existe uma maneira de fazer o que você quer, porque eu fiz isso acontecer. Minha rede doméstica costumava contar com o servidor DHCP embutido do meu roteador, configurado para anunciar os servidores OpenDNS. Recentemente, configurei um servidor DHCP + DNS em uma máquina separada na rede, definida para encaminhar para o OpenDNS para endereços não locais.

    Por algum motivo, isso mudou a forma como o Windows prioriza os servidores DNS. Antes, usaria o DNS VPN primeiro (meu comportamento desejado), agora ele usa o DNS local primeiro (seu comportamento desejado). Se eu desligar meu DHCP + DNS local e voltar a usar meu roteador, a VPN voltará primeiro.

Esta informação pode ajudá-lo a identificar o problema ... se você descobrir, deixe-me saber, já que estou tentando descobrir como fazer o oposto.

Nota: sei que talvez seja um comentário, mas há um requisito de repetição ...

    
por 11.07.2009 / 16:48