Bonjour à toutes, bonjour à tous !

 

Dans le but de simplifier la communication entre les réseaux NyXD Systems, nous avons mis en place des liens VPN site à site entre nous trois différents sites.
Toujours dans le soucis de redondance, les liens entres les sites seront les suivants (nom du site (sous-réseau) Réseau d’interconnexion)  :

  • Site 1 :
    • VLG89 (192.168.10.0/24) – C1389 (192.168.12.0/24) -> 192.168.100.4/30 – Local Port 1195
  • Site 2 :
    • CAR94 (192.168.11.0/24) – VLG89 (192.168.10.0/24) -> 192.168.100.8/30 – Local Port 1196
  • Site 3 :
    • C1389 (192.168.12.0/24) – CAR94 (192.168.11.0/24) -> 192.168.100.0/30 – Local Port 1194

La solution OpenVPN a été retenue, car très simple à mettre en place, compatible avec les IP dynamiques, et surtout, sécurisée.

Voici les prérequis :

  • 3 routeurs sous pfSense
  • Si IP dynamique, un domaine avec DynHost OVH
  • Si IP Fixe, soit l’IP, soit un nom de domaine.
  • Définir les plages des réseaux locaux, ainsi que les plages des réseaux d’interconnexion.

Cette approche est loin d’être parfaite, mais c’est notre premier essai, nous mettrons en ligne nos différentes itérations, n’hésitez pas nous suggérer des améliorations.

En avant pour la configuration !

On va commencer par mettre en place les 3 serveurs OpenVPN.

Pour chacun des sites, rendez-vous dans la section VPN – OpenVPN de pfSense, puis créez vos serveurs.

 

Configuration Coté serveur

CapOpenVPNServeur

Voici un exemple tiré du site 1 (VLG89) (En rouge les informations à adapter)

General Informations

  • Disabled – non coché
  • Server Mode : Peer to Peer (Shared Key)
  • Protocol : UDP (Pas TCP/UDP, car OpenVPN se charge de toutes façon de retransmettre les packets perdu, cela ferait donc doublon)
  • Device Mode : Tun
  • local port : 1195 (notez bien le port, on va en avoir besoin un peu plus tard – A changer sur tous les sites)
  • description : ce que vous voulez

Cryptographic Settings

  • Shared Key : Cochez « Automatically generate a shared key ». Elle vous sera donnée à l’enregistrement de la configuration.
  • Encryption algorithm : AES-256-CBC (256-bit)
  • Hardware Crypto : No Hardware Crypto Acceleration

Tunnel Settings

  • IPv4 Tunnel Network : 192.168.100.4/30
  • IPv6 Tunnel Network : vide
  • IPv4 Local Network/s : 192.168.10.0/24
  • IPv6 Local Network/s : vide
  • IPv4 Remote Network/s : vide
  • IPv6 remote Network/s : vide
  • Concurrent connections : vide
  • Compression : cocher « Compress tunnel packets using the LZO algorith »
  • Type-of-Service : laisser par défaut
  • Duplicate Connections : Laisser par défaut

Advanced configuration

  • Advanced : route 192.192.168.12.0 255.255.255.0;

Configuration du client

Il faut se rendre dans la section client d’OpenVPN du site en relation avec le serveur.

CapOpenVPNClient

(On peut constater qu’une extension est déjà en préparation avec un lien de backup)
General Information

  • Disabled : Ne pas cocher
  • Server mode : Peer to Peer (Shared Key)
  • Protocol : UDP
  • Device mode : tun
  • Local Port : vide
  • Server host or address : « adresse du VPN serveur »
  • Server port : 1195
  • Proxy host or address : vide
  • Proxy port : vide
  • Proxy authentication extra options : Authentication method : none
  • Server host name resolution : cocher infinitely resolve server
  • Description : la même que coté serveur

Cryptographic Settings

  • Shared Key : Copier la clé générée coté serveur
  • Encryption algorithm : AES-256-CBC (256-bits)
  • Hardware Crypto : No Hardware Crypto Acceleration

Tunnel Settings

  • IPv4 Tunnel Network : 192.168.168.100.4/30
  • IPv6 Tunnel Network : vide
  • IPv4 Remote Network/s : vide
  • IPv6 Remote Network/s : vide
  • Limit outgoing bandwidth : vide
  • Compression : Cocher « Compress tunnel packets using the LZO algorithm. »
  • Type-of-Service : Laisser par défaut

Advanced Configuration

  • Advanced : route 192.168.10.0 255.255.255.0;

Et voilà ! On sauvegarde et … ça ne marche pas !!! Il faut maintenant configurer le pare-feu !

Configuration du Pare-feu

On se rend dans la section Firewall -> Rules (coté serveur)

Ici, on ouvre donc le Pare-feu pour autoriser la communication VPN.

CapFirewallWAN

Edit Firefall rule

  • Action : Pass
  • Disabled : Laisser décoché
  • Interface : WAN
  • TCP/IP Version : IPv4
  • Protocol : UDP
  • Source : Laisser tel que
  • Destination : Idem
  • Destination port range : From : (other) 1195 to : (other) 1195 (si le port est 1194, vous pouvez utiliser directiment openVPN en protocole
  • Log : Laissé décoché
  • Description : OpenVPN

Et enfin, on se rend dans la section OpenVPN (coté serveur ET client)

CapFirewallVPN

 

On ajoute ici deux règles : allow icmp et allow any, qui vont autoriser le traffic entre les deux réseaux, et la réponse au ping.

 

Allow ICMP :

Edit Firewall rule

  • Action : Pass
  • Disabled : Laisser décoché
  • Interface : OpenVPN
  • TCP/IP Version : IPv4
  • Protocol : ICMP
  • ICMP type : any
  • Source : laisser tel que
  • Destination : idem
  • Log : idem
  • Description : Allow ICMP

Sauvegarder.

Allow Any :

 Edit Firewall rule

  • Action : Pass
  • Disabled : Laisser décoché
  • Interface : OpenVPN
  • TCP/IP Version : IPv4
  • Protocol : any
  • Source : laisser tel que
  • Destination : idem
  • Log : idem
  • Description : Allow Any.

Sauvegarder.

Et maintenant, ça devrait marcher ! Ne pas hésiter à redémarrer les services OpenVPN si ce n’est pas le cas, et surtout, regarder les logs.

VPN up

ET VOILA !!!!