4 votes

Comment ajouter une route après s'être connecté au serveur openvpn ?

J'essaie depuis plusieurs jours de résoudre mon problème. J'utilise openvpn pour Windows depuis un certain temps et après avoir remplacé Windows par ubuntu 13.10, j'ai été heureux de voir qu'openvpn est également disponible pour ubuntu.

J'ai copié mes paramètres depuis Windows et dans /var/log/syslog je vois que ma connexion est créée avec succès. Cependant, quoi que je fasse, je suis incapable de définir des routes. Dans Windows, cela était simplement fait par script qui fonctionnait comme suit (les adresses ip diffèrent légèrement car je dois les garder privées) :

c:\windows\system32\route.exe delete 55.78.16.20
c:\windows\system32\route.exe delete 55.78.16.0
del tmp.cmd
c:\windows\system32\route.exe print | grep.exe -m1 "^ *0.0.0.0" | sed.exe s/\x20\x20*/\t/g | cut.exe -f4 | sed "s/.*/c:\\windows\\system32\\route.exe add 55.78.16.20 mask 255.255.255.255 &/" > tmp.cmd
c:\windows\system32\route.exe print | grep "^ *172.16.0.1" | sed s/\x20\x20*/\t/g | cut -f4 | sed "s/.*/c:\\windows\\system32\\route.exe add 55.78.16.0 mask 255.255.255.0 &/" >> tmp.cmd
tmp.cmd

Après que la connexion ait été établie et que le script ci-dessus ait été exécuté, les connexions à mes serveurs sont passées par le VPN, tandis que toutes les autres se sont déroulées normalement.

Comme ce script utilise grep, sed et cut, je me suis dit que je pouvais facilement le "traduire" sous linux. Et je l'ai fait, à l'exception du fait que je ne suis pas sûr de savoir comment utiliser route pour établir ma connexion correctement.

P.S. J'ai également essayé de configurer le VPN en utilisant le gestionnaire de réseau, mais la même question se pose : comment ajouter des routes ?

Merci d'avance

15voto

Xavier J Points 531

Sur OpenVPN, vous pouvez accomplir cela de trois façons :

  1. Le serveur envoie l'itinéraire à TOUS les clients. Pour ce faire, il suffit de placer la commande route dans le fichier server.conf du serveur.
  2. Le serveur pousse l'itinéraire vers un seul client. Pour ce faire, vous placez la commande route dans un fichier spécifique au client, dans ce que l'on appelle le dossier client-config sur le serveur.
  3. Le client établit l'itinéraire. Pour ce faire, il suffit de placer la route dans le fichier de configuration du client (ovpn sous Windows).

Dans les trois cas, cela ressemble à ceci :

route [routeaddress] [netmask]

es decir

route 172.92.3.0 255.255.0.0

Consultez cette page pour plus de détails.

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

0voto

Wolfer Points 2044

D'abord et avant tout :

Vous avez utilisé GNU sur Windows ? Comme WTH homme.

Deuxièmement :

En fait, vous avez deux façons d'obtenir la même chose.

La première consiste à utiliser le ip commande. Vous feriez quelque chose comme ip route add .... bien que je sois un peu de la vieille école et que je n'apprécie pas ip donc je ne suis pas trop sûr de comment faire ça mais man ip vous y aidera certainement.

La seconde consiste à utiliser l'ancienne route . Avec cette commande, vous pouvez modifier la table de routage du noyau. En envoyant la commande man route vous dira à peu près ce que vous devez faire, mais pour être complet, cela devrait être quelque chose comme route add <target IP you want to reach> <interface that you want the target to be reached> . Vous pouvez définir l'IP cible sur des sous-réseaux entiers, mais vous devrez alors ajouter une passerelle pour cela aussi. (Et configurer une route vers cette passerelle).
Oh et vous pouvez vérifier vos interfaces avec les deux ip et ifconfig .

Faites-moi savoir comment ça se passe pour vous.

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