VPN Site-to-Site avec OpenVPN sur pfSense

OpenVPN permet de monter un VPN site-à-site de manière très simple et efficace.

L’un des sites est configuré comme client et l’autre site comme serveur.

Pour monter notre VPN, nous utiliserons ici le système de clés partagées, idéal si vous avez peu de liens VPN site-à-site à monter. Au delà de 5 à 6 liens VPN site-à-site, il peut être judicieux d’utiliser la gestion de certificat (SSL/TLS – PKI) par simplicité d’administration.

OpenVPN Client & Serveur

OpenVPN est basé sur un mode de fonctionnement client-serveur. Qu’un pfSense soit défini comme client ou comme serveur ne changera strictement rien d’un point de vue réseau. Cependant, si vous souhaitez connecter plusieurs sites distants sur un site principal, le plus logique est bien-sûr de définir le site principal comme « serveur » et les sites distants comme « clients ».

Dans cet article, nous prendrons l’exemple de configuration suivant :

Schéma réseau OpenVPN pfSense - Provya

Le pfSense du site A sera configuré comme serveur OpenVPN. Le pfSense du site B sera configuré comme client OpenVPN.

Configurer OpenVPN côté « serveur » (site A)

1. VPN > OpenVPN > Server

2. Bouton +Add

3. Paramétrer ainsi :

  • Description : stock (ou tout autre description identifiant votre lien)
  • Server mode : Peer to Peer (shared key)
  • Device Mode : tun – Layer 3 tunnel mode
  • Protocol : UDP On IPv4 only
  • Interface : WAN
  • Local port : 1195 (choisi ici car on a déjà un VPN User sur le 1194 mais on peut y mettre autre chose)
  • Shared key : Automatically generate a shared key
  • Data Encryption Negotiation : Enable Data Encryption Negotiation coché
  • Data Encryption Algorithms : AES-256-GCM + AES-128-GCM
  • Fallback Data Encryption Algorithm : AES-256-CBC
  • Auth digest algorithm : SHA256
  • Hardware Crypto : Au choix si votre matériel le permet sinon None
  • IPv4 Tunnel Network : 10.0.11.0/30
  • IPv4 Local network(s) : 192.168.13.0/24 (réseau à atteindre, ici le réseau de notre stock)
  • Concurrent connections : 1
  • Gateway creation : IPv4 only

Sauvegarder pour obtenir ceci :

Note : les réseaux peuvent être différents, surtout sur IPv4 remote network

4. Copier/coller la shared key dans un fichier texte que vous conserverez. Nous en aurons besoin plus tard pour la configuration du client.

Notons également que la création de ce serveur aura ouvert notre port sur la patte WAN du serveur, comme ceci :

Si ce n’est pas le cas, vous devrez créer cette règle pour laisser passer le traffic.

Configurer OpenVPN côté « client » (site B)

1. VPN > OpenVPN > Client

2. Bouton +Add

3. Paramétrer ainsi :

  • Description : siège (ou tout autre description identifiant votre lien)
  • Server mode : Peer to Peer (shared key)
  • Device Mode : tun – Layer 3 tunnel mode
  • Protocol : UDP On IPv4 only
  • Interface : WAN
  • Local port : laissé blanc
  • Server host or adress : adresse IP du serveur distant
  • Server port : 1195 (port spécifiée sur notre serveur distant)
  • Auto generate : décoché et coller la shared key que nous avons précédemment sauvegardée
  • Data Encryption Negotiation : Enable Data Encryption Negotiation coché
  • Data Encryption Algorithms : AES-256-GCM + AES-128-GCM
  • Fallback Data Encryption Algorithm : AES-256-CBC
  • Auth digest algorithm : SHA256
  • Hardware Crypto : Au choix si votre matériel le permet sinon None
  • IPv4 Tunnel Network : 10.0.11.0/30
  • IPv4 Local network(s) : 192.168.12.0/24 (réseau à atteindre, ici le réseau de notre siège)
  • Limit outgoing bandwidth : à définir si vous souhaitez limiter la bande passante entre les 2 sites
  • Gateway creation : IPv4 only

4. Sauvegarder.

5. Créer la règle suivante si vous souhaitez permettre le traffic du siège vers le stock (serveur vers client) :

La règle est à créer dans Firewall > Rules > OpenVPN

Vérification

Allez dans Status > OpenVPN pour vois les connexions Peer to peer :

Source : https://www.provya.net/?d=2014/06/15/15/20/04-pfsense-monter-un-acces-openvpn-site-a-site

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *