Problème OpenVPN - Route ou NAT
-
Sur mes routeurs, effectivement j'ai du NAT
Voici les captures d'ecran de la config
NAT Routeur1 :
http://www.casimages.com/i/15052211064174413.png.html
NAT Routeur 3 :
http://www.casimages.com/i/150522110639890567.png.htmlConcernant les routes, sur le routeur1 j'en ai une vers le 10.1.0.0/16 en passant par la CARP_CLUST2 (10.1.0.6). Sur le routeur2, j'en ai une aussi vers le 10.56.11.0/24 en passant par la CARP_CLUST1 (10.1.0.5).
Voici trois paquets capture fait à partir de pfSense
Routeur1 sur l'interface CLUST vers @IP PC Client (10.56.11.10)
14:25:16.844650 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18292, length 40
14:25:16.844997 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18292, length 40
14:25:17.841189 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18293, length 40
14:25:17.841569 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18293, length 40
14:25:18.839711 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18294, length 40
14:25:18.839993 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18294, length 40
14:25:19.837743 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18295, length 40
14:25:19.838052 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18295, length 40
14:25:20.854273 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18296, length 40
14:25:20.854623 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18296, length 40
14:25:21.834296 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18297, length 40
14:25:21.834649 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18297, length 40
14:25:22.832854 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18298, length 40
14:25:22.833183 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18298, length 40
14:25:23.831855 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18299, length 40
14:25:23.832223 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18299, length 40
14:25:24.831913 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18300, length 40
14:25:24.832234 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18300, length 40
14:25:25.827410 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18301, length 40
14:25:25.827722 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18301, length 40Routeur3 sur l'interface CLUST vers @IP PC Client (10.56.11.10)
14:30:02.685577 IP 10.56.11.10.57475 > 10.1.0.3.443: tcp 0
14:30:02.688071 IP 10.56.11.10.57475 > 10.1.0.3.443: tcp 0
14:30:02.690573 IP 10.56.11.10.57475 > 10.1.0.3.443: tcp 0
14:30:02.735087 IP 10.56.11.10.57475 > 10.1.0.3.443: tcp 0
14:30:02.738570 IP 10.56.11.10.57475 > 10.1.0.3.443: tcp 0
14:30:02.740571 IP 10.56.11.10.57475 > 10.1.0.3.443: tcp 0
14:30:03.377629 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18579, length 40
14:30:03.377905 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18579, length 40
14:30:04.376664 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18580, length 40
14:30:04.376962 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18580, length 40
14:30:05.413699 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18581, length 40
14:30:05.413976 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18581, length 40
14:30:06.389224 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18582, length 40
14:30:06.389524 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18582, length 40
14:30:07.392763 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18583, length 40
14:30:07.393020 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18583, length 40
14:30:08.385781 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18584, length 40
14:30:08.386085 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18584, length 40
14:30:09.384310 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18585, length 40
14:30:09.384609 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18585, length 40Routeur client sur interface LAN vers @IP PC sur VLAN
14:30:36.314217 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18612, length 40
14:30:36.368735 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18612, length 40
14:30:37.312612 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18613, length 40
14:30:37.366051 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18613, length 40
14:30:38.310984 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18614, length 40
14:30:38.365589 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18614, length 40
14:30:39.309542 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18615, length 40
14:30:39.362928 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18615, length 40
14:30:40.307767 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18616, length 40
14:30:40.362241 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18616, length 40
14:30:41.306182 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18617, length 40
14:30:41.360806 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18617, length 40
14:30:42.304383 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18618, length 40
14:30:42.396317 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18618, length 40
14:30:43.302842 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18619, length 40
14:30:43.356233 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18619, length 40
14:30:44.301831 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18620, length 40
14:30:44.355305 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18620, length 40
14:30:45.299656 IP 10.56.11.10 > 10.1.11.21: ICMP echo request, id 1, seq 18621, length 40
14:30:45.354796 IP 10.1.11.21 > 10.56.11.10: ICMP echo reply, id 1, seq 18621, length 40J'espère que c'est bien cela que tu souhaitais
-
il y a quelque chose que je ne comprends pas bien dans ton schéma (mais j'avoue ne l'avoir regardé que rapidement :-[)
ça ressemble à une maquette de mise en place d'un VPN site-à-site avec un cluster pfSense de chaque coté, internet étant émulé grâce au switch3 entre les pfSense.Si ce n'est pas ça, je ne comprends pas cette cascade de pfSense :-\
J'avoue ne pas comprendre non plus ceci:
[quote]Concernant les routes, sur le routeur1 j'en ai une vers le 10.1.0.0/16 en passant par la CARP_CLUST2 (10.1.0.6). Sur le routeur2, j'en ai une aussi vers le 10.56.11.0/24 en passant par la CARP_CLUST1 (10.1.0.5).Si ce n'est pas un typo, c'est étrange.
Pour moi, les routeurs 1 et 2 ont, en dehors de leur adresse IP propre, la même configuration puisque ce sont les 2 nœuds d'un même cluster. Ils ont donc les mêmes routes.
Idem pour les routeurs 3 & 4L'autre aspect à prendre en compte, à mon avis, c'est qu'il faudrait dissocier les problématiques "cluster" des problématiques OpenVPN " avec accès au client depuis un réseau distant" ce qui est le cas lorsque tu veux accéder au client depuis le réseau qui est derrière le routeur 3 par exemple.
Vouloir tout faire en même temps est un peu ambitieux (même si parfaitement réalisable 8))Si tu mets en place ta configuration avec uniquement les routeurs 1 et 3 et que tu t'assures que tu accèdes bien aux réseaux que tu vises, c'est à dire que les routes que tu à mis en place et les réseaux que tu annonces sont corrects, alors le passage en mode cluster ,'est plus qu'un changement de route car celles-ci seront des VIP au lieu d'être des adresses physiques. AMHA :-[
-
Bonjour
Merci pour vos réponses. En suivant vos indications, j'ai fais quelques tests en débranchant RT2 et RT4 et je n'avais pas accès à mon réseau client VPN depuis un PC derrière RT3. Le problème venait d'une règle que j'avais créé, j'ai donc rajouter un règle pour laisser passer le traffic vers mon réseau client depuis l'interface CLUST de RT1 et RT3 et depuis mon VPN fonctionne correctement.
Sur mon pc en dessous RT3, j'ai bien accès au réseau du client et depuis le client j'ai bien accès à tous le réseau jusqu'au pc en dessous RT3.Après avoir validé cette séquence, j'ai redémarré RT2 et RT4, puis j'ai modifié les adresses IP comme vous m'avait dis par les adresses virtuelles (CARP) et le VPN fonctionne aussi correctement.
Merci pour votre aide
Maintenant je vais passer à une étape supérieur ou je risque de remettre un topic sur le forum si je n'arrive pas ou je bloque. Si on reprend mon schéma, je vais faire du MultiWAN car j'ai une deuxième ligne SDSL et ensuite je vais essayer de rajouter un serveur VPN qui irait pointer sur cette deuxième ligne pour que si la première tombe, il puisse basculer sur la deuxième. Avant de commencer je pars faire quelques recherches sur le net et sur le guide pfSense.
-
Après avoir validé cette séquence, j'ai redémarré RT2 et RT4, puis j'ai modifié les adresses IP comme vous m'av
aitez dist par les adresses virtuelles (CARP) et le VPN fonctionne aussi correctement.C'est assez normal non ? ;D Rien de magique.
Maintenant je vais passer à une étape supérieur ou je risque de remettre un topic sur le forum si je n'arrive pas ou je bloque. Si on reprend mon schéma, je vais faire du MultiWAN car j'ai une deuxième ligne SDSL et ensuite je vais essayer de rajouter un serveur VPN qui irait pointer sur cette deuxième ligne pour que si la première tombe, il puisse basculer sur la deuxième. Avant de commencer je pars faire quelques recherches sur le net et sur le guide pfSense.
Le multi-WAN avec CARP, ça signifie 4 IP (2 par serveur) et 2 VIP (coté WAN) puis 2 IP et 1 VIP coté LAN.
Le principe du point de vue CARP reste le même et c'est au niveau du client VPN qu'il faut configurer un serveur VPN en fail-over. -
Le multi-WAN avec CARP, ça signifie 4 IP (2 par serveur) et 2 VIP (coté WAN) puis 2 IP et 1 VIP coté LAN.
Le principe du point de vue CARP reste le même et c'est au niveau du client VPN qu'il faut configurer un serveur VPN en fail-over.J'ai donc fait du MultiWAN ce matin sur mon routeur RT1 et RT2 avec deux lignes SDSL.
Si ma WAN1 tombe, la WAN2 prend le relais. Si WAN2 tombe, WAN1 fonctionne seul. Après lorsque les deux SDSL sont allumé, il y a un basculement entre la GW_WAN1 et la GW_WAN2. Pour vérifier cela, j'ai été sur les sites style mon-ip.org …Partie OpenVPN sur RT1/RT2
Vu que mon MultiWAN fonctionne, j'ai voulu créé un 2eme serveur VPN sur mon interface CARP_WAN2 avec les mêmes paramètres que mon 1er serveur fonctionnel sauf :
Tunnel Network : remplacé par 10.0.9.0/24 (Au lieu de 10.0.8.0/24)
Interface : Remplacé par CARP_WAN2 (Au lieu de CARP_WAN1)
Clé TLS : Généré une autre cléSur mon client, dans VPN OpenVPN ClientSpecificOverrides, j'ai mis dans le champ Advanced, les paramètres suivant :
remote @IP_CARP_WAN1 1194 udp;
remote @IP_CARP_WAN2 1195 udp;Partie OpenVPN sur mon client
J'ai rajouté un client VPN qui utilise le même certificat que le 1er client mais en changeant les paramètres suivant :
Tunnel Network : 10.0.9.0/24
ServerPort : 1195
ServerHost : @IP_CARP_WAN2Ensuite sur les deux clients, j'ai mis dans le champ Advances, les paramètres suivant :
remote @IP_CARP_WAN1 1194 udp;
remote @IP_CARP_WAN2 1195 udp;Résultat
Lorsque je vais dans le Status OpenVPN, j'ai bien mes deux clients de connectés sur mon serveur.
Par contre si je coupe WAN1, mon client ne prend pas le relais par WAN2 malgré le fait qu'il soit bien connecté dans Status OpenVPN. Je ne peut donc joindre mon LAN que ce soit en ping …Après quelques recherches, je vois que dans les routes pfSense sur le client, pour aller vers mon réseau LAN, il passe toujours pas le tunnel 10.0.8.0/24 alors qu'il devrait connaitre aussi le tunnel 10.0.9.0/24. Est ce que pfSense gère le passage automatique d'une GW à une autre pour les routes du VPN (Passer du tunnel 10.0.8.0/24 à 10.0.9.0/24 automatiquement)
Perso, n'ayant jamais fait de MultiWAN et de serveur OpenVPN avant le début de la semaine dernière, je ne suis pas sur de ma configuration à 100%. Est ce qu'il vous faut un fichier de configuration OpenVPN côté serveur et client ?
Merci de votre aide
-
sauf que ce n'est pas du tout comme ça que ça devrait fonctionner, toujours AMHA :-[
Tu ne peux pas, en connectant un même PC avec 2 clients VPN différents, même si ceux-ci pointent au final vers le même LAN, espérer avoir du fail-over de cette manière car la gestion des routes n'est pas, à ce niveau dynamique.
L'idée du fail-over, coté client, c'est que le client OpneVPN essaie de se connecter au premier serveur de la liste. Si celui-ci répond, le client se connecte et tout va bien. Si le premier serveur ne répond pas, le client passe au deuxième serveur, etc.En cas d'indisponibilité d'un serveur alors que le client était connecté, le client va essayer de se connecter à nouveau, le serveur ne répond pas et on passe au suivant.
Le mode que tu essaies d'obtenir, à savoir de la haute disponibilité en mode vpn client-serveur, je ne pense pas que ça fonctionne car les routes sont différentes et tu ne peux pas avoir 2 routes différentes "par défaut" ::)
-
Je comprends bien la problématique et je m'y attendais.
Pour ma configuration, si je comprends bien, il va falloir que je fasse une config comme ci-dessous :
RT1/RT2
Il faut avoir un 2eme serveur OpenVPN qui a les caractéristiques suivante :
Interface : CARP_WAN2
Certificat : Même que pour le serveur VPN n°1
TLS : Copie la clé du serveur VPN n°1
Tunnel : 10.0.9.0/24
Port : 1194 ou 1195 ?Sur mon client, dans VPN OpenVPN ClientSpecificOverrides, je mets dans le champ Advanced, les paramètres suivant :
remote @IP_CARP_WAN1 1194 udp;
remote @IP_CARP_WAN2 1195 udp;Sur le routeur Client
Il faut avoir un client qui va pointer vers plusieurs serveurs OpenVPN
(C’est cette partie que je comprends pas trop)
ServerHost : @IP_CARP_WAN1, est ce qu’on doit mettre celle du CARP_WAN2 ?
Tunnel : 10.0.8.0/24, est ce qu’on doit mettre celle du 2eme serveur VPN 10.0.9.0/24 ?
Je mets aussi dans le champ Advanced, les paramètres suivant :
remote @IP_CARP_WAN1 1194 udp;
remote @IP_CARP_WAN2 1194 ou 1195 ? udp;Je sais pas trop la configuration qu'il faut mettre que ce soit serveur/client.
Je pense pas que vous avez du temps mais une capture ou alors un petit texte explicatif avec les différents paramètres à renseigner serait appréciés. Je n'ai pas trouvé ou j'ai mal cherché, un tuto explicatif de ce que je veux avoir sur le net. -
Si les deux ip Wan sont différentes vous conservez 1194.
Tunnel : 10.0.8.0/24, est ce qu’on doit mettre celle du 2eme serveur VPN 10.0.9.0/24 ?
Quel avantage d'avoir deux tunnels différents ? Cela double le nombre de règles de filtrage à maintenir sur les tunnels. Vous pouvez avoir 2 "serveurs" vpn sur des ip wan différentes dans le même tunnel. Ip que l'on retrouvera dans le paramètre remote, séparée par une virgule, côté client.
-
-
Merci pour vos réponses (ccnet et chris4916).
J'ai suivis vos conseil et le lien internet fourni sur la doc OpenVPN (Perso j'y avais pas pensé car je cherchais que sur pfsense).
J'ai donc mis deux serveurs VPN avec la même configuration sauf l'interface qui change avec pour le 1er CARP_WAN1 et pour le 2eme CARP_WAN2.
Sur mon client (Client Specific Overrides), je lui est indiqué les remote de la façon suivante dans Advanced :
remote @IP_CARP_WAN1 1194;remote @IP_CARP_WAN2 1194;Sur ma partie cliente, dans la config du client, j'ai mis dans la partie Advanced
remote @IP_CARP_WAN2 1194;TEST
Si je débranche ma WAN1, mon client VPN se déconnecte du 1er serveur. Après quelques instant (Vers la minute), mon client VPN se connecte au 2eme serveur.
Cependant, je n'ai aucun accès dans les deux sens que ce soit du serveur vers client ou l'inverse.
Quand je vais dans Diagnostic Routes, la route pour aller vers le réseau distant passe par une @IP du tunnel qui correspond à l'IP lorsque je passais par le serveur vpn n°1.
Maintenant que je passe par le serveur vpn n°2, l'adresse ip du tunnel a changé mais pas la gateway pour la route.
Est ce que la route peut etre changé automatiquement dans la config du client ? -
je ne sais pas quelles sont tes configurations pour chaque serveur VPN mais celles-ci devraient être différentes en terme d'adresse IP (range) et donc de gateway.
Mais tu dis que le client hérite d'une adresse IP différente, ce que je comprends comme "dans un autre subnet", mais garde la même gateway :o
De même, coté serveur la route vers le client (donc un range différent pour le deuxième serveur VPN) passerait par l'ancienne gateway :o :oC'est très bizarre ;)
EDIT: trop de fautes :-[
-
Pour le routage :
https://forum.pfsense.org/index.php?topic=94388.0 dans mon dernier post du jour.
Il faut bien déterminer quel sous réseau le client vpn peut atteindre. -
Je n'ai pas tout compris vos réponses, du coup je vous fais un résumé et je vous joint la config openvpn que j'ai en place sur mon routeur
Pour résumer, j'ai 1 routeur pfSense côté Serveur (RT1) et un routeur pfSense côté Client (RTClient).Sur le routeur RT1, je suis en MultiWAN, du coup je souhaites mettre en place une configuration de failover automatique (Si possible) de mon serveur OpenVPN.
Du coup j'ai paramétré deux serveurs OpenVPN sur le RT1 avec la même configuration sauf sur l'interface réseau. Sur le client, j'ai mis dans les options avancés une iroute pour pouvoir joindre mon réseau client et deux remote vers les adresses WAN1 et WAN2.Sur le routeur client RTClient, j'ai configuré le client VPN pour aller pointer vers le serveur sur WAN1 et dans les options avancés, j'ai mis un remote pour aller vers le serveur sur WAN2.
Lorsque je coupe WAN1, sur mon routeur RT1, je vois au bout quelques instants (1minute environ), que mon client se reconnecte sur le serveur OpenVPN attaché à WAN2 cette fois ci.
Cependant je ne peux joindre le réseau de mon client car dans les routes de RT1, pour joindre le réseau 10.X.X.0/24, il passe par la GW 10.0.8.A qui correspond à la VirtualIP du Tunnel lorsqu'on est connecté sur le serveur OpenVPN de WAN1. Sur mon routeur client, j'ai le même soucis.
Est ce que le paramétrage de mes serveurs et client OpenVPN sont mauvais ou est ce que j'ai oublié des options ?Merci de votre aide
openvpn-config-RT1(Serveur).txt
openvpn-config-RTClient(Client).txt