Azure VPN Gateway est un service plébiscité pour sa sécurité, sa redondance et la simplicité de son intégration native dans Microsoft Azure. Cependant, pour des projets de plus petite envergure ou lorsque vous disposez déjà de compétences réseau et d’infrastructures maîtrisées, il peut être judicieux d’explorer des solutions open source ou des distributions spécialisées. C’est dans cette optique que nous verrons comment déployer un VPN OPNsense sur Azure.

Comment fonctionne un tunnel IPsec ?
Les tunnels IPsec se mettent en place en deux grandes étapes :

Phase 1 – IKE (Internet Key Exchange)
- Les deux extrémités (pair A et pair B) négocient d’abord une association de sécurité IKE SA.
- Elles s’authentifient mutuellement (certificat, clé pré-partagée, etc.) et conviennent des paramètres de chiffrement (algorithme, mode DH, durée de vie des clés).
- À l’issue, un canal chiffré et authentifié est établi pour protéger les échanges de la phase 2.
Phase 2 – IPsec SA
- Dans ce canal sécurisé, les pairs négocient plusieurs Security Associations secondaires (appelées Child SA), qui définiront le chiffrement et l’intégrité du trafic utilisateur.
- Elles conviennent des sous-réseaux à protéger, des ports et protocoles autorisés, puis génèrent les clés de session IPsec.
- Une fois la Child SA montée, le tunnel est opérationnel : tout paquet envoyé vers le sous-réseau distant est chiffré et encapsulé dans IPsec.
Qu’est-ce qu’une passerelle VPN Azure ?
Une passerelle VPN Azure (Azure VPN Gateway) agit comme un point de terminaison chiffré permettant d’établir des tunnels IPsec/IKE entre votre réseau on-premises (ou vos clients VPN individuels) et vos réseaux virtuels Azure.

Elle prend en charge plusieurs scénarios :
- Site-à-Site (connexion permanente entre votre datacenter et Azure)
- Point-à-Site (accès distant des utilisateurs)
- VNet-à-VNet (liaison sécurisée entre réseaux virtuels)
Quels sont les SKUs disponibles pour les passerelles VPN Azure ?
Les passerelles VPN Azure se déclinent en versions classiques et zone-redondantes :
Génération | SKU | Tunnels S2S/VNet-to-VNet | Connexions P2S (IKEv2/OpenVPN) | Débit agrégé | BGP supporté | Zone-redondant |
---|---|---|---|---|---|---|
Gen 1 | Basic | Max. 10 | Non supporté | 100 Mbps | Non | Non |
VpnGw1 | Max. 30 | Max. 250 | 650 Mbps | Oui | Non | |
VpnGw2 | Max. 30 | Max. 500 | 1 Gbps | Oui | Non | |
VpnGw3 | Max. 30 | Max. 1000 | 1,25 Gbps | Oui | Non | |
VpnGw1AZ | Max. 30 | Max. 250 | 650 Mbps | Oui | Oui | |
VpnGw2AZ | Max. 30 | Max. 500 | 1 Gbps | Oui | Oui | |
VpnGw3AZ | Max. 30 | Max. 1000 | 1,25 Gbps | Oui | Oui | |
Gen 2 | VpnGw2 | Max. 30 | Max. 500 | 1,25 Gbps | Oui | Non |
VpnGw3 | Max. 30 | Max. 1000 | 2,5 Gbps | Oui | Non | |
VpnGw4 | Max. 100* | Max. 5000 | 5 Gbps | Oui | Non | |
VpnGw5 | Max. 100* | Max. 10000 | 10 Gbps | Oui | Non | |
VpnGw2AZ | Max. 30 | Max. 500 | 1,25 Gbps | Oui | Oui | |
VpnGw3AZ | Max. 30 | Max. 1000 | 2,5 Gbps | Oui | Oui | |
VpnGw4AZ | Max. 100* | Max. 5000 | 5 Gbps | Oui | Oui | |
VpnGw5AZ | Max. 100* | Max. 10000 | 10 Gbps | Oui | Oui |
Combien coûte les passerelles VPN Azure ?
Le prix de la passerelle VPN dépend du SKU choisi. Voici quelques tarifs :
SKU | Prix mensuel estimé (€) |
---|---|
Basic | 22,95 € |
VpnGw1 | 121,11 € |
VpnGw2 | 312,33 € |
VpnGw3 | 796,77 € |
VpnGw4 | 1 338,57 € |
VpnGw5 | 2 326,56 € |
Attention : ces prix correspondent uniquement au coût de compute de la passerelle (744 heures d’utilisation par mois) et n’incluent pas les frais de transfert de données sortantes.
L’ancien VPN de type basique présentait un tarif particulièrement attractif :

Le service le moins cher est maintenant le SKU VpnGw1, mais le prix est plus élevé :

En comparaison, le service OPNsense déployé via une VM affiche un coût un plus faible :

Voici également le tarif appliqué pour le VPN OPNsense pour un engagement d’un an sur la machine virtuelle :

Qu’est-ce que la passerelle VPN OPNsense sur Azure ?
OPNsense VPN est la solution de création de tunnels sécurisés intégrée à OPNsense, un pare-feu/routeur open-source basé sur FreeBSD. Elle prend en charge plusieurs protocoles majeurs :
- IPsec : idéal pour les liaisons site-à-site ou les connexions distantes, avec négociation IKEv1/IKEv2, clés pré-partagées ou certificats, et prise en charge de BGP pour le routage dynamique.
- OpenVPN : pour les accès distants sur TCP ou UDP, avec authentification par utilisateur, certificats ou serveur RADIUS, et options de chiffrement AES-GCM.
- WireGuard : un protocole moderne, léger et performant, offrant des temps de mise en place réduits et une empreinte cryptographique simplifiée.
Peut-on déployer la passerelle VPN OPNsense sur Azure ?
Oui, il est tout à fait possible de déployer OPNsense dans Azure en tant que machine virtuelle. Afin de voir si cela marche vraiment, voici les différentes étapes que nous allons suivre sur un environnement de test :
- Etape 0 – Rappel des prérequis
- Etape I – Préparation de la machine virtuelle OPNsense
- Etape II – Configuration d’OPNsense
- Etape III – Configuration de la passerelle VPN Azure
- Etape IV – Test de la connexion VPN
Maintenant, il nous reste plus qu’à tester tout cela 😎💪
Etape 0 – Rappel des prérequis :
Pour réaliser cet exercice, il vous faudra disposer de :
- Un tenant Microsoft
- Une souscription Azure valide
Pour tester mon environnement, j’ai également provisionné les deux machines virtuelles suivantes pour simuler des ressources opposées :

J’y ai également mis en place une passerelle Bastion :

Enfin, j’ai également déployé une passerelle VPN Azure pour tester le tunnel :

Commençons par créer une nouvelle machine virtuelle Azure contenant la passerelle VPN OPNsense.
Etape I – Préparation de la machine virtuelle OPNsense :
Pour cela, cliquez sur le lien GitHub suivant pour déployer le template ARM sur votre environnement Azure : https://github.com/dmauser/opnazure

Sélectionnez ensuite le scénario OPNsense souhaité et renseignez les informations de base, puis cliquez sur Suivant :

Conservez ou ajustez la taille de la VM, puis validez en cliquant Suivant :

Constatez la présence de deux sous-réseaux, Trusted et Untrusted, puis lancez la validation Azure :

Une fois la validation réussie, le déploiement des ressources démarre automatiquement :

Patientez quelques minutes, puis cliquez ici pour accéder aux ressources créées :

Copiez les adresses IP privées et publiques de la VM OPNsense :

Modifiez la règle de pare-feu pour autoriser l’accès HTTPS à la VM :

Vérifiez la présence du sous-réseau Trusted, puis copiez son plan d’adressage :

Connectons-nous maintenant à notre console d’administration OPNsense pour avancer sur la configuration de notre tunnel.
Etape II – Configuration d’OPNsense :
Ouvrez votre navigateur, collez-y l’IP publique de la VM OPNsense, renseignez les identifiants ci-dessous, puis cliquez sur Login :
- Login : root
- Mot de passe : opnsense

Changez immédiatement le mot de passe pour des raisons de sécurité :

Commencez par créer une clé partagée destinée au handshake IPsec :

Dans la section VPN IPsec, cliquez-ici pour créer une nouvelle connexion et choisissez vos propositions de chiffrement :

Renseignez les champs requis : l’IP locale de la VM OPNsense et l’adresse IP publique de la passerelle VPN Azure :

Ajoutez une authentification locale en réutilisant la clé partagée, puis enregistrez :

Répétez l’opération pour l’authentification distante, puis sauvegardez :

Éditez ensuite la section Child en renseignant les plans d’adressage respectifs, puis cliquez sur Enregistrer :

Cliquez sur Sauvegarder :

Enfin, cliquez sur Appliquer pour finaliser la configuration IPsec :

Dans la section pare-feu, constatez la règle sortante déjà préconfigurée :

Créez une nouvelle règle entrante pour autoriser l’accès depuis la passerelle VPN Azure :

Activez cette nouvelle règle pare-feu :

Sur le pare-feu OPNsense, ajoutez les règles nécessaires pour établir la liaison IPsec dans la section WAN :

La configuration OPNsense est maintenant terminée. La prochaine étape consiste à configurer la passerelle VPN Azure pour se connecter à la première.
Etape III – Configuration de la passerelle VPN Azure :
Copiez l’adresse IP publique de la passerelle VPN Azure :

Dans le Network Security Group de votre VM OPNsense, créez une règle pour autoriser l’IP de la passerelle VPN Azure :

Créez une Local Network Gateway en renseignant l’IP publique de votre passerelle VPN OPNsense et le plan d’adressage du sous-réseau Trusted :

Établissez ensuite la connexion VPN Azure pour finaliser l’interconnexion entre les deux passerelles :

Collez la clé d’authentification, puis enregistrez la configuration de la connexion :

Associez également une table de routage au sous-réseau Trusted, en y incluant le préfixe 0.0.0.0/0 afin de diriger tout le trafic via la VM OPNsense :

Tout est maintenant en place pour le test de connectivité entre nos deux machines virtuelles.
Etape IV – Test de la connexion VPN :
Retournez dans le menu des connexions IPsec OPNsense, puis cliquez ici pour démarrer la connexion IPsec côté OPNsense :

Attendez quelques secondes jusqu’à l’apparition de la Phase 2 de la connexion IPsec :

Une fois la Phase 2 affichée, cliquez ici pour visualiser le journal contenant les événements IPsec :

Constatez l’apparition des différents états de la connexion entre les deux passerelles VPN :

Vérifiez l’apparition de Security Associations dans la base de données IPsec :

Vérifiez l’apparition de Security Policies dans la base de données IPsec :

Retournez sur le portail Azure et observez le changement de statut de la connexion VPN Azure :

Démarrez les deux machines virtuelles de test pour valider la liaison :

Sur les deux VM de test, désactivez temporairement la règle de pare-feu ICMP suivante pour autoriser le ping :

Effectuez des tests de ping réciproques entre les deux machines virtuelles :

Interrompez la connexion depuis OPNsense :

Constatez la disparition de la Phase 2 dans la console OPNsense :

Vérifiez également l’échec du ping entre les deux VM :

Relancez la connexion IPsec depuis OPNsense et observez la réapparition de la Phase 2 :

Confirmez la reprise du ping sur les deux machines virtuelles de test :

Conclusion
Si Azure VPN Gateway reste la solution de référence pour une interconnexion cloud sécurisée et redondante, l’utilisation d’une VM OPNsense sur Azure offre une alternative open source particulièrement adaptée aux petits projets ou aux environnements où vous souhaitez tirer parti de vos compétences réseau existantes.
Vous gagnez en flexibilité de configuration, en contrôle détaillé des politiques VPN et en possibilité d’étendre facilement vers d’autres protocoles (OpenVPN, WireGuard).
Cette approche hybride combine la robustesse du cloud Azure et la puissance d’OPNsense pour bâtir un VPN sur mesure parfaitement aligné avec vos besoins.