Pb config OpenVPN

Paramétrer le Raspberry Pi B/B+ pour se connecter via Ethernet ou une clé WiFi USB

Modérateurs : Francois, maxty01

Répondre
pinou
Messages : 4
Enregistré le : jeu. 17 nov. 2016 23:38

Pb config OpenVPN

Message par pinou » ven. 18 nov. 2016 00:01

Bonjour,
J'aimerai vous soumettre un problème dont la résolution dépasse mes compétences réseau :shock: ! Je vous explique :
J'ai un serveur Apache qui héberge un site web sur le port 80. J'ai donc accès au site web aussi bien depuis l'IP lan du RPi (192.168.0.XXX:80) que depuis internet en passant par mon IP publique et via une redirection de ports sur mon routeur.
Jusque la tout va bien.
Sur le même RPI, je dois également monter un tunnel VPN (pour un besoin particulier) avec un serveur qui se trouve sur le net. Mon RPI est donc le client. J'utilise OpenVpn et tout est ok, le tunnel se monte sur l'interface tun0 et ca marche nickel.
MAIS (et oui il fallait bien qu'il arrive ce mais...), avec le tunnel VPN de monté je n'arrive plus a accéder a mon site web hébergé par Apache depuis internet (via mon IP publique). Par contre en local ca fonctionne toujours (ouf !)
En fait, j'ai l'impression (excusez moi si je dis une grosse connerie, la partie réseau n'est pas mon fort) que lorsque j'arrive sur mon RPI en passant par la redirection de ports, je tombe sur l'interface du VPN (tun0) au lieu de tomber sur l'interface (par défaut ?) eth0. Pourtant je redirige bien vers l'IP lan et le port 80 (192.168.0.XXX:80).
Bref, j'y comprends rien ! Si vous pouvez m'aider a m'en sortir avec cette config ce serait hyper sympa !
Merci.

maxty01
Modérateur
Messages : 740
Enregistré le : dim. 16 nov. 2014 20:53
Localisation : Charleroi - Belgique

Re: Pb config OpenVPN

Message par maxty01 » ven. 18 nov. 2016 00:25

Bonsoir,

Tout semble normal, je m'explique:

Sur le réseau local, il est normal que cela fonctionne et il est normal que cela ne fonctionne plus sur le web via votre adresse IP publique.

Sur le réseau local, le RPI y étant connecté, avec sa configuration, il sait que le réseau domestique est accessible sans passerelle par défaut (default gateway).

Par contre sur le Web, cela ne fonctionne pas parce que la passerelle par défaut a été remplacée par l'adresse IP qui se trouve au bout du tun0.

En fait, vous recevez la réponse de votre site web, mais comme elle ne vient pas de la même source, elle est ignorée par votre client web.

En résumé, voilà ce qu'il se passe :
1. vous envoyez la requête sur votre adresse IP publique, qui est redirigée vers le RPI.
2. le RPI reçois la demande, mais ne sais pas sur quelle réseau vous êtes.
3. le RPI répond via sa passerelle par défaut, càd via le vpn.
4. la réponse vous arrive, mais pas via votre adresse IP publique, mais celle utilisée au bout du tunnel VPN.
5. votre client ignore la réponse, ou un équipement actif, tel qu'un firewall bloque la réponse.

Pour résoudre cela, de façon globale, il faut modifier la configuration du serveur pour qu'il ne configure plus de passerelle par défaut à ses clients lors du montage.
Pour résoudre le problème de façon local, il est possible de configurer le client pour celui-ci ignore la passerelle par défaut envoyée par le serveur et ainsi garder celle qu'il a reçu avant l'utilisation du VPN.

J'espère avoir été clair sur le problème, qui en fait, n'en ai pas un, c'est simplement une subtilité réseau.

Bonne soirée,
Il n'y a pas de question stupide, il n'y a que des imbéciles qui ne posent pas de question !
RaspBerry Pi : 1 x B+ Raspbian 1 x RPI2 MiniBian
Mieux me connaître ? Regarder mon LinkedIn

pinou
Messages : 4
Enregistré le : jeu. 17 nov. 2016 23:38

Re: Pb config OpenVPN

Message par pinou » ven. 18 nov. 2016 05:59

Bonjour,
Merci maxtyO1 pour cette explication, elle est limpide. Je pencherais plutôt pour mettre en place la 2cd solution, corriger localement sur mon RPI.
Pour info, voici le résultat de la commande netstat -nr dans les deux cas (le xxx.xxx.xxx.xxx représente l'adresse ip du serveur VPN) :

1. sans openvpn d'activé :
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
xxx.xxx.xxx.xxx 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

2. avec openvpn activé :
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0
10.8.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
128.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
xxx.xxx.xxx.xxx 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

Par contre je n'ai aucune idée de comment faire. Est ce au niveau du fichier de config qui est utilisé par openvpn lors de son démarrage qu'il faut modifier certaines entrées (je vois pas quoi faire autrement) ?

maxty01
Modérateur
Messages : 740
Enregistré le : dim. 16 nov. 2014 20:53
Localisation : Charleroi - Belgique

Re: Pb config OpenVPN

Message par maxty01 » ven. 18 nov. 2016 21:56

Bonsoir,

Effectivement, c'est dans la configuration du client qu'il faut le faire.

Voici un article qui peux t'aider :
https://community.openvpn.net/openvpn/w ... ectGateway

Bonne soirée,
Bon weekend,
Il n'y a pas de question stupide, il n'y a que des imbéciles qui ne posent pas de question !
RaspBerry Pi : 1 x B+ Raspbian 1 x RPI2 MiniBian
Mieux me connaître ? Regarder mon LinkedIn

pinou
Messages : 4
Enregistré le : jeu. 17 nov. 2016 23:38

Re: Pb config OpenVPN

Message par pinou » sam. 19 nov. 2016 20:35

Bonsoir,
Merci pour l'info, effectivement avec l'option route-nopull et l'ajout ensuite des routes qui me semblait juste nécessaires pour le bon fonctionnement du VPN, j'ai pu m'en sortir ! C'est nickel!!!!
Pour info, dans mon poste précédent, la table de routage avait une route vers 128.0.0.0. J'ai pas compris à quoi servait cette route (que je n'ai pas reporté pour le coup). C'est quoi ce 128.0.0.0 ? Une idée ?
En tout cas, encore merci pour toutes ces explications et l'aide précieuse apportée pour résoudre mon problème !

Répondre

Retourner vers « Le réseau sur le Raspberry Pï »