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 :
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 :
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) :
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