Interconnecter 2 VPN sous IPFire

Depuis quelques semaines, je file un petit coup de main aux admins de www.2radio.fr. J’en profite pour faire un petit peu de pub:
ima-m2radio2013

Leur problèmatique (simplifiée) était la suivante : m2 est composé de plusieurs machines physiques faisant tourner VMWare ESXi. Sur chaque machine physique se trouve un réseau de plusieurs machines virtuelles Windows XP et une machine virtuelle Linux (IPFire) servant de gateway. Une des VM Windows sert à faire la programmation des radios, et il était souhaité qu’elle puisse accéder simplement à tous les autres Windows, quelle que soit la machine physique où elles se trouvent.

Pour résumer, un petit shéma:

r_seau_vm (1)

On part du principe que les IPFire sont déjà installés et qu’ils servent de gateway pour les machines Windows. On va donc paramétrer OpenVPN en mode net2net, avec celui de la machine 1 comme serveur et les 2 autres comme clients. Je ne sais pas si c’est le fonctionnement normal, mais OpenVPN server doit aussi être paramétré et lancé côté client, sinon la connexion ne se fait pas.

Avant de commencer un petit récapitulatif dans un tableau, afin de ne pas courrir après les infos:

Serveur Machine physique 1 Machine physique 2 Machine physique 3
Rôle Serveur VPN Client VPN Client VPN
IP externe  90.0.0.1 90.0.0.2 90.0.0.3
Sous-réseau 192.168.1.0 pour le local 192.168.2.0 pour le local 192.168.3.0 pour le local

Création des certificats

La création des certificats doit se faire sur les 3 IPFire. Pour cela, il faut se rendre dans l’onglet Services puis dans le menu OpenVPN. Dans le paragraphe « certificates authorities » Cliquer ensuite sur le bouton « Generate Root/Host certificates » vers le milieu de la page.

Certificate authorities

Pas grand chose de spécial à saisir (d’ailleurs seuls les 2 premiers champs sont obligatoires):

Capture d’écran 2014-01-09 à 23.18.29Il faut indiquer un nom d’organisation (un nom de famille suffira) et l’IP de la machine. L’IP indiquée correspond à l’IP externe.

Cliquer sur « Generate root/host certificates.

Comme indiqué plus haut, il faut le faire sur les 3 IPFire (dans mon cas pour 90.0.0.1, 90.0.0.2 et 90.0.0.3)

Paramétrage global VPN

Cette fois encore, ce paramétrage devra encore être fait sur les 3 IPFire. Toujours dans la partie OpenVPN, remplir les champs suivants:

Capture d’écran 2014-01-09 à 23.25.15

  • Cocher la case « OpenVPN on RED ».
  • L’IP local (automatiquement renseignée) sera 192.168.0.1 pour ma machine physique 1, puis 192.168.0.2 pour ma machine physique 2 et 192.168.0.3 pour la 3ème machine
  • Le sous-réseau VPN  sera 10.0.11.0/255.255.255.0 pour ma machine physique 1, puis 10.0.12.0/255.255.255.0 pour ma machine physique 2 et 10.0.13.0/255.255.255.0 pour la 3ème machine. Pour info, seul le premier est importan, les autres n’étant pas utilisés dans notre cas.

Cliquer sur « Save » puis sur « Start OpenVPN Server ».

Création des connexions VPN côté serveur

Il faudra exécuter ce paragraphe uniquement sur le VPN serveur (Machine Physique 1 dans mon cas ) mais à 2 reprises: ceci pour paramétrer chacun des clients (dans mon cas les réseaux 2 et 3).Capture d’écran 2014-01-09 à 23.37.14

Dans la partie « client status and control », cliquer sur le bouton « Add »

Capture d’écran 2014-01-09 à 23.33.45Cliquer sur le bouton « Add ».

Capture d’écran 2014-01-09 à 23.39.44

Choisir « Net-to-Net Virtual Private Network ». Cliquer sur « Add ».

Capture d’écran 2014-01-09 à 23.44.23

Ici, la partie pourtant la plus compliquée de cette installation, pas grand chose à saisir:

  • Saisir un nom (IPFire2 pour paramétrer la configuration du client 2 et IPFire3 pour le client 3)
  • Local Subnet est rempli automatiquement, dans les 2 cas, ça sera: 192.168.1.0/255.255.255.0
  • Remote Subnet sera pour le client 1, 192.168.2.0/255.255.255.0 et 192.168.3.0/255.255.255.0 pour le client 3
  • OpenVPN subnet est 10.0.2.0/255.255.255.0 pour le client 2 et 10.0.3.0/255.255.255.0 pour le client 3
  • Destination port est 1195 pour le client 2 et 1196 pour le client 3
  • User’s full name or system hostname est IPFire2 pour le client 2 et IPFire 3 pour le client 3.
  • Les autres paramètres sont laissés par défaut.

Cliquer sur « Save ».

Une fois cela effectué pour les 2 clients, les 2 connexions doivent apparaître sur le IPFire1 comme dans la capture suivante:

Capture d’écran 2014-01-09 à 23.46.05

Cliquer sur les 2 disquettes juste à côté du mot DISCONNECTED afin de sauvegarder les 2 configs (on en aura besoin pour paramétrer les clients):

Capture d’écran 2014-01-09 à 23.51.18

Cliquer enfin sur la case à cocher entre l’autre disquette et le crayon: les status doivent passer en WAIT (raffraichir la page si besoin).

Capture d’écran 2014-01-09 à 23.54.32

Firewall

Sur le serveur VPN (IPFire1) aller dans l’onglet Firewall. Puis cliquer sur External Access.

Capture d’écran 2014-01-09 à 23.57.18

Il faudra le faire 2 fois: pour le port 1195 (IPFire2) et le 1196 (IPFire2). Choisir le protocole UDP, indiquer le port (1195 ou 1196) et un commentaire. Cliquer sur « Add ».

Capture d’écran 2014-01-09 à 23.59.28

Création des connexions VPN côté clients

Le plus dur est terminé: il reste à importer sur les 2 IPFire clients les 2 confs enregistrées précedemment.

Sur IPFire2 et IPFire3, il faut retourner dans la partie OpenVPN et dans le paragraphe « Client status and control », cliquer sur le bouton « Add »

Capture d’écran 2014-01-09 à 23.33.45

Cette fois, choisir « Net-to-Net Virtual Private Network (Upload Client Package) », choisir le fichier correspondant à la machine (enregistré lors de la configuration de IPFire1) et cliquer sur « Add ».

Capture d’écran 2014-01-10 à 00.04.59

Un petit récapitulatif s’affiche. Cliquer sur Add si les paramètres sont corrects, sinon prendre l’autre fichier.

Capture d’écran 2014-01-10 à 00.05.29

Cocher la case entre le crayon et la disquette, puis raffraichir la page. Le statut doit passer à CONNECTED.

Capture d’écran 2014-01-10 à 00.09.30

La configuration est terminée, on est maintenant capable, à partir du réseau 1, de faire un ping sur toutes les machines des 2 autres réseau. Le réseau 2 peut accéder au réseau 1, le réseau 3 peut accéder au réseau 2, mais dans notre configuration actuelle, les réseaux 2 et 3 ne se voient pas.

 

5 Thoughts.

  1. Bonjour,
    Merci pour le tuto. j’ai deux sites à interconnecter. après paramétrage, j’ai le statut connecter sur le client et sur le serveur il reste en WAIT. une question: dans la partie Création des connexions VPN côté serveur,la plage d’IP à renseigné sur subnet openvpn doit être différent des autres (subnet openvpn serveur et client)déjà renseignée??

    voici mes plages IP

    site A (rôle serveur) sit B (client)
    Ip ext: 82.226.AA.xx 82.237.BB.yy
    subnet: 10.0.95.0/255.255.255.0 10.0.9.0/255.255.255.0
    subnet openvpn:10.131.233.0/255.255.255.0 10.0.10.0/255.255.255.0
    port :1195 1194
    subnet openvpn utilisé lors de la Création des connexions VPN côté serveur est:10.1.2.4/255.255.255.252. merci de votre aide.

  2. depuis le client je ne peux pas pinger le vpn sur 10.131.233.x ce qui me parâit normale car pour l(instant j’ai aucun client sur cette plage et le subnet openvpn utilisé lors de la Création des connexions VPN côté serveur est:10.1.2.4/255.255.255.252; en pingant même cette dernière depuis le client, ça répond pas. Est -il possible d’avoir vos coordonnées sur mon email (julesmalebe@gmail.com) car j’ai vraiment besoin de votre aide. merci

Laisser un commentaire