2 votes

nslookup sur openvpn ne fonctionne pas, alors que les autres services sont fonctionnels

Je suis dans une situation étrange.

  • Au travail, j'ai mis en place OpenVPN + le serveur DNS DNSMasq.
  • 10.0.0.100 est l'IP interne du serveur VPN.
  • 10.0.0.200 est l'IP interne du serveur DNS.

Si je me connecte au serveur VPN à partir du réseau externe, tout fonctionne bien - je peux faire un ping et un ssh sur les machines locales par leur adresse IP.

Cependant, pour une raison quelconque, je ne peux pas accéder au service DNS. Je peux me connecter en ssh à 10.0.0.200 . J'ai donc essayé nslookup HOSTNAME 10.0.0.200 mais je n'obtiens que ;; connection timed out; no servers could be reached . Cela se produit aussi bien pour les noms de domaine internes que pour les noms de domaine externes.

Pendant que OpenVPN fonctionne, si je me connecte à n'importe quelle machine du réseau local et que je lance nslookup HOSTNAME 10.0.0.200 Il fonctionne comme prévu. De plus, je peux même faire du telnet sur le port 53 de la machine. 10.0.0.200 .

Pour déboguer le problème, j'ai essayé d'autres choses. J'ai donné une IP externe au serveur DNS, 10.0.0.200 dire, 1.2.3.4 . Dans le réseau externe, je peux exécuter nslookup HOSTNAME 1.2.3.4 La commande s'exécute comme prévu - elle résout les noms de domaine internes et externes.

Cependant, lorsque je démarre le client Openvpn sur la machine cliente, et que je lance nslookup HOSTNAME 1.2.3.4 Il ne s'est pas exécuté avec la même connection timed out; message d'erreur.

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 est la passerelle de l'interface virtuelle créée par OpenVPN.

À ce moment-là, j'ai également remarqué 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 était dans le message de démarrage du client openvpn.

Je soupçonne donc que le routage du trafic de requêtes DNS via OpenVPN est en quelque sorte à l'origine du problème. Cependant, je ne sais pas

Il s'agit d'un grand nombre d'informations fragmentées, avec beaucoup plus d'incertitudes. En résumé :

  • Le problème : je ne peux pas accéder correctement au serveur DNS dans le réseau local via VPN, même si tout le reste semble fonctionner correctement.
  • Je soupçonne que le routage du trafic DNS via OpenVPN est un problème, mais je n'en suis pas sûr et je ne connais pas la solution.

5voto

Dmitry Points 101

Je pense que le problème que vous rencontrez se situe au niveau de la configuration de DNSMasq, car vous obtenez toujours le message ;; connection timed out; no servers could be reached message d'erreur.

J'ai rencontré le même problème en configurant mon DD-WRT avec OpenVPN et je l'ai résolu en ajoutant :

interface=tun0

à mon dnsmasq.conf (Services | Options DNSMasq supplémentaires à partir de l'interface HTTP de DD-WRT) [1].

Vous pouvez ensuite transmettre le serveur DNS approprié aux clients en ajoutant ce qui suit :

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

dans la configuration d'OpenVPN [2], mais cela ne fonctionne que sous Windows [3]. Sur les clients Ubuntu, je configure manuellement mon serveur DNS interne au lieu d'écrire des scripts pour analyser le fichier foreign_option_n paramètre.

  1. http://www.dd-wrt.com/phpBB2/viewtopic.php?p=680573
  2. OpenVPN et DNS. Comment faire ?
  3. http://openvpn.net/archive/openvpn-users/2006-06/msg00097.html

3voto

RyanBrady Points 1903

Il est très utile que vous affichiez votre /etc/openvpn/server.conf fichier de configuration. En particulier, vérifiez que vous transmettez bien les routes et les serveurs DNS aux clients :

# 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"

Voir mon openvpn setup howto pour plus de détails. Vérifiez également que votre serveur DNS est configuré pour autoriser l'accès des clients distants et que le pare-feu du serveur vpn autorise le trafic DNS.

1voto

dmourati Points 24230

Vous devez configurer votre machine cliente VPN pour qu'elle utilise 10.0.0.200 comme résolveur lors de la connexion au VPN.

http://openvpn.net/index.php/open-source/documentation/howto.html#dhcp

Vous pouvez essayer manuellement en modifiant le fichier /etc/resolv.conf (ou l'équivalent dans votre système d'exploitation) et en lançant des requêtes DNS.

Pour résoudre le problème, veuillez fournir les informations suivantes :

  • Configuration du système d'exploitation et du DNS pour le VPN client
  • Configuration DNS pour votre DNS à 10.0.0.200 (récursif, autoritaire, pare-feu, route par défaut, etc)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X