Bonjour,
Je vais bientôt avoir un serveur et j'aimerais pouvoir me servir d'un vpn (open vpn) pour une seule et unique application, et non pour tout le trafic.
Je peux tester ça sur mon raspberry pi avant de le faire sur le serveur.
Je tourne sous debian et quand j'aurais le serveur je mettrais debian v6 ou v7.
Je n'ai que peu de connaissance en réseau, mais un avec bon tuto bien guidée pour iptables ou autre je devrais m'en sortir.
Merci d'avance et bonne journée
# vpn, et table de routage
Posté par NeoX . Évalué à 3.
en fait avec openvpn, la plupart du temps, tout le trafic est envoyé dans le VPN.
et la plupart du temps, j'ai un script qui :
- desactive la route par defaut vers le vpn,
- reactive la route par defaut vers ma passerelle
- active les routes qui me sont utiles vers le vpn
le script contient des commandes à base de
ip route
ouroute
dans les deux cas
man ip route
ouman route
devrait t'aider.[^] # Re: vpn, et table de routage
Posté par bibitte . Évalué à 2. Dernière modification le 19 juin 2013 à 16:11.
Je ne suis pas d'accord avec ça.
Pour faire simple openVpn te rajoute une carte réseau qui permet d’accéder à la machine distante.
Ensuite tu peux lui dire d'ajouter automatiquement la route vers un sous réseau.
Par exemple pour accéder depuis le boulot au sous réseau de mon domicile j'ai la ligne suivante dans mon fichier de server.conf :
Tu peu également transmettre la passerelle de ta machine distante pour qu'il passe la cette passerelle pour aller vers l’extérieur. Dans ce cas tout le trafic vers l'exterieur passera par ton VPN. C'est utile pour by passer un proxy d'entreprise mais ça te pourri les temps de réponse (surtout si tu passe par ta petite freebox comme moi).
Pour cela on met cette ligne dans le server.conf :
Mais ce n'est en aucun cas ce qui est fait la plupart du temps justement car tout le trafic passera par ce "tuyau" alors que c'est inutile.
En général on ne met pas cette directive car on cherche juste a avoir accès a une machine/un sous réseau et pas a passer tout le traffic dans le VPN.
Perso je ne fais pas de script complémentaire tout est fait par la conf du serveur VPN et uniquement par celle-ci.
Pour ce qui est de la question initiale pour utiliser openVPN pour une seule appli je crois que c'est impossible, OpenVPN "change" le réseau pour tout le système pas pour un programme uniquement (c'est peut-être possible mais j'ai jamais vu avec openVPN).
[^] # Re: vpn, et table de routage
Posté par chaispaquichui . Évalué à 0. Dernière modification le 19 juin 2013 à 16:33.
Paramètre --route-noexec pour ignorer les routes envoyées par le serveur, exécution automatique d'un script qui effectue le PBR (voir mon premier message) au démarrage du client OpenVPN et le tour est joué ;)
[^] # Re: vpn, et table de routage
Posté par bibitte . Évalué à 2.
Pourquoi le faire un script sur le client quand la conf serveur le fait très bien ?
Si ta conf coté serveur et bien fait , il t'envoie tout ce que tu a besoin et tu n'a rien a faire et ce peu importe le client.
Après si tu as un besoin spécifique que l'outils ne comble pas je veux bien faire un script supplementaire mais en général c'est inutile.
Bref je suis d'accord avec toi un script supplémentaire coté client ça marche, mais personnellement je ne trouve pas ça des plus pratique/propre.
[^] # Re: vpn, et table de routage
Posté par NeoX . Évalué à 2.
je suis d'accord avec toi,
sauf que meme en m'y connaissant un peu quand meme, j'ai jamais reussi à faire faire ce que je voulais à openvpn-server
et c'est pour cela que ca se terminer en script pour faire sauter la route par defaut (ou en route-noexec coté client) et en route add … pour mettre correctement mes routes.
apres j'ai jamais dis que c'etait "propre" ;)
[^] # Re: vpn, et table de routage
Posté par chaispaquichui . Évalué à 0.
Je ne suis absolument pas un expert en OpenVPN, est-ce qu'il est possible pour le serveur de pousser des règles iptables, d'instancier une nouvelle table de routage sur le client et d'appliquer une règle de routage ? Ça serait en effet bien plus souple.
# PBR
Posté par chaispaquichui . Évalué à 5.
Je dirais que tu peux utiliser du "Policy-based routing".
En gros
1) Tu identifies le trafic de ton application avec iptables et tu lui appliques une MARK
2) Tu crées une table de routage spécifique qui contient la route vers ta gateway OpenVPN (commande 'ip')
3) Tu crées une règle qui associe le trafic identifié au point 1 avec la table de routage du point 2 (commande 'ip')
Essaye "linux pbr" dans google, tu devrais trouver ton bonheur ;)
# ipsec
Posté par nono14 (site web personnel) . Évalué à 1.
Avec ipsec tu peux spécifier un port et un adresse.
Mes 2cts.
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
# Merci pour toutes vos réponses
Posté par mboss . Évalué à 0.
J'ai lu ailleurs qu'on pouvait mettre route-nopull dans le fichier de configuration openvpn pour ne pas utiliser les routes fournies.
Ainsi je pourrais faire du Policy-based routing comme le dit
chaispaquichui
.Mais une fois ces modifications faites pour associer le trafic à la table de routage créée,ces modifications sont elles conservées après un reboot du serveur ?
Si non comment faire, à part un script au lancement d'open vpn ?
Merci et bonne soirée :)
[^] # Re: Merci pour toutes vos réponses
Posté par chaispaquichui . Évalué à 1.
Nop, la configuration ne survit pas à un reboot. OpenVPN permet de lancer des scripts lorsqu'il démarre/se coupe, regarde les options up/down du fichier de configuration ;)
https://help.ubuntu.com/community/OpenVPN
Un exemple est donné dans "Configuring the Server"
# essai de script
Posté par mboss . Évalué à 0.
Re-Bonjour,
J'ai tenté en m'inspirant des exemples du net de faire un script comme certains me le conseillaient ici.
Mais cela ne fonctionne pas.
Voilà mon script d'up
Celui de down
Et ma conf openvpn :
NB : il y avait ça comme script dans la conf par défaut de mon provider vpn
Merci d'avance pour votre aide
Et bonne fin de journée :)
# problème trouvé, mais solution ?
Posté par mboss . Évalué à 0.
Je pense avoir trouvé le problème dans mon script ci-dessus
Au début on déclare l'ip et le gateway du vpn.
Mais ces derniers changent tout le temps, donc ça marche pas…
Est-ce qu'il existe une commande pour router le trafic sur l'interface réseau du vpn (tun0) plutôt que sur une ip ?
MERCI
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.