Configuration OpenVPN : site-to-site et roadwarrior
-
Bonjour à tous,
J'ai beau parcourir les posts, les tutos et les différents documentations trouvées à gauche et à droite, je suis en difficulté pour configurer convenablement l'accès en roadwarrior vers des branches de mon vpn en site-to-site.
Concrètement, voici la configuration :
-
un pfsense central sur lequel est configuré :
** un serveur openvpn site-to-site appelé VPN_SITES (port UDP 1195, tunnel 10.0.8.0/27) connecté à 3 agences
** un serveur openvpn roadwarrior appelé VPN_ADMIN (port UDP 1194, tunnel 10.35.90.0/24)
** un LAN en 10.254.20.0/24 -
chaque agence possède un pfsense avec :
** un client openvpn pour se connecter au VPN_SITES
** un LAN 10.35.x.0/24 (où x est le numéro de l'agence : soit 101, 102 ou 103)
La configuration du VPN_ADMIN est la suivante :
- mode : accès distant (ssl/tls + authentification utilisateur)
- tunnel : 10.35.90.0/24
- reseau local : 10.35.90.0/24, 10.35.101.0/24, 10.254.90/0/24
- réseau distant : 10.35.90.0/24
La configuration du VPN_SITES est la suivante :
- mode : pair à pair (ssl/tls)
- tunnel : 10.0.8.0/27
- reseau local : 10.35.90.0/24, 10.254.20.0/24
- reseau distant : 10.35.101.0/24
Le remplacement spécifique des clients pour chaque agence (x correspond au numéro e l'agence) suit la configuration suivante :
*reseau distant : 10.35.x.0/24Pour le moment, les règles firewall sont toutes à any to any.
J'avoue me mélanger les pinceaux entre réseau local et réseau distant. J'ai bien compris qu'il fallait que j'ajoute des routes pour que le client road warrior puisse accéder aux réseaux des agences, mais cela n'a pas l'air de fonctionner :(.
Pouvez-vous me donner des pistes de configuration et de réflexion pour que je puisse apprendre de ce problème ?
Je vous remercie par avance de votre aide.
-
-
Tout cela est très fouilli ! Il y a juste 4 sites et un vpn warrior !
Est ce raisonnable dans VPN_ADMIN d'avoir le même réseau dans Tunnel, Local et distant ?
Est ce logique que chaque satellite ne voit que le site central ?
-
Bonjour,
Tout d'abord, je vous remercie de votre réponse.
Je suis désolé que vous trouviez cela "très fouilli". J'ai tenté d'expliquer au mieux. Dites moi ce que je dois améliorer pour que cela vous paraisse plus clair.
En effet, tourné au plus simple appareil : "il y a juste 4 sites et un vpn warrior". Jusque là, on semble converger.
Je ne comprends pas votre interrogation : "est-ce raisonnable dans VPN_ADMIN d'avoir le même réseau dans Tunnel, Local et distant ?". Justement, si je pose mes questions c'est que j'ai des doutes sur ma configuration. Pouvez-vous m'en dire davantage avec des explications ?
Pour la question "est ce logique que chaque satellite ne voit que le site central ?", j'aimerais que les agences voient également les autres agences.
-
Il n'y a pas de provocation :
- quand on a 1 site avec un vpn roadwarrior, c'est simple
- quand on a 1 site central, 3 sites satelites, plus un vpn roadwarrior, il faut s'organiser, surtout quand c'est un galop de base ...
S'organiser, c'est d'abord avoir de la logique : logique dans les choix de n° de réseaux, logique dans la config, logique dans l'étapage, ...
Exemple :
- 10.35.101-102-103 c'est logique pour les satelites mais c'est pas logique avec 10.35.90 sur le site central !
- Tunnel, Local et Distant sont nécessairement et logiquement distincts !
Est ce raisonnable ? J'ai trouvé que l'adjectif devait plus interroger que 'normal', mais j'ai échoué ... Essayes encore ...
Est ce logique ? Je savais que le besoin est supérieur à la config, donc la config doit être revue pour permettre plus.
Dans ce type de contexte, la chose la plus efficace est de poser le clavier, prendre une feuille, un crayon, et dessiner. Si le schéma est simple, clair et naturel, c'est qu'il est sans doute dans la bonne direction. Et un schéma clair est complet : on voit tous les éléments avec les flèches, une étiquette, ...
-
D'accord, je vais refaire le schéma de manière informatique pour qu'il colle à ce que j'ai déjà fait sur papier (je n'ai pas loupé l'étape de prendre une feuille et un crayon comme vous le sous entendez). Je pensais par erreur que le schéma que je vous ai laissé était suffisant. Mea culpa.
Le réseau 10.35.90 n'est pas le site central, mais le réseau des clients openvpn du VPN ADMIN.
Le réseau 10.254.20.0 concerne le LAN du site central. Vous voulez dire qu'il faudrait que je le passe en 10.35.x.y ?
Avez-vous une définition autre que celle de pfsense concernant les réseaux locaux et distants ?
-
Est ce que ce schéma vous semble plus complet et plus clair ?
-
NB : Un VPN (OpenVPN ou IPsec) se charge d'ajouter les routes nécessaires, donc nul besoin de faire quoi que ce soit : la config du VPN doit être juste correcte.
Procédez par étapes !
D'abord le VPN inter-sites.
Vous avez choisi le mode 'étoile', vous devez être conscient que cela induit un SPOF = Single Point Of Failure.
Usuellement, on choisit plutôt de baser ce vpn sur Ipsec, mais OpenVpn doit fonctionner ...Puis le VPN roadwarrior.
Il est clair que si rien ne vous choque avec un même réseau dans chacun des Tunnel, Local, Distant, ça va être difficile ... -
D'accord, donc il faut éviter le modèle en étoile. De ce que j'ai lu à droite et à gauche, le choix d'OpenVPN n'est pas inhabituel non plus, par rapport à Ipsec. Que préconisez vous ?
"Puis le VPN roadwarrior. Il est clair que si rien ne vous choque avec un même réseau dans chacun des Tunnel, Local, Distant, ça va être difficile ..."
Je suis conscient que ce n'est pas normal. Expliquez, ce sera profitable à tout le monde.
Pourquoi tant de dédain ?
-
Pourquoi 'pourquoi tant de dédain ? '
Vous vous moquez du monde : je vous réponds. si vous voulez que j'arrête de répondre, continuez sur cette lancée ... Merci de changer de ton !Pour du VPN inter-sites, ce que je recommande c'est Ipsec et le mode maillé ('mesh').
Mais OpenVPN peut faire aussi le jobQuelque que soit le VPN, les 3 réseaux Tunnel, Local et Distant, doivent être forcément totalement distincts : il ne peut donc pas y avoir le même n° de réseau sur ces 3 réseaux. (Tunnel est un réseau, Local et Distant peuvent être de multiples réseaux).
D'ailleurs, il suffit de se poser la question : comment le système ferait pour communiquer avec un réseau sachant qu'il est sur 3 'entités ?
-
N'y voyez là aucune agression. Je me suis probablement mépris sur le ton ou les mots que vous auriez pu employer. Veuillez accepter mes excuses.
Je vais m'intéresser à ipsec sur vos conseils pour le VPN des agences.
En effet, j'ai corrigé la configuration par rapport au 3 réseaux tunnel, local et distant. J'ai supprimé de la config road warrior la référence aux réseaux VPN_ADMIN dans Local et Distant. Je commence à comprendre.
J'arrive aujourd'hui à pinger mes firewalls et les postes du LAN des agences. :-)
Pour le VPN_ADMIN, j'ai donc cette configuration OpenVPN :
- tunnel : 10.35.90.0/24 (d'ailleurs, à ce titre quel numérotation de réseau préconisez vous ?)
- local : 10.35.101.0/24, 10.35.102.0/24, 10.35.103.0/24, 10.254.20.0/24
- distant : vide
Pour le VPN_SITES, j'ai la configuration serveur OpenVPN suivante :
- tunnel : 10.0.8.0/27
- local : 10.35.101.0/24, 10.35.102.0/24, 10.35.103.0/24, 10.254.20.0/24
- distant : 10.35.101.0/24, 10.35.102.0/24, 10.35.103.0/24
J'ai configuré le remplacement spécifique des clients pour chaque agence, en suivant le modèle :
- tunnel : vide
- local : vide
- distant : 10.35.x.0/24 où x est le numéro de l'agence
Vous validez la configuration ?
-
Ce n'est pas agréable de répondre et de se voir attribuer une attitude qui n'est pas la sienne ... C'est donc mieux.
Le VPN_ADMIN est le VPN roadwarrior (qui est très bien avec OpenVPN).
La config que vous indiquez me semble correcte cette fois ci.
Elle est logique puisque le Local est l'ensemble des réseaux de chaque site !
Usuellement, et la doc pfSense l'utilise, le Tunnel est 10.0.x.0/24 (ce qui permet à 63 clients de se connecter).
Si on a plusieurs sites, avec chacun un serveur OpenVPN, on fait varier le x : 8,9,10, ...Le VPN_SITES devrait passer à IPsec et idéalement en maillé.
Donc chaque site doit avoir des définitions suivantes
pour le site 1 :
phase1 : vers site 2 / phase 2 : lan1 <-> lan2 / 2 rules ipsec : lan1 -> lan2 + lan2 -> lan1
idem pour site 3
idem pour site 4
et on recommence site par site