Contents
Dans ce petit tuto du jour, on va voir comment configurer un VPN IPSec site-à-site avec pfSense et un routeur Ubiquiti EdgeRouter Lite.
Ce tutoriel est 100% fonctionnel sur tous les équipements EdgeRouter étant en version 1.9.7 minimum.
Equipements utilisés dans cet article :
- EdgeRouter Lite
- pfSense Community Edition 2.4
Je suis assez fan du matériel Ubiquiti, c’est simple, sobre, robuste et efficace. Pour ma part je dispose du EdgeRouter Lite disponible ici et de la borne Wifi Ubiquiti Networks UAP-AC-LITE (802.11 a/b/g/n/ac) disponible ici
Schema réseau
Pour commencer, la topologie reseau, histoire de poser le décor !
ERL :
eth0 (LAN1) : 192.168.10.254/24
eth1 (WAN) : 82.227.24.25
eth2 (LAN2) : 192.168.11.254/24
pfSense :
vmx0 (WAN) : 151.80.84.160
vmx1 (LAN) : 192.168.20.254/24
Configuration du VPN IPSec Site-à-site avec pfSense – ERL
Configuration via interface Web
- Se connecter à l’interface web du routeur et aller dans l’onglet VPN > IPsec Site-to-Site > + Add Peer
- Selectionner : Show advanced options
- Selectionner : Automaticaly open firewall and exclude from NAT
- Completer les info comme ci-dessous :
Peer: 151.80.84.160 Description: IPsec Local IP: 82.227.24.25 Encryption: AES-256 Hash: SHA1 DH Group: 14 Pre-shared Secret: yoursecret Local subnet: 192.168.10.0/24 Remote subnet: 192.168.20.0/24
Cliquez sur +Add subnets
Local subnet: 192.168.11.0/24 Remote subnet: 192.168.20.0/24
Configuration via CLI
Accédez à l’interface de ligne de commande (CLI). Vous pouvez le faire en utilisant le bouton CLI dans l’interface graphique ou en utilisant un programme tel que PuTTY.
- Entrez en mode configuration :
configure
- Modifier le IKE et le SAs (Security Associations) :
set vpn ipsec ike-group FOO0 lifetime 86400 set vpn ipsec ike-group FOO0 proposal 1 hash sha256
- Modifier l’ESP et le SAs (Security Associations) :
set vpn ipsec esp-group FOO0 lifetime 43200 set vpn ipsec esp-group FOO0 proposal 1 encryption aes128 set vpn ipsec esp-group FOO0 proposal 1 hash md5
- Désactiver PFS (Perfect Forward Secrecy)
set vpn ipsec esp-group FOO0 pfs disable
- Modifiez l’adresse de l’interface IPsec locale (optionel) : Utilisez la commande suivante pour spécifier l’adresse IP locale à utiliser comme source pour les paquets IPsec destinés à la plateforme distante. Les instructions dhcp-interface et local-address NE PEUVENT PAS être utilisées simultanément. Décidez quelle commande est la meilleure pour votre situation en utilisant ces options:(A) Vous utilisez plusieurs interfaces WAN et souhaitez que le VPN réponde sur plusieurs interfaces.Avec cette instruction, toute adresse IPv4 présente sur le système peut être utilisée comme source du VPN. Vous pouvez également utiliser cette commande si votre interface WAN reçoit une adresse via PPPoE.
set vpn ipsec site-to-site peer 151.80.84.160 local-address 0.0.0.0
(B) Votre interface WAN recoit une IP via DHCP
delete vpn ipsec site-to-site peer 151.80.84.160 local-address set vpn ipsec site-to-site peer 151.80.84.160 dhcp-interface eth1
- Activer IPsec offloadind pour augmenter les performances ESP (necessite un reboot)
set system offload ipsec enable
- Validez les modifications
commit
- Sauvegardez les modifications
save
Configuration VPN IPSec Site-à-site avec pfSense – pfSense
Coté pfSense nous utilisons l’appliance téléchargeable sur le site de l’éditeur, et dans un environnement VMware. Nous sommes en version 2.4 (dernière stable disponible à cette date). Coté pfSense, tout peux se faire via l’interface web.
Ajout des règles firewall IPSec
Pour ajouter des règles dans le pfSense, aller dans Firewall > Rules > WAN et cliquez sur Add
Action: Pass Interface: WAN Address Family: IPv4 Protocol: UDP Source: any Destination: any Destination Port Range: From ISAKMP (500) to ISAKMP (500) Description: IKE Action: Pass Interface: WAN Address Family: IPv4 Protocol: ESP Source: any Destination: any Description: ESP Action: Pass Interface: WAN Address Family: IPv4 Protocol: UDP Source: any Destination: any Destination Port Range: From IPsec NAT-T (4500) to IPsec NAT-T (4500) Description: NAT-T
On devrait avoir quelque chose comme ça :
Configuration de la phase 1 (IKE)
Pour configurer la phase 1 sur le pfSense, aller dans VPN > IPSec > Tunnels > +Add P1
Key Exchange Version: IKEv1 Internet Protocol: IPv4 Interface: WAN Remote Gateway: 82.227.24.25 Description: IPsec Authentication Method: Mutual PSK Negotiation Mode: Main My Identifier: My IP address Peer Identifier: Peer IP address Pre-Shared Key: yoursecret Encryption Algorithm: AES 256 bits Hash Algorithm: SHA256 DH Group: 14 (2048 bit) Lifetime (Seconds): 86400 Uncheck 'Dead Peer Detection' NAT Traversal: Auto
On devrait avoir quelque chose comme ça :
Configuration de la phase 2 (ESP)
Pour configurer la phase 2 sur le pfSense, aller dans VPN > IPSec > Tunnels > Show Phase 2 Entries > +Add P2
Mode: Tunnel IPv4 Local Network: Network 192.168.20.0/24 NAT/BINAT Translation: None Remote Network: Network 192.168.10.0/24 Protocol: ESP Encryption Algorithms: AES 128 bits Hash Algorithms: MD5 (uncheck SHA1) PFS Key Group: off Lifetime: 43200
On devrait avoir quelque chose comme ça :
Faire la même chose pour le deuxième subnet.
Selectionnez « Enable » si cela n’est pas fait automatiquement et cliquez sur « Apply changes » :
Vérifier que le status du démon IPsec est OK en allant dans Status > Services
Ajout des règles d’accès au Firewall
Pour configurer les règles d’accès sur le firewall pfSense, aller dans Firewall > Rules > IPSec > Add
Action: Pass Interface: IPsec Address Family: IPv4 Protocol: Any Source: Network 192.168.10.0/24 Destination: Network 192.168.20.0/24 Action: Pass Interface: IPsec Address Family: IPv4 Protocol: Any Source: Network 192.168.11.0/24 Destination: Network 192.168.20.0/24
On devrait avoir quelque chose comme ça :
Faire la même chose avec le deuxième subnet.
Vérification du bon fonctionnement
Coté pfSense
Pour vérifier que la connexion est bien établie, il faut aller dans Status > IPsec
Si le status est bien « ESTABLISHED » alors la connexion est up !
Coté EdgeRouter
Coté Ubiquiti, il suffit d’aller dans l’onglet Wizards > VPN Status
J’espère que cet article vous aura été utile ! Si vous avez la moindre question, n’hésitez pas à me laisser un petit commentaire !
A+
Hello ! Maxime, fondateur et auteur indépendant de vDays.net. Je travaille dans l’IT depuis 6 ans, après avoir fait 5 ans d’apprentissages. Via ce blog, j’aimerais partager et échanger avec vous sur les nouvelles technologies, notamment sur la virtualisation et VMware. Si vous voulez en savoir plus sur moi, consultez ma page « à propos de moi » ou suivez-moi sur Twitter et LinkedIn.
Bonjour,
j’ai suivi ce tuto et cela ne marche pas. Vous ne créez pas de vti ?
crdlt
J’ai encore du le refaire la semaine dernière car j’ai modifier ma configuration et ca à fonctionné du premier ocup.
Cependant à l’etape 5 ici : https://vdays.net/fr/2017/11/06/tuto-ubiquiti-erl-monter-un-vpn-ipsec-site-a-site-avec-pfsense/#Configuration_via_CLI je n’utilise que l’option B et pas la A. Etant donné qu’il y avait une erreur de ma part, peut-etre que votre problème est réglé. Sinon essayer d’utiliser uniquement l’option B si elle correspond a votre configuration.
la commande « set vpn ipsec site-to-site peer 192.0.2.1 local-address 0.0.0.0 » est issue d’un copié collé et ne correspond pas à votre configuration.
Est ce normal ?
Bonjour,
Il s’agit d’une erreur , il suffit de remplacer 192.0.2.1 par l’adresse IP publique distante avec laquelle vous souhaitez monter le VPN