Aller au contenu
English
English
Sécurité medium

Installer OPNsense sur machine dédiée ou VM

18 min de lecture

logo opnsense

Ce guide vous permet d'installer OPNsense 26.1 sur une machine physique ou une VM KVM en moins de 30 minutes. Vous apprendrez à télécharger l'ISO, préparer le support d'installation, exécuter l'installateur, configurer les interfaces WAN/LAN et accéder à l'interface web. Prérequis : un PC ou serveur avec 2 cartes réseau (ou un hyperviseur KVM/Proxmox).

Chaque étape a été testée sur une VM KVM/libvirt avec OPNsense 26.1.2. Les commandes, messages d'erreur et solutions de contournement proviennent de cette installation réelle.

  • Choisir le bon type d'image parmi dvd, vga, serial et nano, et vérifier son empreinte avant de s'en servir.
  • Créer une VM KVM à deux interfaces, dont un LAN réellement isolé.
  • Exécuter l'installateur et choisir entre ZFS et UFS en connaissant ce que chacun protège.
  • Configurer les interfaces WAN et LAN, en réglant Block private networks selon la nature de votre WAN.
  • Accéder à l'interface web et valider que l'installation fonctionne.

OPNsense s'installe de trois manières selon votre infrastructure :

ModeMatériel typiqueAvantagesInconvénients
Machine dédiéeMini-PC (Intel N100), appliance DecisoPerformances natives, pas d'hyperviseurMatériel dédié nécessaire
Machine virtuelleKVM/libvirt, Proxmox VE, VMware ESXiRapidité de déploiement, snapshotsOverhead de virtualisation
Embedded (nano)CF card, SD card, appliance compacteRéduit les écritures disquePas de logs persistants par défaut

Pour un homelab ou un environnement de test, la VM est le meilleur choix : elle permet les snapshots, le clonage et ne nécessite pas de matériel supplémentaire.

RessourceMinimumRecommandé (avec IDS/IPS)
CPU1 GHz dual-core (amd64)1,5 GHz multi-core
RAM3 Go4–8 Go
Disque8 Go40–120 Go SSD
Réseau2 interfaces réseau2+ interfaces (WAN + LAN + OPT)
ConsoleVGA ou sérieVGA ou VNC

OPNsense fonctionne sur du matériel amd64 (processeur 64 bits). Les processeurs ARM ne sont pas supportés. Le point critique est la RAM : l'installateur charge un système complet en mémoire et échoue silencieusement en dessous de 3 Go.

Vous aurez besoin de :

  • Un hôte Linux avec KVM/libvirt installé : qemu-system-x86, libvirt-daemon-system et virtinst sur Debian/Ubuntu, le groupe @virtualization sur RHEL et dérivés (voir Installer KVM/libvirt)
  • Les droits d'exécution sur virsh et virt-install
  • De l'espace disque disponible dans un pool de stockage libvirt
  1. Rendez-vous sur la page de téléchargement officielle : https://opnsense.org/download/

  2. Sélectionnez les paramètres suivants :

    ParamètreValeur
    Architectureamd64
    Image typeselon la cible, voir le tableau ci-dessous
    MirrorLe plus proche géographiquement

    Le choix du type d'image n'est pas cosmétique : les images USB et l'ISO ne s'écrivent pas au même endroit, et se tromper donne un média qui ne démarre pas.

    TypeCe que c'estQuand le prendre
    dvdimage ISOmachine virtuelle, ou gravure optique
    vgaimage USB, console graphiqueclé USB sur une machine avec écran
    serialimage USB, console sériemachine sans écran, pilotée en série
    nanoimage préinstalléecarte CF ou SD d'une appliance compacte
  3. Téléchargez l'image et son fichier de checksums :

    Fenêtre de terminal
    wget https://mirrors.komogoto.com/opnsense/releases/mirror/OPNsense-26.1-dvd-amd64.iso.bz2
    wget https://mirrors.komogoto.com/opnsense/releases/mirror/OPNsense-26.1-checksums-amd64.sha256
  4. Vérifiez l'empreinte avant de décompresser. L'ordre compte : les checksums publiés portent sur l'archive .bz2, et bunzip2 supprime le fichier source une fois l'extraction faite. Contrôler après décompression reviendrait à chercher un fichier qui n'existe plus.

    Un détail vous attend dans ce fichier : OPNsense le publie au format BSD, SHA256 (fichier) = empreinte, que sha256sum --check ne sait pas lire. On extrait donc la valeur attendue et on la compare soi-même.

    Fenêtre de terminal
    attendu=$(awk -F'= ' '/dvd-amd64\.iso\.bz2/ {print $2}' \
    OPNsense-26.1-checksums-amd64.sha256)
    obtenu=$(sha256sum OPNsense-26.1-dvd-amd64.iso.bz2 | cut -d' ' -f1)
    [ "$attendu" = "$obtenu" ] \
    && echo "empreinte conforme" \
    || echo "EMPREINTE DIFFERENTE : ne pas utiliser cette image"

    La sortie doit afficher empreinte conforme. Toute autre réponse arrête la procédure ici : une image altérée n'est pas un désagrément, c'est un pare-feu que vous ne contrôlez pas.

  5. Décompressez seulement ensuite :

    Fenêtre de terminal
    bunzip2 OPNsense-26.1-dvd-amd64.iso.bz2

    Pour conserver l'archive d'origine, ajoutez -k.

  1. Créez le média d'installation en écrivant l'image sur une clé USB (minimum 1 Go) :

    Fenêtre de terminal
    # L'image USB se télécharge aussi en .bz2 : on la décompresse d'abord
    bunzip2 OPNsense-26.1-vga-amd64.img.bz2
    sudo dd if=OPNsense-26.1-vga-amd64.img of=/dev/sdX bs=16k status=progress

    Notez l'image utilisée : c'est la vga, l'image USB, et non l'ISO dvd du tableau précédent. Vérifiez son empreinte comme ci-dessus, en adaptant le motif awk à vga-amd64. Remplacez /dev/sdX par le périphérique de votre clé USB, vérifié avec lsblk : une erreur ici écrase un disque système.

  2. Branchez la clé USB sur la machine cible et démarrez dessus (touche F2, F12 ou Suppr selon le BIOS/UEFI).

  3. L'environnement live démarre. OPNsense charge un système fonctionnel en mémoire. Vous verrez l'invitation de connexion :

    login:
  4. Lancez l'installateur en vous connectant avec :

    • Utilisateur : installer
    • Mot de passe : opnsense
  5. Suivez les étapes de l'installateur (détaillées dans la section Exécuter l'installateur ci-dessous).

Cette section détaille la création d'une VM OPNsense complète avec 2 interfaces réseau (WAN et LAN).

Le schéma ci-dessous montre l'architecture réseau du lab KVM utilisé dans ce guide :

Architecture lab OPNsense sur KVM/libvirt, poste local, tunnel socat, VM OPNsense avec WAN et LAN, réseau virbr0

La VM dispose de deux interfaces réseau : WAN (vtnet0, DHCP sur le réseau libvirt 192.168.122.0/24) et LAN (vtnet1, réseau isolé 192.168.1.0/24 pour les machines clientes).

  1. Copiez l'ISO dans le pool de stockage libvirt :

    Fenêtre de terminal
    sudo cp OPNsense-26.1.2-dvd-amd64.iso /var/lib/libvirt/images/
  2. Créez le réseau isolé qui servira de LAN. Cette étape vient avant la VM, et elle n'est pas facultative : brancher les deux cartes sur le réseau default ne produirait pas un pare-feu, puisque le WAN et le LAN partageraient le même segment. Le réseau ci-dessous n'a ni NAT ni route vers l'extérieur, ce qui est exactement ce qu'on attend d'un LAN derrière un pare-feu.

    Fenêtre de terminal
    cat <<'EOF' | sudo tee /etc/libvirt/qemu/networks/opnsense-lan.xml
    <network>
    <name>opnsense-lan</name>
    <bridge name="virbr-lan"/>
    </network>
    EOF
    sudo virsh net-define /etc/libvirt/qemu/networks/opnsense-lan.xml
    sudo virsh net-start opnsense-lan
    sudo virsh net-autostart opnsense-lan

    Vérification : virsh net-list doit lister opnsense-lan en active.

  3. Créez la VM avec virt-install :

    Fenêtre de terminal
    sudo virt-install \
    --name opnsense \
    --ram 4096 \
    --vcpus 2 \
    --os-variant freebsd14.0 \
    --disk pool=default,size=20,format=qcow2,bus=virtio \
    --cdrom /var/lib/libvirt/images/OPNsense-26.1.2-dvd-amd64.iso \
    --network network=default,model=virtio \
    --network network=opnsense-lan,model=virtio \
    --graphics vnc,listen=0.0.0.0,port=5910 \
    --boot uefi \
    --noautoconsole

    Explications des paramètres :

    ParamètreRôle
    --ram 40964 Go de RAM (suffisant pour Suricata)
    --vcpus 22 processeurs virtuels
    --os-variant freebsd14.0Optimisations KVM pour FreeBSD
    --disk pool=default,size=20Disque de 20 Go en qcow2 (virtio)
    --network (x2)La première, sur default, sera le WAN ; la seconde, sur opnsense-lan, le LAN isolé
    --graphics vncConsole graphique VNC pour l'installation
    --boot uefiDémarrage UEFI (recommandé)
  4. Vérifiez que la VM est en cours d'exécution :

    Fenêtre de terminal
    virsh list --all | grep opnsense

    Résultat attendu :

    13 opnsense running
  5. Connectez-vous à la console VNC avec un client VNC (Remmina, TigerVNC, etc.) sur <IP_HOTE>:5910.

Si vous utilisez Proxmox au lieu de KVM en ligne de commande, créez la VM avec ces paramètres :

ParamètreValeur
TypeFreeBSD (14)
BIOSOVMF (UEFI)
DisqueVirtIO Block, 20 Go+
RAM4096 Mo
CPU2 cœurs, type host
Réseau 1 (WAN)VirtIO, bridge vmbr0
Réseau 2 (LAN)VirtIO, bridge vmbr1 (ou VLAN)

Une fois la VM ou la machine physique démarrée sur l'ISO, suivez ces étapes :

  1. Attendez le boot. L'écran de démarrage OPNsense affiche un compte à rebours. Laissez-le se terminer pour accéder à l'environnement live.

  2. Connectez-vous à l'installateur :

    • Utilisateur : installer
    • Mot de passe : opnsense
  3. Sélectionnez le keymap. Le clavier par défaut (US) convient dans la plupart des cas. Pour un clavier français, sélectionnez fr.kbd.

  4. Choisissez le type d'installation (système de fichiers) :

    • Install (ZFS) : recommandé. ZFS calcule un checksum de chaque bloc et détecte donc les corruptions silencieuses, et il offre les snapshots. Une nuance à connaître sur une machine à disque unique, la configuration de ce guide : détecter n'est pas réparer. ZFS ne répare un bloc que s'il dispose d'une copie saine, donc d'un miroir, d'un RAIDZ ou d'un réglage copies=2. Sur un simple disque, il vous signalera la corruption au lieu de vous servir des données fausses, ce qui reste très supérieur à UFS, mais il ne la corrigera pas.
    • Install (UFS) : le système de fichiers historique de FreeBSD. Plus léger en RAM (~200 Mo de moins), mais sans protection contre la corruption de données. Réservez-le aux machines avec très peu de ressources (< 4 Go RAM).

    En résumé : choisissez ZFS sauf contrainte matérielle forte.

  5. Sélectionnez le type de partitionnement. Pour un disque unique, choisissez stripe (par défaut). Ce mode utilise l'intégralité du disque. Les options mirror (RAID-1) et raidz (RAID-5) nécessitent plusieurs disques et sont réservées aux déploiements en haute disponibilité.

  6. Sélectionnez le disque cible. Dans une VM, ce sera généralement vtbd0 (VirtIO) ou da0 (USB). Sélectionnez-le avec la barre d'espace puis confirmez.

  7. Confirmez le formatage. L'installateur vous avertit que toutes les données du disque seront effacées. Confirmez avec Yes.

  8. Définissez le mot de passe root. Choisissez un mot de passe robuste (12+ caractères, lettres, chiffres, symboles). Vous en aurez besoin pour accéder à l'interface web.

  9. Sélectionnez "Complète Install". La machine redémarre. Si c'est une VM, retirez le média d'installation (l'ISO sera automatiquement éjecté au redémarrage dans la plupart des cas).

    Vérification : la machine redémarre et affiche le menu console OPNsense (sans l'écran de boot du live CD).

Après le redémarrage, OPNsense démarre sur le disque et affiche l'écran de configuration des interfaces.

  1. VLANs ? Répondez n (non) sauf si vous avez besoin de VLANs dès le départ.

  2. WAN interface : entrez le nom de la première interface réseau. Dans une VM KVM avec des cartes VirtIO, ce sera typiquement vtnet0.

  3. LAN interface : entrez le nom de la seconde interface : vtnet1.

  4. Optional interfaces : appuyez sur Entrée pour passer (vous pourrez en ajouter plus tard).

  5. Confirmez l'assignation. OPNsense configure les interfaces et affiche le résumé :

    WAN (vtnet0) -> v4/DHCP4: 192.168.122.xxx/24
    LAN (vtnet1) -> v4: 192.168.1.1/24

Par défaut :

  • WAN est configuré en DHCP (il obtient une adresse automatiquement)
  • LAN est configuré en statique sur 192.168.1.1/24

L'interface d'administration est accessible depuis le réseau LAN :

  1. Depuis un navigateur sur le réseau LAN, allez sur :

    https://192.168.1.1
  2. Acceptez le certificat auto-signé (normal pour une première installation).

  3. Connectez-vous avec :

    • Utilisateur : root
    • Mot de passe : celui défini lors de l'installation
  4. L'assistant de configuration (wizard) se lance automatiquement. Parcourez les 9 étapes :

    Étape 1, General Information :

    • Hostname : nom de votre pare-feu (ex : fw-lab, opnsense). Pas d'espaces ni de caractères spéciaux.
    • Domain : domaine interne (ex : lab.local, home.lan). Ce domaine sera utilisé par le DNS local.
    • Primary/Secondary DNS : laissez vide pour utiliser Unbound (le résolveur DNS intégré, recommandé). Si vous préférez un DNS externe, entrez par exemple 1.1.1.1 (Cloudflare) ou 9.9.9.9 (Quad9).
    • Override DNS : cochez cette case si le WAN est en DHCP et que vous voulez que le FAI fournisse les DNS au lieu d'Unbound.

    Étape 2, Time Server Information :

    • Time server hostname : laissez 0.opnsense.pool.ntp.org (par défaut).
    • Timezone : sélectionnez Europe/Paris (ou votre fuseau).

    Étape 3, Configure WAN Interface :

    • Type : DHCP si votre WAN obtient une IP automatiquement (box, routeur amont). Pour une connexion fibre directe, choisissez PPPoE et entrez vos identifiants FAI.
    • Block private networks (RFC1918) : la réponse dépend de votre WAN, et se tromper ici coupe tout. Cochez si le WAN est une adresse publique : l'option rejette alors le trafic prétendant venir de 10.0.0.0/8, 172.16.0.0/12 ou 192.168.0.0/16, ce qui est une parade de base contre l'usurpation d'adresse. Décochez si le WAN est lui-même privé, ce qui est le cas derrière une box, en double NAT, et dans le lab de cette page dont le réseau libvirt default est en 192.168.122.0/24. Cochée dans ce cas, la règle bloquerait votre propre passerelle et la VM n'aurait plus d'accès réseau.
    • Block bogon networks : cochez aussi. Bloque les plages d'adresses non attribuées.

    Étape 4, Configure LAN Interface :

    • LAN IP Address : 192.168.1.1 par défaut. Changez si ce sous-réseau entre en conflit avec votre réseau existant (ex : 10.0.1.1 ou 192.168.10.1).
    • Subnet Mask : 24 (soit 255.255.255.0, suffisant pour 254 hôtes).

    Étape 5, Set Root Password :

    • Changez le mot de passe root si nécessaire, ou laissez tel quel si vous l'avez déjà défini lors de l'installation.

    Étape 6, Reload Configuration :

  5. Cliquez sur Reload pour appliquer la configuration. OPNsense redémarre les services réseau. Après quelques secondes, le dashboard s'affiche avec les widgets de monitoring (CPU, RAM, uptime, interfaces).

Après avoir complété le wizard, vérifiez que tout fonctionne :

VérificationCommentRésultat attendu
DashboardLobby > DashboardWidgets CPU, RAM, uptime affichés
InterfacesInterfaces > OverviewWAN et LAN avec adresses IP
DNSServices > Unbound DNS > GeneralService actif (vert)
Mises à jourSystem > Firmware > Updates"Click to check for updates", puis update vers la dernière version
Ping externeInterfaces > Diagnostics > Pingping 1.1.1.1 → réponse
SymptômeCause probableSolution
Installation échoue ("File copy failed")RAM insuffisante (< 3 Go)Augmentez la RAM de la VM à 4 Go minimum
VM éteinte après "Complète Install"KVM ne reboote pas, tente de booter sur le CD-ROMRelancez avec sudo virsh start opnsense
Pas d'adresse sur WAN (DHCP)Interface mal assignéeVérifiez l'ordre des interfaces : vtnet0 = WAN
Interface web inaccessible depuis le LANNavigateur non connecté au réseau 192.168.1.0/24Connectez une VM client au réseau LAN
HTTP 403 sur l'interface webComportement normal avant loginLa page de login retourne 403. Ouvrez l'URL dans un navigateur, le formulaire de connexion s'affiche
Certificat TLS refuséCertificat auto-signéAjoutez une exception dans le navigateur
Performances réseau dégradées en VMHardware offloading actifDésactivez dans Interfaces > Settings
Boot bloqué sur "Mounting from zfs"Disque mal sélectionnéRéinstallez en vérifiant le disque cible (vtbd0)
Console série ne répond pasMauvais type d'imageUtilisez l'image USB serial, et non l'ISO dvd ni l'image vga
  • OPNsense 26.1 s'installe sur machine dédiée, VM KVM/Proxmox ou appliance embedded (image nano).
  • Le minimum matériel est 3 Go RAM, 2 interfaces réseau et 8 Go de disque, mais 4 Go RAM et 40 Go SSD sont recommandés.
  • L'installateur se lance en se connectant avec l'utilisateur installer et le mot de passe opnsense.
  • Choisissez ZFS : il détecte les corruptions par checksum, là où UFS ne voit rien. Sur un disque unique, il ne les répare pas pour autant, faute de copie saine.
  • Par défaut, WAN est en DHCP et LAN est sur 192.168.1.1/24.
  • L'interface web est accessible sur https://192.168.1.1 depuis le réseau LAN.
  • En VM, désactivez le hardware offloading pour éviter les problèmes de performance.
  • Lancez une mise à jour immédiatement après l'installation.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens ce site gratuitement, sans publicité, sans profilage et sans compte à créer. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn