Déployer un firewall opensource OPNsense
Prérequis
Avant de commencer, il vous faut un compte Cloud Temple actif et les droits qui vont avec :
- avoir souscrit à l'offre Cloud Temple ;
- disposer des droits sur le module Compute.
Une fois ces éléments réunis, le déploiement ne prend que quelques minutes.
Ce qu'est OPNsense
OPNsense est un pare-feu et routeur open source bâti sur FreeBSD. C'est un fork de pfSense né en 2014. Ses points forts :
- une interface web claire et moderne ;
- des mises à jour deux fois par semaine ;
- une architecture modulaire avec un système de plugins ;
- le support natif d'OpenVPN, WireGuard et IPsec.
Toute l'administration se fait depuis un navigateur. Une fois le réseau en place, on n'a donc plus jamais besoin d'un accès console.
Le principe du déploiement
On monte deux machines virtuelles :
- le firewall lui-même, déployé depuis le template OPNsense ;
- une VM de management avec interface graphique, placée dans le même réseau que l'interface LAN du firewall. C'est depuis cette VM qu'on réalise la configuration initiale du firewall.
Le firewall a deux interfaces : LAN (côté réseau interne) et WAN (côté Internet).
Nous allons configurer l'interface LAN pour accéder à l'interface web du firewall pour pouvoir par la suite réaliser la configuration de l'accès Internet.
Étape 1 — Récupérer les paramètres réseau dans Shiva
Dans l'interface shiva de cloud temple vous aurez besoin de récupérer les elements suivants pour configurer la session BGP qui donne accès à internet
- Préfixe public : votre bloc d'IP publiques (onglet « IP publiques »)
- Préfixe d'interconnexion : le sous-réseau point-à-point qui porte la liaison BGP (onglet « IP d'interco »)
- Adresse de passerelle partagée (onglet « IP d'interco »)
- Local AS : le numéro d'AS de votre organisation
- AS partenaire : le numéro d'AS de Cloud Temple
- Keepalive timer : l'intervalle qui maintient la session BGP vivante
- Hold-time timer : le délai avant que la session soit déclarée morte
- Adresses des route servers : les serveurs avec qui on échange les routes
Gardez cette liste sous les yeux, on y reviendra à l'étape WAN.

Étape 2 — Déployer les deux VM
Depuis Shiva :
- déployez le firewall à partir du template OPNsense ;
- déployez la VM de management avec interface graphique, ici nous utilisons l'image Ubuntu 26.04 LTS disponible sur la Marketplace.
L'interface WAN de votre firewall doit être configurée dans votre vlan Internet avec une IP prise dans le préfixe d'interconnexion fourni par Shiva.
Étape 3 — Configurer le LAN et joindre l'interface web
Sur l'interface LAN du firewall, mettez une IP de votre réseau interne, avec son masque de sous-réseau et sa passerelle.

Placez ensuite la VM de management dans ce même réseau.
Pour la démonstration nous utilisons Ubuntu 22.04, avec une IP du même sous-réseau attribuée via Netplan.
Ouvrez un navigateur sur la VM de management et entrez l'IP LAN du firewall.
Vous devriez maintenant pouvoir accéder à l'interface d'administration d'Opensense.

Identifiants par défaut Username : root Password : opnsense
Avant d'aller plus loin, remplacez le mot de passe root par défaut.
Étape 4 — Configuration de l'interface WAN
Tout se passe désormais dans l'interface web.
4.1 — La passerelle
Renseignez d'abord la passerelle WAN avec l'adresse de passerelle partagée notée à l'étape 1.

4.2 — L'interface WAN
Configurez sur l'interface WAN une IP prise dans le préfixe d'interconnexion, et associez l'interface à la passerelle que vous venez de créer.

Étape 5 — Monter la session BGP
5.1 — Activer le routage
Allez dans Routing > General et cochez Enable.

Renseignez ensuite les informations de connexion vers les route servers :
- les IP des route servers ;
- le numéro d'AS partenaire.
Cochez la case multi-hop. Les route servers sont à plus d'un saut, or une session eBGP a un TTL de 1 par défaut : sans multi-hop, les paquets n'atteindraient jamais les serveurs.

5.2 — Routes statiques vers les route servers
Dans Routing > Static, ajoutez les routes pour joindre ces serveurs (chacune en /32).

5.3 — Redistribution des routes
Autorisez la redistribution des routes statiques et connectées pour annoncer votre préfixe publique.

5.4 — Vérifier la session
Direction Routing > Diagnostic > BGP.
Si les paramètres son bons, le BGP State affiche established.

Étape 6 — Annoncer le préfixe public
Toujours dans Routing > Static, créez une route qui pointe vers la loopback du firewall, cela crée une route « blackhole ».
Cette route permet d'annoncer votre préfixe publique aux routes servers.

Étape 7 — Configurer le NAT
Pour finir, quelques règles NAT à saisir manuellement.
L'ordre compte : les règles « ne pas NATer » doivent passer avant les règles d'accès Internet, sinon le NAT s'applique au trafic BGP et la session tombe.
Ne pas faire de NAT avec les peers BGP (celle-ci en tout premier) :
Donner accès à Internet à votre réseau LAN :
Donner accès à Internet au firewall lui-même, pour ses mises à jour :

Il ne reste plus qu'à tester la connectivité vers Internet depuis la machine de management :

Conclusion
Le firewall OPNsense est déployé, les sessions BGP sont établies et votre préfixe public est annoncé.
Si besoin, la documentation officielle d'OPNsense.