nslookup sobre openvpn não funciona, enquanto outros serviços são funcionais

1

Estou em uma situação estranha.

  • No trabalho, configurei o servidor DNS OpenVPN + DNSMasq.
  • 10.0.0.100 é o IP interno do servidor VPN.
  • 10.0.0.200 é o IP interno do servidor DNS.

Se eu me conectar ao servidor VPN a partir da rede externa, tudo funcionará bem - eu posso fazer ping e ssh nas máquinas locais por seus endereços IP.

No entanto, por algum motivo, não consigo acessar o serviço DNS. Eu posso ssh em 10.0.0.200 . Então eu tentei nslookup HOSTNAME 10.0.0.200 , mas eu só recebi ;; connection timed out; no servers could be reached . Isso ocorre tanto para nomes de domínio internos quanto externos.

Enquanto o OpenVPN estiver em execução, Se eu fizer ssh em qualquer uma das máquinas na rede local e executar nslookup HOSTNAME 10.0.0.200 , ele funcionará como pretendido. Morever, eu posso até telnet para a porta 53 da máquina 10.0.0.200 .

Para depurar o problema, tentei mais algumas coisas. Eu dei um IP externo para o servidor DNS, 10.0.0.200 , digamos, 1.2.3.4 . Na rede externa, posso executar nslookup HOSTNAME 1.2.3.4 , o comando é executado conforme o esperado - ele resolve nomes de domínio internos e externos.

No entanto, quando eu inicio o cliente Openvpn na máquina cliente e executo nslookup HOSTNAME 1.2.3.4 , ele não foi executado com a mesma mensagem de erro connection timed out; .

traceroute to 1.2.3.4 (1.2.3.4), 30 hops max, 60 byte packets
 1  5.5.0.1 (5.5.0.1)  25.705 ms  25.714 ms  25.790 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * as7065.xe-1-0-6.ar1.pao1.us.nlayer.net (69.22.130.86)  25.742 ms
12  tengig4-3.cr1.lsatca11.sonic.net (69.12.211.6)  25.658 ms  33.069 ms  33.067 ms
13  po2.cr1.colaca01.sonic.net (70.36.205.65)  33.075 ms  33.009 ms  37.902 ms
14  gig1-1-1.gw.snfcca01.sonic.net (70.36.228.102)  40.420 ms  40.332 ms  40.364 ms
15  * * *
16 ...(and go on)

5.5.0.1 é o gateway da interface virtual criada pelo OpenVPN.

Nesse ponto, também notei que Wed May 18 22:32:44 2011 /sbin/route add -net 1.2.3.4 netmask 255.255.255.255 gw 5.5.0.1 metric 101 estava na mensagem de inicialização do cliente openvpn.

Então, eu suspeito que o tráfego de consulta de DNS de roteamento sobre o OpenVPN esteja, de alguma forma, causando o problema. No entanto, eu não sei

Isso é muita informação fragmentada, com muitas outras incertezas. Para resumir:

  • O problema: não consigo acessar corretamente o servidor DNS na rede local via VPN, embora tudo pareça funcionar bem.
  • Eu suspeito que o tráfego de DNS de roteamento via OpenVPN é um problema, mas não tenho certeza, e eu não sei a solução para isso.
por Jeeyoung Kim 19.05.2011 / 08:06

3 respostas

5

Eu acredito que o problema que você tem é com a configuração do DNSMasq, pois você continua recebendo a mensagem de erro ;; connection timed out; no servers could be reached .

Eu encontrei o mesmo problema ao configurar meu DD-WRT com o OpenVPN e corrigi-lo adicionando:

interface=tun0

ao meu dnsmasq.conf (Serviços | Opções adicionais de DNSMasq da interface HTTP do DD-WRT) [1]

Você pode, então, enviar o servidor DNS adequado para os clientes adicionando o seguinte:

push "dhcp-options DNS 10.x.x.x"

para o OpenVPN config [2], no entanto, isso só funciona "fora da caixa" no windows [3]. Nos clientes Ubuntu, eu apenas configuro manualmente meu servidor DNS interno em vez de escrever scripts para analisar o parâmetro foreign_option_n .

  1. link
  2. OpenVPN e DNS. Como?
  3. link
por 08.05.2012 / 03:59
3

É mais útil postar seu arquivo /etc/openvpn/server.conf config. Em particular, verifique se você está enviando rotas e servidores de DNS para os clientes:

# give clients access to the whole work network, not just the server.
push "route 192.168.10.0 255.255.255.0"
# tell clients to use your internal dns server
push "dhcp-option DNS 10.8.15.1"
push "dhcp-option DOMAIN inside.example.com"

Veja meu guia de instalação do openvpn para mais detalhes. Além disso, verifique se o seu servidor de dns está configurado para permitir o acesso dos clientes remotos e se o firewall no servidor vpn está permitindo que o tráfego de DNS seja transmitido.

    
por 19.05.2011 / 09:49
1

Você precisa configurar sua máquina cliente VPN para usar 10.0.0.200 como seu resolvedor ao conectar-se à VPN.

link

Você poderia tentar isso manualmente editando o /etc/resolv.conf (ou o seu sistema operacional equivalente) e emitindo consultas DNS.

Para solucionar ainda mais, forneça:

  • configuração do SO e do DNS para a VPN cliente
  • Configuração de DNS para seu DNS servidor em 10.0.0.200 (recursivo, autoritativo, firewall, rota padrão, etc)
por 19.05.2011 / 09:01