Je viens pour un problème dans une configuration openvpn; j'ai une machine avec quelques services ouvert sur le net (web, ssh…), sur laquelle je suis en train d'installer un client openvpn.
Le serveur openvpn me propose une connexion en mode bridge, et cela fonctionne : depuis mon client, j'accède bien au réseau externe.
Le problème est le suivant : dès qu'openvpn est en marche, je n'ai plus la possibilité d'acceder aux services de ma machine : j'ai des time out à chaque fois. Par contre les services sont accessibles lorsque je cherche à joindre la machine par son IP fournie par la vpn. Je cherche bien sûr à ce que les services puissent être accessibles quelque soit l'interface sur laquelle on cherche la machine.
Je me demande s'il n'y aurait pas un problème avec la table de routage : serait-ce possible que les connexions entrantes sur l'interface eth soient redirigées en sorties sur tap ?
Voici la table de routage avec le vpn en route :
Table de routage IP du noyau
Destination_____Passerelle______Genmask_________Indic___MSS_Fenêtre_irtt_Iface
serveur-vpn_____192.168.0.254___255.255.255.255_UGH_______0_0__________0_eth3
192.168.0.0_____0.0.0.0_________255.255.255.0___U_________0_0__________0_eth3
reseau-vpn______0.0.0.0_________255.255.255.0___U_________0_0__________0_tap0
0.0.0.0_________passerelle-vpn__128.0.0.0_______UG________0_0__________0_tap0
128.0.0.0_______passerelle-vpn__128.0.0.0_______UG________0_0__________0_tap0
0.0.0.0_________192.168.0.254___0.0.0.0_________UG________0_0__________0_eth3
(Oui, le VPN me donne une sortie complète sur internet, et j'ai besoin de pouvoir y faire sortir tout le traffic)
Merci à vous
# Précisions
Posté par chimrod (site web personnel) . Évalué à 1.
il faudrait que les nouvelles connexions sortantes passent par le VPN.
il faudrait que les connexions existantes ou relatives sortantes passent par la même interface que l'entrée.
Cela devrait être faisable en « taguant » les connexions avec iptable, je vais essayer de voir ça…
# ShoreWall
Posté par Benoit . Évalué à 1.
Personnellement j’utilise ShoreWall comme FireWall dont la documentation propose deux articles intéressants :
http://www.shorewall.net/MultiISP.html
http://www.shorewall.net/OPENVPN.html
J’espère pouvoir m’intéresser au problème très prochainement, car pour le moment j’ai ajouté des routes en dur ce qui n’est pas très propre.
[^] # Re: ShoreWall
Posté par chimrod (site web personnel) . Évalué à 1.
On commence par donner une marque à tous les paquets qui sont en provenances d'un port donné :
iptables -t mangle -A OUTPUT -j MARK -p tcp --sport 80 --set-mark 80
Ensuite on route les paquets avec cette marque vers la passerelle qui nous intéresse ( nécessite iproute2 )
ip rule add fwmark 80 table 200
ip route add table 200 default via 192.168.0.254
Cela permet au port de répondre sur une IP (pas les deux), mais c'était pour moi la priorité…
[^] # Re: ShoreWall
Posté par Benoit . Évalué à 1.
Avec ShoreWall:
_ Dans le fichier "providers" mettre :
ISPMain 1 1 main eth0 192.168.1.254 track none
_ dans le fichier "interfaces" mettre :ISPVpn 2 2 main tun0 - track,balance none
net eth0 detect dhcp,routeback,logmartians
_ dans le fichier "rules" mettre les régles.vpn tun0 detect optional,routeback,logmartians
Avec cette configuration, par défaut toutes les connexions sortent par le VPN et les connexions entrantes fonctionnent aussi bien sur le VPN et sur le fournisseur d’accès SDSL.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.