VPN mexe com a resolução de DNS

5

Após conectar-se ao cliente Kerio VPN (OS X Leopard) a um servidor, a Internet (~ navegação na Web) parou de funcionar para o cliente.

Depois de procurar, o problema parece ser um mau servidor DNS (ou seja, a inserção de IPs funciona diretamente). Depois de desconectar da VPN, o servidor DNS inválido desaparece de scutil --dns e tudo está bem novamente.

Agora, não entendo por que o OS X no cliente altera as configurações de DNS - a Internet deve ser roteada por meio de uma interface diferente, por meio do gateway padrão, e não por meio da VPN.

Perguntas:

  1. Por qual mecanismo a conexão do cliente VPN altera o servidor DNS "padrão"?
  2. Como posso impedir que o cliente VPN altere as regras de roteamento / DNS? Onde essas coisas são armazenadas / modificadas?

Antes da VPN:

$ scutil --dns
DNS configuration

resolver #1
  nameserver[0] : 10.66.77.1 # <---- default gateway = home router; all good
  order   : 200000

resolver #2
  domain : local
  options : mdns
  timeout : 2
  order   : 300000

...

VPN conectado:

$ scutil --dns
DNS configuration

resolver #1
  nameserver[0] : 192.168.1.1 # <--- rubbish
  nameserver[1] : 192.168.2.1
  order   : 200000

resolver #2
  domain : local
  options : mdns
  timeout : 2
  order   : 300000

...

A VPN não aparece entre $ networksetup -listallnetworkservices . Ele também não aparece na caixa de diálogo "Rede" das Preferências do Sistema. ifconfig relata como

kvnet0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1400
inet 192.168.2.9 netmask 0xffffff00 broadcast 192.168.2.255
ether 44:45:53:54:4f:53

EDIT: progresso - de acordo com documentos do Kerio VPN :

The VPN server also assigns the client an address for the primary, and
optionally also secondary DNS server and DNS domain extension. This 
allows to specify remote hosts with their names.

The change of DNS configuration has such effect that all DNS queries 
from the client host are sent to a DNS server in a remote private 
network. Users usually do not even notice any change. Upon closing of
the VPN connection, the original DNS configuration will be recovered.

Como eles fazem isso e como posso impedi-los de fazer isso (mudar o DNS de volta sem fechar a VPN)?

    
por user124114 21.03.2012 / 18:28

2 respostas

0

"Resolvido" por uma reinstalação completa (Lion OS em vez do Leopard).

Eu ainda não tenho ideia do problema, mas pode ficar em paz ...

    
por 16.07.2012 / 18:25
4

Com relação à sua primeira pergunta, como a VPN altera o DNS padrão, não sei o mecanismo, mas o OSX fornece acesso programático às configurações de rede por meio das APIs DynamicStore e por meio de utilitários como networksetup e scutil . Este O documento da Apple contém mais informações sobre como as configurações são mantidas internamente. Eu suponho que VPNs internas ou de terceiros definam essas facilidades.

Com relação à sua segunda pergunta, como parar a alteração, você pode definir manualmente o DNS associado à VPN entrando em Prefeferências de Rede, escolhendo a rede VPN, entrando em Avançado e inserindo ali seus próprios servidores DNS. Além disso, pode bastar simplesmente alterar a "ordem de serviço" por meio do botão suspenso de configurações no painel Preferências de rede. Se a rede WiFi ou Ethernet estiver listada antes da rede VPN, seu DNS pode ter precedência em alguns casos.

No entanto, provavelmente o seu problema é mais sutil e o que você realmente gostaria é usar os servidores DNS da VPN para certos nomes de domínio (ativos dentro da VPN) e seus servidores DNS normais para o resto da Internet. Não é isso que está acontecendo agora, porque os servidores DNS da VPN estão atendendo a todas as suas consultas DNS.

Se você pesquisar a página de manual do OSX em resolver(5) e especialmente a seção SEARCH STRATEGY, verá que o OSX tem um mecanismo interno que permite definir vários resolvedores de DNS, onde alguns resolvem servir alguns domínios (como *. mycompany.com) e outros resolvedores servem todo o resto. No entanto, isso não pode ser configurado no painel Preferências de rede.

Parece que você pode configurá-lo parcialmente adicionando arquivos de configuração do resolvedor em / etc / resolvers. No entanto, não sei se isso prevaleceria sobre aqueles instalados pela sua VPN. Se não o fizerem, sua próxima melhor aposta seria usar o scutil para editar e substituir explicitamente as configurações de DNS criadas pelo cliente VPN. Se você executar scutil e fazer

show State:/Network/Global/DNS

você provavelmente verá as configurações de DNS ofensivas criadas pelo seu cliente VPN. Você deve ser capaz de removê-los ou modificá-los usando os comandos interativos scutil.

Você também deve verificar se a VPN não está quebrando o roteamento para a Internet. Use netstat -r antes e depois de iniciar a VPN para ver o que acontece com a rota padrão, a fim de verificar isso.

    
por 06.07.2012 / 13:58

Tags