Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1032 connectés 

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Questions VPN

n°158499
Sylar
TaaaaaaKeT !
Posté le 06-11-2018 à 22:27:50  profilanswer
 

Bonjour à tous,
 
Je m'occupe du réseau d'une petite association sur mon temps libre, et j'aurais besoin de vos lumières pour configurer correctement une connexion VPN dans laquelle je souhaite faire passer l'intégralité du trafic.
 
[Message un peu long, mais j'essaie d'être le plus précis possible]
 
L'architecture, classique je crois, est la suivante :
- un routeur 4G (aux fonctionnalité élémentaires), qui fournit la connexion internet (IP non fixe, CG-nat ...)
- déclaré sur la DMZ de ce routeur 4G, un routeur tournant sur pfsense, avec 3 interfaces :
 - WAN : 192.168.0.3, l'IP (statique) donnée par le routeur 4G au routeur pfsense
 - LAN : 192.168.1.0/255.255.255.0, géré par le routeur pfsense (DHCP, DNS, proxy http, etc.)
 - VPN_VPS : interface créée suite à la connexion d'un client openVPN sur le routeur pfsense. IP = 10.8.0.2, IP (statique) donnée par le serveur openVPN tournant sur un VPS distant
- un ou plusieurs serveurs situés sur le LAN
- un serveur VPS (sous Debian) qui ne fait tourner qu'1 serveur SSH et un serveur openVPN (10.8.0.0/24).
 
Je souhaite faire passer l'intégralité de mon trafic entrant et sortant par le VPN, et gérer les ouvertures de port de mes différents services (SSH, web, etc.) vers différentes machines du LAN depuis mon routeur pfsense. L'IP publique du VPS est associée à plusieurs noms de domaine, comme par exemple web.mydomain.com ou mail.mydomain.com.
 
Pour l'instant, j'arrive à envoyer tout le trafic sortant par le VPN : l'ensemble des clients du LAN passent bien par le VPN pour accéder au web. Pour cela, j'ai (au cas où j'aurais fait un truc qu'il ne fallait pas) :
* Sur le routeur pfsense :
 - réglé l'outbound NAT pour l'interface VPN_VPS
 - mis une règle par défaut sur le firewall (placée après quelques autres règles) qui autorise la sortie du LAN vers tout hôte/tout port, mais en passant par la passerelle définie par l'interface VPN_VPS
 - forcé le serveur DNS à passer par l'interface VPN_VPS.
* Sur le VPS :
 - politique par défaut (IN/OUT/FORWARD): accept  
 - /sbin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens2 -j MASQUERADE
 
Maintenant, je n'arrive pas / je ne sais pas faire :
- une fois connecté au VPN, les clients du LAN ne peuvent pas accéder au serveur SSH du VPS via son nom de domaine. Seule solution : s'y connecter via son IP côté VPN (10.8.0.1). Je me demande se ce n'est pas un problème de route, mais j'ai du mal encore à voir précisément où (sur le routeur pfsense ? sur le VPS ?).
- j'aimerais maintenant ouvrir des ports pour enfin pouvoir accéder à mes serveurs hébergés sur le LAN depuis le VPS (qui a une IP fixe) en passant par le VPN. Faut il : ouvrir sur le VPS vers le routeur pfsense, puis ouvrir depuis le routeur pfsense vers l'hôte du LAN ? N'y a t'il pas moyen de régler tout ça à un unique endroit ? (De préférence sur le routeur pfsense, sur l'interface VPN_VPS)
- une fois les ports ouverts, j'aimerais que les clients du LAN accèdent sans soucis aux serveurs (et qui sont donc aussi sur le LAN), mais via leur adresse internet (web.mydomain.com, ou mail.mydomain.com, etc.)
 
Merci pour vos bons conseils !

mood
Publicité
Posté le 06-11-2018 à 22:27:50  profilanswer
 

n°158529
Anonymous ​Coward
Posté le 07-11-2018 à 16:40:36  profilanswer
 

Bonjour,
 
Tout d'abord une remarque sur les routeurs que tu utilises : pourquoi ne pas avoir directement un modem 4G dans le pfsense ? Il y a une liste de ceux qui sont connus pour bien fonctionner - known-working-3g-4g-modems - Ce serait plus direct, plus propre.
 
Ensuite, sur le VPS, il faudrait que tu remplaces la commande

/sbin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens2 -j MASQUERADE

par :
 

iptables -t nat -A POSTROUTING -o ens2 -j MASQUERADE

 ou mieux encore

iptables -t nat -A POSTROUTING -o ens2 -j SNAT --to-source 11.22.33.44

 (en remplacant 11.22.33.44 par l'IP WAN du VPS)
 
En effet, par la suite tu effectueras des connexions depuis les adresses IP 192.168.0.0/24 ou 192.168.1.0/24 qui ne passeraient alors pas au travers du (S)NAT.
 
Ensuite, il faut que tu modifie la configuration de OpenVPN sur le VPS pour que, lors de l'activation de la connexion VPN tu ajoute les routes 192.168.1.0/24 et/ou 192.168.0.0/24 avec comme routeur l'IP de ton client. Avec des directives comme :

route 192.168.0.0 255.255.255.0
route 192.168.1.0 255.255.255.0


Là, tu pourras supprimer le "outbound NAT" abominable que tu as collé sur l'interface VPN_VPS.
 
Une fois tout ceci fait tu pourras envisager de configurer un relais de port sur le VPS à direction des serveurs qui sont sur ton LAN avec une commande telle que :

iptables -t nat -A PREROUTING -d 11.22.33.44 -i ens2 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.xx:80


 
Je ne te parles pas encore de comment accéder à tes services depuis ton LAN en utilisant l'IP du VPS parce-que c'est encore une toute autre histoire et que tu as déjà pas mal de choses à régler avant.

n°158534
Sylar
TaaaaaaKeT !
Posté le 07-11-2018 à 22:55:13  profilanswer
 

Bonjour,
 
Et merci pour la réponse !  
 

Anonymous Coward a écrit :

Bonjour,
Tout d'abord une remarque sur les routeurs que tu utilises : pourquoi ne pas avoir directement un modem 4G dans le pfsense ? Il y a une liste de ceux qui sont connus pour bien fonctionner - known-working-3g-4g-modems - Ce serait plus direct, plus propre.


 
En l'état, on utilise le routeur 4G fourni par le provider. Il nous a été fourni gratuitement, ce qui nous va bien ;)
 

Anonymous Coward a écrit :


Ensuite, sur le VPS, il faudrait que tu remplaces la commande

/sbin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens2 -j MASQUERADE

par :
 

iptables -t nat -A POSTROUTING -o ens2 -j MASQUERADE

 ou mieux encore

iptables -t nat -A POSTROUTING -o ens2 -j SNAT --to-source 11.22.33.44

 (en remplacant 11.22.33.44 par l'IP WAN du VPS)
 
En effet, par la suite tu effectueras des connexions depuis les adresses IP 192.168.0.0/24 ou 192.168.1.0/24 qui ne passeraient alors pas au travers du (S)NAT.


 
Jusque là, je suis. La règle que tu proposes me semble juste un peu plus générale que celle que j'utilisais, mais devrait avoir un effet identique.
 

Anonymous Coward a écrit :


Ensuite, il faut que tu modifie la configuration de OpenVPN sur le VPS pour que, lors de l'activation de la connexion VPN tu ajoute les routes 192.168.1.0/24 et/ou 192.168.0.0/24 avec comme routeur l'IP de ton client. Avec des directives comme :

route 192.168.0.0 255.255.255.0
route 192.168.1.0 255.255.255.0


Là, tu pourras supprimer le "outbound NAT" abominable que tu as collé sur l'interface VPN_VPS.


OK, donc avec ces routes, le VPS sait maintenant accéder directement au réseau 192.168.1.0/24, c'est bien ça ?
Et par curiosité, en quoi ce "outbound NAT" est abominable ? Il me semble que cela revient à un SNAT sur la partie VPN en 10.0.0.1 ?
 

Anonymous Coward a écrit :


Une fois tout ceci fait tu pourras envisager de configurer un relais de port sur le VPS à direction des serveurs qui sont sur ton LAN avec une commande telle que :

iptables -t nat -A PREROUTING -d 11.22.33.44 -i ens2 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.xx:80




Ca, c'est ce que je comptais faire. Avec cette approche, je n'ai donc pas besoin de forwarder à nouveau le port 80 au niveau du routeur pfsense, n'est-ce pas ?
Et n'y aurait-il pas moyen de déléguer l'ouverture de port au routeur pfsense ? (interface graphique, toussatoussa ... je ne serai pas toujours dispo pour faire des modifications. Et expliquer comment utiliser iptables sur une connexion SSH me semble plus complexe qu'un guide sur une interface à bouton ...)
 

Anonymous Coward a écrit :


Je ne te parles pas encore de comment accéder à tes services depuis ton LAN en utilisant l'IP du VPS parce-que c'est encore une toute autre histoire et que tu as déjà pas mal de choses à régler avant.


C'est en effet la partie pour laquelle je n'ai pas d'idées.
 
Merci en tout cas pour les suggestions, je vais tâcher de bien comprendre les différences par rapport à ce que j'ai mis au point.

n°158551
Sylar
TaaaaaaKeT !
Posté le 08-11-2018 à 22:31:25  profilanswer
 

Quelques tests ce soir :
 

Anonymous Coward a écrit :

Bonjour,
Ensuite, sur le VPS, il faudrait que tu remplaces la commande

/sbin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens2 -j MASQUERADE

par :
 

iptables -t nat -A POSTROUTING -o ens2 -j MASQUERADE

 ou mieux encore

iptables -t nat -A POSTROUTING -o ens2 -j SNAT --to-source 11.22.33.44

 (en remplacant 11.22.33.44 par l'IP WAN du VPS)


 
La première fonctionne (mais la différence par rapport à ce que je faisais est faible finalement), mais pas la seconde : le VPS perd alors la possibilité de se connecter vers l'extérieur (un apt update bloque par exemple).
 

Anonymous Coward a écrit :


Ensuite, il faut que tu modifie la configuration de OpenVPN sur le VPS pour que, lors de l'activation de la connexion VPN tu ajoute les routes 192.168.1.0/24 et/ou 192.168.0.0/24 avec comme routeur l'IP de ton client. Avec des directives comme :

route 192.168.0.0 255.255.255.0
route 192.168.1.0 255.255.255.0


Là, tu pourras supprimer le "outbound NAT" abominable que tu as collé sur l'interface VPN_VPS.


J'ai ajouté la route vers 192.168.1.0/24 sur le serveur OpenVPN qui tourne sur le VPS, et désactivé le "outbound NAT" sur l'interface VPN_VPS de pfsense.
La route est bien prise en compte sur le VPS :

root@myvps ~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    0      0        0 ens2
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
10.8.0.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.14.216.58    0.0.0.0         255.255.255.254 U     0      0        0 ens2
192.168.1.0     10.8.0.2        255.255.255.0   UG    0      0        0 tun0


 
10.8.0.2 est l'adresse de l'interface VPN_VPS.
Mais depuis le VPS, je n'arrive pas à joindre le réseau 192.168.1.0/24. Ça bloque quelque part. L'interface VPN_VPS sur pfsense a pour politique par défaut de ne rien laisser passer, mais ça ne posait pas de problème avec ma configuration précédente.
Du coup, j'avoue être un peu perdu ...


Aller à :
Ajouter une réponse
 

Sujets relatifs
VPN site to site + VPN vers 1 siteSoucis de VPN depuis changement de Livebox
VPN création et gestionCentraliser flux internet VPN Ipsec
Redirection Port via VPN NetgearPasser d'un VPN MPLS à un VPN "Maison" ?
Questions relatives au DHCP, VLAN, FirewallTunnel VPN pour bureaux distants sur connexion mutualisée
Open VPN sur VPS OVH - questions de noob 
Plus de sujets relatifs à : Questions VPN


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR