Passer une route aux clients d'un VPN

Bonjour,

Il y a quelques semaines vous m’avez été grandement utiles pour résoudre mon souci d’installation d’OpenVPN en Bridge sur une Debian Squeeze. J’ai pu finir mes tests, toutes les appli clients/serveurs que j’ai testé fonctionnent via le VPN, mais je n’arrive pas à faire une petite chose : passer une route spécifique aux clients VPN.

               INTERNET

SERVEUR VPN @--------------@ CLIENT VPN (WIN XP)
|
|172.16.0.250
|
|

RESEAU LOCAL DU VPN
172.16

RESEAU LOCAL

Je voudrais leur dire que tout ce qui doit aller à destination de 10.X.X.X doit passer par 172.16.0.2 (passerelle)
Voilà comment j’ai procédé :

1/ Sur le serveur, j’ai d’abord créé la route sur le serveur :

J’arrive désormais à pinger les machines de ce réseau à partir du Serveur.

2/ Ensuite, dans server.conf de OpenVPN :

Cette fois-ci, avec le client sous windows xp, impossible de pinger des machines 10.X.X.X, alors que la résolution DNS se passe bien.

Envoi d’une requete ping sur machintruc.trucmuchemachin.fr (10.33.20.1)
Délai d’attente de la demande dépassée (x3)

Un netstat pour afficher la table de routage, sur le client, m’indique :
Destination Réseau - Masque - Adr.Passerelle - Adr. interface - Métrique
10.0.0.0 255.0.0.0 172.16.0.50 172.20.0.10 1
( ??? ) (adresse du client VPN)

Auriez-vous une idée ?

Merci !

Ton schéma n’est pas très clair… Le client et la passerelle 172.16.0.2 sont-ils dans le même sous-réseau ?
Il ne manquerait pas l’adresse de la passerelle 172.16.0.2 dans la route de l’option push ?

Houla au tant pour moi le schéma a été explosé lorsque j’ai posté le message, j’aurais du le vérifier…
Alors je vais tenter sans schéma, il y a rien de vraiment exotique, nous avons un réseau local en 172.16. et les postes s’y trouvant accèdent a des serveurs sur un autre réseau en 10. via la passerelle 172.16.0.2. Du coup j’aurais aimé que le VPN donne cette route aux clients VPN (172.20.) afin qu’ils puissent se connecter aux serveurs se trouvant sur la plage 10.
Voilà le “push” se trouvant dans server.conf

Je n’ai pas vraiment compris comment marche cette directive : en effet on doit mettre un réseau, sans spécifier de passerelle. J’ai donc supposer qu’il fallait créer la route avec la passerelle séparément avec un

Mais avec ça, le serveur VPN a bien la passerelle mais toujours pas les clients…

Quel est le masque/longueur de préfixe du réseau 172.16 ? Inclut-il les adresses des clients VPN en 172.20 ?

Où as-tu vu cela ? Dans la documentation d’openvpn, je lis au contraire qu’on peut spécifier une passerelle, ce qui est nécessaire ici.

[quote]J’ai donc supposer qu’il fallait créer la route avec la passerelle séparément avec un
route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.16.0.2
Mais avec ça, le serveur VPN a bien la passerelle mais toujours pas les clients[/quote]
Cette route permet au serveur VPN d’atteindre l’autre réseau, mais comme le serveur VPN fonctionne en pont ethernet (bridge) il n’est pas routeur IP. A la limite tu pourrais le configurer en routeur et le désigner comme passerelle aux clients mais ce n’est a priori pas nécessaire si tu peux spécifier directement l’adresse de la passerelle aux clients.

Le réseau en 172.16 a un masque en 255.240.0.0
Les clients VPN en 172.20. communiquent parfaitement avec les postes en 172.16

En effet, sur le site d’openvpn il y a bien ça :

push "route A.B.C.D 255.255.255.255 net_gateway"
Where A.B.C.D is your server’s public ip addr.
HTH,
Thibault

alors que sur ubuntu-fr :
La première chose à faire, c’est indiquer au client que le réseau 192.168.1.0/24 peut-être accessible à travers le VPN. Ceci peut-être fait facilement en utilisant la directive côté serveur suivante :

push “route 192.168.1.0 255.255.255.0”

Voilà, ma faute, j’aurais du directement aller sur le site d’openvpn.

(Encore) Merci beaucoup pour ta réponse

Je teste ça, mais il devrait pas y avoir de raisons que ça ne fonctionne pas… (dit t’il en croisant les doigts)