Dans cet article je vais décrire comment installer une instance sous OPNsense au sein d'OVHcloud.
Par défaut, il n'est pas possible de déployer une image OPNsense lors de la commande d'une instance sur OVHcloud.
En effet les distributions disponibles sont :
- AlmaLinux
- RockyLinux
- CentOS
- Debian
- Fedora
- Ubuntu
Pourtant, on peut très bien déployer un système complet OPNsense (FreeBSD) nativement sur une instance OVHcloud.
Un vRack sera déployé pour la partie LAN d'OPNsense.
Préparation de l'instance OVHcloud
Contexte
Voici un schéma simplifié du contexte de déploiement de l'OPNsense :
- L'instance qui hébergera OPNsense utilisera l'offre Discovery à 4.99€ HT/mois avec 1 vCPU, 2 Go de RAM, et 25GB de disque SSD.
- Un vRack sera déployé pour relier d'autres instances futures derrière l'OPNsense. Par exemple pour héberger un cluster swarm.
Création d'un vRack
En tout premier, il faut créer le vRack auquel sera rataché la future instance OPNsense. Cette opération se réalise dans le panel d'administration (OVH Manager) de vos services Public Cloud
chez OVH.
- Dans la catégorie
Network
, se rendre dans la partiePrivate Network
. - Créer un réseau privé.
- Définir un ID de VLAN (Recommandé)
- Choisir le mode de distribution des adresses (Statique recommandé).
- Dans la partie
Localisation
, il est possible de définir à quelle région sera rattaché ce vRack. Pour cet article tout ce passera à Gravelines. - Définir un nom pour ce vRack (ClusterSwarm dans cet article).
Cela peut prendre un peu de temps à être déployé la 1ère fois. Patience...
Une fois déployé et disponible, ce vRack apparait dans la liste des réseaux privés disponible avec la plage d'adresse attribuée.
Création de l'instance
Maintenant que le vRack est déployé, une nouvelle instance peut être créée.
- Dans la partie
Instances
, créer une nouvelle instance. - Choisir un modèle (Instance
D2-2
amplement suffisante). - Choisir une localistation (
Gravelines
par exemple). - Sélectionner une image. Ici, je suis parti sur une Debian 11 mais peut importe le choix car l'installation d'OPNsense se fera à travers une image rescue.
- Ajouter sa clef SSH publique de type RSA ou ECDSA (Les clefs de type ED25519 ne sont pas pris en charge).
- Définir un nom pour cette instance (hostname).
- Sélectionner le réseau privé à attacher à cette instance (Le vRack préalablement créé doit être disponible).
- Sélectionner une période facturation (Mensuel ou horaire).
- Créer l'instance.
Cette instance est maintenant disponible. Son adresse IP publique et son IP privée y sont indiquées.
Installation OPNsense
Démarrage en mode rescue
Pour pouvoir installer OPNsense, il est nécessaire de démarrer en mode rescue l'instance préalablement créée.
En mode rescue, le disque principal sera disponible mais non monté. Le système rescue sera chargé en RAM (soit 2 Go avec une instance D2-2).
L'ISO d'OPNsense fait 1,3 Go
Il est donc impératif de sélectionner une image rescue qui prend très d'espace afin d'y loger également l'iso d'OPNsense.
De celle que j'ai testé, c'est la Debian 9
qui est la plus approprié pour la suite des manipulations.
- Dans les détails de l'instance, redémarrer en mode rescue.
- Sélectionner l'image
Debian 9
.
Une fois le redémarrage effectué en mode rescue en Debian 9, il est possible de s'y connecter avec la clef SSH qui a été définie lors de la création de l'instance.
- Se connecter en SSH à l'instance :
ssh -i ~/.ssh/ma_clef_privee debian@[IP_PUBLIC_INSTANCE]
- Adapter selon l'emplacement et le nom de la privée.
- [IP_PUBLIC_INSTANCE] = IP publique de l'instance OVHcloud.
Récupération de l'ISO d'OPNsense
Une fois connecté en SSH à l'instance en mode rescue Debian 9, il est important de controler qu'il y aura assez d'espace disque afin de récupérer et décompresser l'ISO d'OPNsense.
- Vérifier l'espace disque disponible (Le rescue mode est chargé en RAM) :
df -h | grep -v ^tmpfs
L'espace restant disponible est de 1,9G. Cela sera suffisant pour récupéré l'ISO compressé et la décompresser :
Filesystem Size Used Avail Use% Mounted on
udev 968M 0 968M 0% /dev
/dev/sda1 3.0G 954M 1.9G 34% /
- Télécharger la dernière ISO disponible d'OPNsense :
wget -P /tmp https://mirror.vraphim.com/opnsense/releases/22.7/OPNsense-22.7-OpenSSL-dvd-amd64.iso.bz2
- Installer
bzip2
(Si celui-ci n'est pas disponible) :
sudo apt update
sudo apt install bzip2
- Extraire et supprimer l'archive :
cd /tmp
bzip2 -dk OPNsense-22.7-OpenSSL-dvd-amd64.iso.bz2
rm OPNsense-22.7-OpenSSL-dvd-amd64.iso.bz2
Mise en place QEMU/VNC
Afin de pouvoir déclencher l'installation en mode console d'OPNsense à partir de l'ISO récupérée, VNC sera utilisé à travers QEMU.
Afin de pouvoir prendre réaliser cela, il est nécessaire de relancer la connexion SSH à l'instance à l'aide d'un tunnel SSH afin de mapper le port distant 5900 vers un port local.
- Se reconnecter à la session SSH de l'instance en rescue :
ssh -i ~/.ssh/ma_clef_privee debian@[IP_PUBLIC_INSTANCE] -L 5900:localhost:5900
- Télécharger le package :
wget -qO- /tmp https://slash-root.fr/vkvm.tar.gz | tar xvz -C /tmp
- Démarrer QEMU/VNC :
sudo /tmp/qemu-system-x86_64 -net nic -net user,hostfwd=tcp::80-:80,hostfwd=tcp::443-:443 -m 1024M -localtime -enable-kvm -hda /dev/sda -hdb /dev/sdb -vnc 127.0.0.1:0 -cdrom /tmp/OPNsense-22.7-OpenSSL-dvd-amd64.iso -boot d
En mode rescue,
/dev/sda
correspond à la racine (volume monté en RAM), et/dev/sdb
dorrespond au disque principal de votre instance (disponible mais non monté).
Démarrage de l'installation d'OPNsense
A partir de maintenant, il est maintenant possible de se connecter en VNC sur 127.0.0.1:5900
.
2 possibilités sont offertes lors du démarrage :
- Boot en mode live : Se connecter en
root
avec le mot de passeopnsense
. - Lancement de l'installation : Se connecter en
installer
avec le mot de passeopnsense
.
Le boot en mode live ne présente aucun intérêt dans ce cas de figure. Le compte
installer
est donc à utiliser pour déclencher l'installation de la solution.
- Sélectionner le bon disque pour l'installation (ada1 25GB car instance d2-2) :
- vtnet0 = Interface publique
- vtnet1 = IP vRack
Une fois l'installation terminée, dans les détails de l'instance sur le manager OVH, sortir du mode rescue :
Après quelques instants votre instance démarrera normalement sur son disque principal avec le chargement d'OPNsense.
Configuration OPNsense
Pour procéder à la 1ère configuration de la solution OPNsense :
- Se rendre dans les détails de l'instance.
- Puis console VNC dans le 2nd onglet.
Dans un prochain article, je traiterai de la configuration des interfaces avec une IP FailOver, la mise en place d'un certificat SSL avec Let's Encrypt.