[{"content":"Je suis un étudiant en deuxième année du cycle ingénieur à l\u0026rsquo;ISIMA, en filière réseaux et sécurité Informatique. Je suis passionné par les nouvelles technologies, le réseau et la cybersécurité. J\u0026rsquo;aime apprendre de nouvelles compétences et relever des défis techniques.\nJe fais également du volley-ball en club au SCVB, où je joue en équipe régionale et m\u0026rsquo;entraîne avec l\u0026rsquo;équipe Nationale 2. Je joue aussi en loisir ufolep au Volley-ball Pérignat-les-Sarliève. J\u0026rsquo;aime le sport et la compétition, et je trouve que cela m\u0026rsquo;aide à développer des compétences de travail en équipe et de leadership.\nAuparavant je jouais à des jeux vidéos compétitifs, notamment Fortnite, Rocket League et Valorant. Vous pouvez voir des highlights de mes parties sur mon chaîne Youtube. J\u0026rsquo;aime les jeux compétitifs, je trouve que cela m\u0026rsquo;aide à développer des compétences de prise de décision rapide et de travail en équipe.\nJ\u0026rsquo;apprécie faire des CTF sur HackTheBox pour apprendre concrètement les CVEs et les techniques d\u0026rsquo;exploitation.\nJ\u0026rsquo;ai aussi un lab perso où j\u0026rsquo;héberge des différents services tel que ce site web. Je suis toujours à la recherche de nouvelles opportunités pour apprendre et grandir en tant que professionnel de l\u0026rsquo;informatique, et je suis ouvert à toute collaboration ou projet intéressant. N\u0026rsquo;hésitez pas à me contacter si vous souhaitez discuter de quelque chose ou si vous avez des questions !\nMon CV est disponible ici : CV\n","date":"10 May 2026","externalUrl":null,"permalink":"/about/","section":"Perso","summary":"","title":"About me","type":"page"},{"content":" Objectif # Mettre en cluster des nœuds Proxmox en isolant le trafic Corosync sur un VLAN dédié (ex. VLAN 3000) transporté sur un bond LACP. Dans un premier temps il faut mettre à jour les pve grâce au script post install :\nbash -c \u0026#34;$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)\u0026#34; dépôt entreprise : n dépôt no-subscription : y dépôt test : n dépôt ceph entrprise : n activer la HA : y 1) Réseau : bond LACP + VLAN Corosync # À faire sur chaque nœud (adapter les noms d’interfaces et les IP).\nCréer le bond (LACP / 802.3ad) Créer l’interface VLAN pour Corosync (ex. bond1.3000) Assigner une IP Corosync statique Exemple /etc/network/interfaces :\nauto bond1 iface bond1 inet manual bond-slaves nic2 nic3 bond-miimon 100 bond-mode 802.3ad bond-xmit-hash-policy layer2+3 # BOND POUR COROSYNC auto bond1.3000 iface bond1.3000 inet static address ip_corosync/24 # BOND TAG POUR COROSYNC Côté switch # Configurer le trunk LACP vers le(s) serveur(s) Tagguer le VLAN 3000 sur ce trunk 2) Résolution de noms : /etc/hosts # Adapter toutes les IP (management + corosync) et les FQDN si besoin.\n127.0.0.1 localhost.localdomain localhost IP_MGMTPVE1 pve01.domain pve01 IP_MGMTPVE2 pve02.domain pve02 IP_MGMTPVE3 pve03.domain pve03 IP_COROSYNCPVE1 pve01.domain pve01 IP_COROSYNCPVE2 pve02.domain pve02 IP_COROSYNCPVE3 pve03.domain pve03 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts 3) Création / jointure du cluster (GUI Proxmox) # Sur PVE01 (création) # Datacenter Cluster Create Choisir l’IP Corosync Join Information Copy Information Sur PVE02 / PVE03 (jointure) # Datacenter Cluster Join Cluster Coller les informations Choisir l’IP Corosync ","date":"10 May 2026","externalUrl":null,"permalink":"/doc/proxmox/cluster/","section":"Documentation technique","summary":"","title":"Cluster Proxmox","type":"doc"},{"content":"","date":"10 May 2026","externalUrl":null,"permalink":"/doc/","section":"Documentation technique","summary":"","title":"Documentation technique","type":"doc"},{"content":"Installation d’OPNsense sur un Sophos XG 210 rev3\nÉtape 1 — Installation # Récupérer l’image .img sur le site web d’OPNsense (AMD64 – VGA – OPNsense)\nDownload - OPNsense\nFlasher une clé USB avec cette image et démarrer (boot) sur la clé (Rufus ou balenaEtcher).\nDepuis PuTTY, préparer la connexion série à 115200 bauds, sans contrôle de flux.\nEnsuite, démarrer le pare-feu avec la clé USB branchée : sur les pare-feux XG, l’USB est prioritaire au boot.\nUne fois le système lancé, utiliser les identifiants :\nUtilisateur : installer Mot de passe : opnsense On arrive sur l’installateur. Choisir la langue du clavier « french / fr.kbd », puis valider avec Espace puis Entrée.\nChoisir le type de partitionnement : ZFS.\nNe pas activer de redondance disque : Stripe.\nSélectionner ada0 comme disque d’installation. À la confirmation d’effacement des données, choisir « YES ».\nChoisir « Complete Install » : le mot de passe root pourra être changé ensuite via l’interface web.\nÉteindre le pare-feu puis retirer la clé USB en toute sécurité.\nÉtape 2 — Accès Web # Accéder à l’interface web via : https://192.168.1.1 sur l’interface LAN (le WAN est aussi client DHCP et l’interface web écoute par défaut sur toutes les interfaces).\nBranchements / accès Se connecter sur un port LAN du Sophos (ou sur le switch du LAN). Mettre le poste client en DHCP (par défaut) ou, si besoin, en IP statique dans le réseau du LAN (ex : 192.168.1.x/24). Ouvrir un navigateur et aller sur https://192.168.1.1 (accepter l’exception si le certificat est auto-signé). Identifiants par défaut Identifiants par défaut : username : root password : opnsense\nAssistant de première configuration (recommandé) Définir le nom d’hôte et le domaine. Définir les DNS (ou conserver ceux de votre réseau). Vérifier la config WAN (DHCP par défaut) et la config LAN (IP/masque). Changer le mot de passe root. Mises à jour + reboot Lancer les mises à jour : Système → Firmware → Mises à jour Appliquer les upgrades si proposés, puis redémarrer si nécessaire. (Optionnel) Interface sombre Interface sombre : Système → Settings → Général → Thème → opnsense-dark\nÉtape 3 — Configuration # Configuration réseau (exemples) : LAGG LACP + VLAN + règles + NAT + DHCP.\n“ Créer le LAGG (LACP) Chemin : Interface → Device → LAGG Type : LACP Sélectionner les ports physiques à agréger (ex : igb0 + igb1). Choisir l’algorithme/hash (L2/L3 selon besoin). Assigner l’interface LAGG Chemin : Interfaces → Assignements → Device (LAGG) → Add Ouvrir ensuite l’interface créée (ex : LAGG0) et : Cocher Enable (Optionnel) Définir une description explicite (ex : TRUNK_SWITCH) Créer un VLAN sur le LAGG (ex : VLAN 10) Chemin : Interfaces → Devices → VLAN Parent : l’interface LAGG (ex : LAGG0) VLAN tag : 10 Description : VLAN_10 Assigner et configurer l’interface VLAN (IP passerelle) Chemin : Interfaces → Assignements : ajouter le VLAN (il apparaît souvent sous un nom du type VLAN 10 on LAGG0). Ouvrir l’interface (ex : VLAN_10) et : Cocher Enable IPv4 Configuration Type → Static IPv4 IP / passerelle du VLAN (ex : 10.10.10.254/24) Save puis Apply Règles Firewall (minimum viable) Chemin : Firewall → Rules → VLAN_10 Ajouter au moins : Autoriser VLAN_10 net → This firewall (DNS, DHCP si nécessaire) Autoriser VLAN_10 net → any (pour un lab) ou seulement vers Internet selon besoin Côté WAN : laisser la politique par défaut (en général, pas d’entrant). NAT sortant (si le VLAN doit sortir sur Internet) Chemin : Firewall → NAT → Outbound : Mode Automatic (souvent suffisant) ou Hybrid/Manual si vous voulez maîtriser. Vérifier qu’une règle NAT existe pour VLAN_10 net vers WAN address. DHCPv4 (Kea) sur le VLAN Chemin : Services → Kea DHCP → Kea DHCPv4 Activer le service puis créer un subnet pour VLAN_10 : Réseau : 10.10.10.0/24 Pool (ex) : 10.10.10.50 → 10.10.10.200 Router (gateway) : 10.10.10.254 DNS : à définir (voir Options) Puis Subnets → Add :\nPour définir un DNS, voir l’onglet Options.\nRedirection de ports Supposons avoir un service en HTTP coté LAN, on veut une redirection de port depuis le WAN sur le port 500.\nPare-feu → NAT → Destination NAT → +\nOn choisit l’Interface WAN en ipv4 et TCP.\nLa destination correspond d’ou arrive le traffic, ici ce sera une ip du sous-réseau WAN. On choisit le port 500 par exemple.\nOn donne l’ip qu’on veut rediriger et le port du service réel. On autorise Firewall rule.\nBonus — Écran LCD (Sophos XG) via LCDd + script # La première étape d’installation peut être faite en mode graphique ou en CLI.\nDans Firmware → Greffons, rechercher lcd puis installer le greffon os-lcdproc-sdeclcd. Il génère une configuration de base que l’on va modifier.\n1.1 — Configuration de l’écran LCD avec des scripts # A) Accès CLI + installation de nano # Autoriser connexion ssh en root login et password login ( System → Settings → Administration → Secure Shell)\nAjouter le plugin os-lcdproc-sdeclcd ( System → Firmware → Plugins )\nDepuis un terminal, se connecter en SSH sur l’utilisateur root\nOn arrive sur l’interface de gestion d’OPNsense en CLI : taper 8 pour accéder au “vrai” shell.\nInstaller nano :\npkg install nano B) Fichiers à modifier # /usr/local/etc/LCDd.conf /usr/local/etc/LCDd-sdeclcd.conf /usr/local/etc/lcdproc.conf ⚠️ La configuration est légèrement différente selon le modèle.\nC) nano /usr/local/etc/LCDd.conf # XG210 rev1/2 \u0026#43; XG230 rev1 XG210 rev3 \u0026#43; XG230 rev2/3 \u0026#43; XG310/330 (écran orange, boutons ronds gris)\n[server] DriverPath=/usr/local/lib/lcdproc/ Driver=hd44780 Bind=127.0.0.1 Port=13666 ReportToSyslog=yes User=nobody Foreground=no Hello=\u0026quot; Welcome to\u0026quot; Hello=\u0026quot; OPNsense!\u0026quot; GoodBye=\u0026quot;Thanks for using\u0026quot; GoodBye=\u0026quot; OPNsense!\u0026quot; WaitTime=5 AutoRotate=no ServerScreen=no Backlight=on TitleSpeed=5 ToggleRotateKey=Escape PrevScreenKey=Up NextScreenKey=Down [hd44780] ConnectionType=ezio Device=/dev/cuau1 Keypad=yes Size=16x2 KeyMatrix_4_1=Enter KeyMatrix_4_2=Up KeyMatrix_4_3=Down KeyMatrix_4_4=Escape D) nano /usr/local/etc/LCDd-sdeclcd.conf # ``` [server] DriverPath=/usr/local/lib/lcdproc/ Driver=hd44780 Bind=127.0.0.1 Port=13666 ReportToSyslog=yes User=nobody Foreground=no Hello=\u0026quot; Welcome to\u0026quot; Hello=\u0026quot; OPNsense!\u0026quot; GoodBye=\u0026quot;Thanks for using\u0026quot; GoodBye=\u0026quot; OPNsense!\u0026quot; WaitTime=5 AutoRotate=no ServerScreen=no Backlight=on TitleSpeed=5 ToggleRotateKey=Escape PrevScreenKey=Up NextScreenKey=Down [hd44780] ConnectionType=ezio Device=/dev/cuau1 Keypad=yes Size=16x2 KeyMatrix_4_1=Enter KeyMatrix_4_2=Up KeyMatrix_4_3=Down KeyMatrix_4_4=Escape ``` [server] DriverPath=/usr/local/lib/lcdproc/ Driver=hd44780 Bind=127.0.0.1 Port=13666 ReportToSyslog=yes User=nobody Foreground=no Hello=\u0026#34; Welcome to\u0026#34; Hello=\u0026#34; OPNsense!\u0026#34; GoodBye=\u0026#34;Thanks for using\u0026#34; GoodBye=\u0026#34; OPNsense!\u0026#34; WaitTime=5 AutoRotate=no ServerScreen=no Backlight=on TitleSpeed=5 ToggleRotateKey=Escape PrevScreenKey=Up NextScreenKey=Down [hd44780] ConnectionType=ezio Device=/dev/cuau1 Keypad=yes Size=16x2 KeyMatrix_4_1=Down KeyMatrix_4_2=Escape KeyMatrix_4_3=Up KeyMatrix_4_4=Enter ``` #### D) `nano /usr/local/etc/LCDd-sdeclcd.conf` ``` [server] DriverPath=/usr/local/lib/lcdproc/ Driver=hd44780 Bind=127.0.0.1 Port=13666 ReportToSyslog=yes User=nobody Foreground=no Hello=\u0026#34; Welcome to\u0026#34; Hello=\u0026#34; OPNsense!\u0026#34; GoodBye=\u0026#34;Thanks for using\u0026#34; GoodBye=\u0026#34; OPNsense!\u0026#34; WaitTime=5 AutoRotate=no ServerScreen=no Backlight=on TitleSpeed=5 ToggleRotateKey=Escape PrevScreenKey=Up NextScreenKey=Down [hd44780] ConnectionType=ezio Device=/dev/cuau1 Keypad=yes Size=16x2 KeyMatrix_4_1=Down KeyMatrix_4_2=Escape KeyMatrix_4_3=Up KeyMatrix_4_4=Enter ``` E) nano /usr/local/etc/lcdproc.conf (client) # [server] Driver=hd44780 Bind=127.0.0.1 Port=13666 User=nobody WaitTime=5 ServerScreen=no [hd44780] ConnectionType=ezio Device=/dev/cuau1 Size=16x2 Keypad=no Il est important de créer un fichier de configuration de base du client, même si en réalité il sera désactivé au démarrage pour être remplacé par le script.\nF) Test + activation au démarrage # Tester :\nservice LCDd onestart Normalement, on devrait voir sur l’écran : « Welcome to OPNsense! ».\nActiver au démarrage :\nsysrc LCDd_enable=YES G) Script d’affichage (firmware / hostname / IP LAN / IP WAN) # Créer le script : nano /usr/local/bin/lcd_firmware.sh\n#!/bin/sh # PAGE 1 : FIRMWARE FIRMWARE=$(/usr/local/sbin/opnsense-version | awk \u0026#39;{split($2,v,\u0026#34;_\u0026#34;); print $1, v[1]}\u0026#39; | tr \u0026#39; \u0026#39; \u0026#39;_\u0026#39;) # PAGE 2 : HOSTNAME HOST=$(hostname | tr \u0026#39; \u0026#39; \u0026#39;_\u0026#39;) # PAGE 3 : IP LAN LAN_IF=$(ifconfig -a | awk \u0026#39;/description:.*LAN/ {print iface; exit} {iface=$1}\u0026#39; | sed \u0026#39;s/://\u0026#39;) LANIP=$(ifconfig $LAN_IF 2\u0026gt;/dev/null | awk \u0026#39;/inet /{print $2}\u0026#39; | head -n1) [ -z \u0026#34;$LANIP\u0026#34; ] \u0026amp;\u0026amp; LANIP=\u0026#34;No_IP\u0026#34; # PAGE 4 : IP WAN WAN_IF=$(ifconfig -a | awk \u0026#39;/description:.*WAN/ {print iface; exit} {iface=$1}\u0026#39; | sed \u0026#39;s/://\u0026#39;) WANIP=$(ifconfig $WAN_IF 2\u0026gt;/dev/null | awk \u0026#39;/inet /{print $2}\u0026#39; | head -n1) [ -z \u0026#34;$WANIP\u0026#34; ] \u0026amp;\u0026amp; WANIP=\u0026#34;No_IP\u0026#34; printf \u0026#34;hello\\nscreen_add fw\\nwidget_add fw fw_l1 string\\nwidget_set fw fw_l1 1 1 FIRMWARE\\nwidget_add fw fw_l2 string\\nwidget_set fw fw_l2 1 2 $FIRMWARE\\nscreen_add host\\nwidget_add host host_l1 string\\nwidget_set host host_l1 1 1 HOSTNAME\\nwidget_add host host_l2 string\\nwidget_set host host_l2 1 2 $HOST\\nscreen_add lan\\nwidget_add lan lan_l1 string\\nwidget_set lan lan_l1 1 1 LAN_IP\\nwidget_add lan lan_l2 string\\nwidget_set lan lan_l2 1 2 $LANIP\\nscreen_add wan\\nwidget_add wan wan_l1 string\\nwidget_set wan wan_l1 1 1 WAN_IP\\nwidget_add wan wan_l2 string\\nwidget_set wan wan_l2 1 2 $WANIP\\n\u0026#34; | nc 127.0.0.1 13666 #!/bin/sh TMP=/tmp/lcd.txt : \u0026gt; $TMP FIRMWARE=$(/usr/local/sbin/opnsense-version | awk \u0026#39;{split($2,v,\u0026#34;_\u0026#34;); print $1, v[1]}\u0026#39; | tr \u0026#39; \u0026#39; \u0026#39;_\u0026#39;) HOST=$(hostname | tr \u0026#39; \u0026#39; \u0026#39;_\u0026#39;) cat \u0026gt;\u0026gt; $TMP \u0026lt;\u0026lt;EOF hello screen_add fw widget_add fw l1 string widget_set fw l1 1 1 FIRMWARE widget_add fw l2 string widget_set fw l2 1 2 $FIRMWARE screen_add host widget_add host l1 string widget_set host l1 1 1 HOSTNAME widget_add host l2 string widget_set host l2 1 2 $HOST EOF i=1 ifconfig -a | awk \u0026#39; /flags=/ {iface=$1; sub(\u0026#34;:\u0026#34;, \u0026#34;\u0026#34;, iface)} /inet / { print iface \u0026#34; \u0026#34; $2 }\u0026#39; | while read IF IP; do case \u0026#34;$IF\u0026#34; in lo*|pflog*|pfsync*|enc*) continue ;; esac cat \u0026gt;\u0026gt; $TMP \u0026lt;\u0026lt;EOF screen_add if$i widget_add if$i l1 string widget_set if$i l1 1 1 $IF widget_add if$i l2 string widget_set if$i l2 1 2 $IP EOF i=$((i+1)) done nc 127.0.0.1 13666 \u0026lt; $TMP #!/bin/sh TMP=/tmp/lcd.txt : \u0026gt; $TMP FIRMWARE=$(/usr/local/sbin/opnsense-version | awk \u0026#39;{split($2,v,\u0026#34;_\u0026#34;); print $1, v[1]}\u0026#39; | tr \u0026#39; \u0026#39; \u0026#39;_\u0026#39;) HOST=$(hostname | tr \u0026#39; \u0026#39; \u0026#39;_\u0026#39;) cat \u0026gt;\u0026gt; $TMP \u0026lt;\u0026lt;EOF hello screen_add fw widget_add fw l1 string widget_set fw l1 1 1 FIRMWARE widget_add fw l2 string widget_set fw l2 1 2 $FIRMWARE screen_add host widget_add host l1 string widget_set host l1 1 1 HOSTNAME widget_add host l2 string widget_set host l2 1 2 $HOST EOF i=1 ifconfig -a | awk \u0026#39; /flags=/ {iface=$1; sub(\u0026#34;:\u0026#34;, \u0026#34;\u0026#34;, iface)} /inet / { print iface \u0026#34; \u0026#34; $2 }\u0026#39; | while read IF IP; do case \u0026#34;$IF\u0026#34; in lo*|pflog*|pfsync*|enc*) continue ;; esac # Récupère description, compactée (ou \u0026#39;no-desc\u0026#39; si absente) DESC=$(ifconfig $IF | awk -F \u0026#39;: \u0026#39; \u0026#39;/description: /{print $2}\u0026#39; | tr \u0026#39; \u0026#39; \u0026#39;_\u0026#39; | head -n1) [ -z \u0026#34;$DESC\u0026#34; ] \u0026amp;\u0026amp; DESC=\u0026#34;no-desc\u0026#34; cat \u0026gt;\u0026gt; $TMP \u0026lt;\u0026lt;EOF screen_add if$i widget_add if$i l1 string widget_set if$i l1 1 1 $IF widget_add if$i l2 string widget_set if$i l2 1 2 $IP widget_add if$i l3 string widget_set if$i l3 1 1 $DESC EOF i=$((i+1)) done nc 127.0.0.1 13666 \u0026lt; $TMP Rendre exécutable :\nchmod +x /usr/local/bin/lcd_firmware.sh H) Script de démarrage (syshook) # Modifier: nano /usr/local/etc/rc.syshook.d/start/50-lcdproc-sdeclcd.sh\n#!/bin/sh service LCDd restart sleep 2 pkill lcdproc [ -x /usr/local/bin/lcd_firmware.sh ] \u0026amp;\u0026amp; /usr/local/bin/lcd_firmware.sh chmod +x /usr/local/etc/rc.syshook.d/start/50-lcdproc-sdeclcd.sh Redémarrer le pare-feu : après quelques minutes, les informations du script doivent s’afficher. Utiliser les flèches pour changer d’écran, ou Esc pour activer la rotation automatique.\n","date":"10 May 2026","externalUrl":null,"permalink":"/doc/opnsense/installation/","section":"Documentation technique","summary":"","title":"Installation d'OPNsense sur un pare-feu sophos compatible","type":"doc"},{"content":" Objectif # Relier deux bâtiments (B1 et B2), chacun équipé d\u0026rsquo;un pare-feu OPNsense, afin de permettre la communication sécurisée entre leurs réseaux internes via un tunnel IPsec.\nConfigurations réseau # Bâtiment A (B1) IP publique : 131.5.5.10 Réseau Local (LAN) : 192.168.10.0/24 IP OPNsense : 192.168.10.254 Bâtiment B (B2) IP publique : 131.5.5.20 Réseau Local (LAN) : 192.168.20.0/24 IP OPNsense : 192.168.20.254 Etape 1 : Création des paires de clés # Permet d\u0026rsquo;authentifier chaque site de façon sécurisée.\nSur OPNsense B1 :\nAller dans VPN → IPsec → Key Pairs → +\nName : IPsec_B1Nom de la clé, pour l’identifier facilement. Générer une clé (clic engrenage), copier la clé publique. Sur OPNsense B2 :\nProcéder de la même façon avec un nom (ex : IPsec_B2) et copier sa clé publique.\nÉchange des clés publiques :\nSur chaque OPNsense, créer une clé (avec le + vert) et coller la clé publique de l\u0026rsquo;autre site.\nEtape 2 : Création de la connexion IPsec # Définit le tunnel sécurisé entre les deux OPNsense.\nSur OPNsense B1 :\nVPN → IPsec → Connections → +\nenabled : ☑️Active la connexion IPsec. Proposals : defaultParamètres cryptographiques standards (modifiable si besoin de sécurité accrue). Version : IKEv1+IKEv2Permet la compatibilité avec les deux versions du protocole. Mobike : ☑️Permet la mobilité des adresses IP, utile si l’IP publique peut changer. Local Addresses : 131.5.5.10IP publique du site local (B1 ici). Remote Addresses : 131.5.5.20IP publique du site distant (B2 ici). Description : To_B2 Authentification # Local Authentication → +\nConnection : To_B2 Round : 0 Authentication : Public Key Public Keys : IPsec_B1 Description : B1_Key Remote Authentication → +\nConnection : To_B2 Round : 0 Authentication : Public Key Public Keys : IPsec_B2 Description : B2_Key Trafic à protéger (\u0026ldquo;Child\u0026rdquo;) # Children → +\nLocal : 192.168.10.0/24Réseau interne B1. Remote : 192.168.20.0/24Réseau interne B2. Faire exactement la même chose sur OPNsense B2 mais en inversant les adresses locales/distantes.\nActiver l’IPsec sur chaque OPNsense :\nCochez Enable IPsec puis appliquer les changements.\nVérifier la connexion :\nVPN → IPsec → Status Overview\nEtape 3 : Règles de pare-feu # Autorise le trafic IPsec entre les deux sites.\nSur chaque OPNsense : # a) Autoriser tout le trafic via IPsec : # Firewall → Rules → IPsec → +\nAction : Pass Type : IPv4 Description : ALLOW ALLAutorise tout le trafic via le tunnel IPsec – à restreindre si besoin. b) Autoriser les paquets ESP (IPsec) : # Firewall → Rules → WAN → +\nAction : Pass Protocole : ESP (IPv4 ESP) Source : 131.5.5.20 (pour B1, ou 131.5.5.10 pour B2) Description : ESP Autorise le protocole de chiffrement IPsec. c) Autoriser la négociation IPsec (UDP 500) : # Firewall → Rules → WAN → +\nAction : Pass Protocole : UDP Source : 131.5.5.20 (pour B1, ou 131.5.5.10 pour B2) Port Source/Destination : / 500 Description : IPsec Autorise la phase d’initiation IPsec (IKE). Remarques # Testez la connexion avec un ping d\u0026rsquo;un PC du réseau B1 vers un PC de B2 (et inversement). Utilisez les logs IPsec pour diagnostiquer tout souci de connexion. Cette mise en page vous guide étape par étape et vous explique brièvement le but de chaque option. Pour une sécurité accrue, pensez à restreindre les règles \u0026ldquo;ALLOW ALL\u0026rdquo; IPsec par protocole ou IP si nécessaire !\n","date":"10 May 2026","externalUrl":null,"permalink":"/doc/opnsense/ipsec/","section":"Documentation technique","summary":"","title":"IPsec sur OPNsense","type":"doc"},{"content":" Objectif # Mettre en place le stockage iSCSI pour un cluster Proxmox VE (PVE) avec VLAN dédiés, jumbo frames, authentification CHAP et multipathing (ALUA) sur une baie HPE MSA 2070.\nPrérequis # VLAN iSCSI créés (4000, 4001) → Un VLAN par contrôleur. MTU 9000 (jumbo frames) de bout en bout : ports PVE + switch + baie Adressage IP iSCSI défini (une IP par port/chemin) Pool/volumes iSCSI déjà créés (ou à créer) sur la baie 1) Réseau (VLAN + ports) # Créer les VLAN fabric sur les switches. Configurer les ports : Côté Proxmox : ports/tagged sur le(s) VLAN fabric Côté baie : ports/untagged sur le VLAN fabric Configurer les interfaces sur PVE : nic4.4000 en MTU 9000 nic5.4001 en MTU 9000 Point de contrôle : vérifier le ping entre chaque IP fabric PVE ↔ baie (sur chaque VLAN/chemin).\n2) Architecture de redondance (Fabrics, Switchs, Contrôleurs, Multipathing) # Objectif # Assurer qu’une panne d’un élément (lien, port, switch, VLAN, contrôleur MSA) n’interrompt pas l’accès aux LUN :\n2 chemins réseau totalement indépendants (Fabric A / Fabric B) 2 contrôleurs sur la baie (CTRL A et CTRL B) 2 switches en stack côté réseau (vu comme un seul switch logique, mais avec redondance matérielle) Multipathing côté Proxmox (DM-Multipath) + ALUA côté MSA (chemins optimisés/non-optimisés) Architecture recommandée (principe A/B) # On sépare deux \u0026ldquo;fabrics\u0026rdquo; iSCSI :\nVLAN 4000 = Fabric A Proxmox : nic4.4000 (MTU 9000) Switch stack : ports iSCSI (tagged côté PVE, untagged ou access côté baie) Baie MSA : ports iSCSI du contrôleur A dans le VLAN 4000 VLAN 4001 = Fabric B Proxmox : nic5.4001 (MTU 9000) Switch stack : ports iSCSI (mêmes règles) Baie MSA : ports iSCSI du contrôleur B dans le VLAN 4001 Une interface iSCSI PVE = un VLAN = un chemin réseau, et chaque VLAN « mène » prioritairement à un contrôleur.\nCâblage / switches (stack de 2) # PVE : une patte iSCSI sur un membre du stack, l’autre iSCSI sur l’autre membre ex : nic4 → Switch-1, nic5 → Switch-2 MSA : ports iSCSI de chaque contrôleur répartis sur les 2 switches Bonnes pratiques : Éviter LACP/bond sur iSCSI. 1 NIC = 1 IP = 1 chemin (la redondance/agrégation se fait par Multipath, niveau bloc). Chemins attendus (exemple) # Pour une LUN présentée par la MSA sur un nœud PVE, vous devez voir plusieurs chemins (ex : 2 ports par contrôleur → 4 chemins).\nRôle d’ALUA (MSA) + DM-Multipath (PVE) # ALUA : annonce chemins Optimized/Active (chemins préférés – contrôleur propriétaire du LUN) et Non-optimized (secours) PVE : multipathd regroupe tous les chemins d’un même LUN en un seul device (/dev/mapper/mpathX), bascule automatiquement en cas de coupure, maintient l’I/O Scénarios de panne couverts # Perte d’un câble ou d’un port NIC côté PVE → chemins restants OK Perte d’un port iSCSI sur la MSA → chemins restants OK Perte d’un VLAN, d’un switch, ou d’un contrôleur → chemins restants OK (failover automatique) Points de contrôle avant mise en prod # Les deux VLAN (4000/4001) pingent correctement PVE \u0026lt;-\u0026gt; MSA (MTU 9000 validé) Les sessions iSCSI sont établies sur les deux fabrics (A et B) multipath -ll présente : plusieurs chemins des groupes d’accès par priorité (ALUA) Test de coupure : débrancher nic4 puis nic5 et observer la continuité I/O à chaque fois test failover contrôleur sur la baie et vérifier la bascule automatique 3) Baie MSA : stockage + CHAP # Créer le pool de stockage sur la baie. Créer les volumes/LUN iSCSI. Activer/configurer l’authentification CHAP (même compte CHAP pour tous les nœuds PVE). Récupérer/configurer l’IQN (target) côté baie (MSA). 4) Proxmox : config IQN (initiator) # Sur chaque nœud PVE, modifier l’IQN (exemple) :\niqn.2026-04.local.domain:pve01-data Fichier à modifier : /etc/iscsi/initiatorname.iscsi\n5) Proxmox : installation iSCSI + multipath # Sur chaque nœud PVE :\napt update \u0026amp;\u0026amp; apt install open-iscsi multipath-tools -y systemctl enable --now iscsid systemctl enable --now multipathd 6) Proxmox : activer CHAP (iscsid.conf) # Éditer /etc/iscsi/iscsid.conf :\nnode.session.auth.authmethod = CHAP node.session.auth.username = pve node.session.auth.password = StrongPassword123 7) Proxmox : configuration multipath (MSA 2070 / ALUA) # Éditer /etc/multipath.conf (exemple) :\ndefaults { user_friendly_names no find_multipaths yes path_grouping_policy group_by_prio path_selector \u0026#34;round-robin 0\u0026#34; rr_min_io 1 rr_weight uniform failback immediate no_path_retry queue fast_io_fail_tmo 5 dev_loss_tmo 600 } devices { device { vendor \u0026#34;HP\u0026#34; product \u0026#34;MSA 2070 iSCSI\u0026#34; path_grouping_policy group_by_prio path_checker tur hardware_handler \u0026#34;1 alua\u0026#34; prio alua rr_weight uniform rr_min_io 50 no_path_retry queue failback immediate } } 8) Découverte des targets + login + autologin # # Découverte des targets iscsiadm -m discovery -t sendtargets -p \u0026lt;IP_ISCSI_MSA\u0026gt; # Login (avec CHAP défini dans iscsid.conf) iscsiadm -m node --login # Activer l\u0026#39;auto-login au démarrage iscsiadm -m node --op update -n node.startup -v automatic # Redémarrage des services systemctl restart open-iscsi systemctl restart multipathd 9) Vérifications # # (Optionnel) Forcer une (re)découverte multipath multipath -v2 # Vérifier les chemins / mapping multipath -ll 10) Côté stockage PVE (LVM) + HA (à faire) # Créer le DATASTORE sur proxmox Tester la HA (migration, reprise, etc.) ","date":"10 May 2026","externalUrl":null,"permalink":"/doc/proxmox/iscsi/","section":"Documentation technique","summary":"","title":"iSCSI Proxmox VE (PVE) + HPE MSA 2070","type":"doc"},{"content":" OpenVPN sur OPNsense # Ce guide vous explique pas à pas comment configurer un accès VPN sécurisé sur OPNsense en utilisant OpenVPN.\nÉtape 1 : Ajouter une autorité de certification (CA) locale # Accédez à :\nTrust → Authorities → +\nRenseignez les informations :\nMethod : Create an internal Certificate Authority Description : openvpn_cert_auth Key Type : RSA-2048 (ou RSA-4096, choisissez la même méthode que celle du certificat serveur) Digest Algorithm : SHA256 (ou SHA512) Common Name : openvpn_cert_auth Étape 2 : Générer un certificat serveur # Accédez à :\nTrust → Certificates → +\nRenseignez les informations :\nDescription : openvpn_server_cert Type : Server Certificate Key Type \u0026amp; Digest Algorithm : Le même que celui de la CA Issuer : openvpn_cert_auth Common Name : openvpn_server_cert Étape 3 : Créer un utilisateur et lui attribuer un certificat # Créer l\u0026rsquo;utilisateur :\nSystem → Access → Users → +\nGroup Membership : admins Cliquer sur l’icône étoile de l’utilisateur créé pour éditer ses détails :\nAjouter un certificat :\nDescription : vpnuser-certificate Type : Client Certificate Key Type \u0026amp; Digest Algorithm : Le même que celui de la CA Issuer : openvpn_cert_auth Common Name : Nom de l’utilisateur Étape 4 : Créer une clé statique et une instance OpenVPN # Créer la clé statique :\nVPN → OpenVPN → Instances → Static Keys → +\nDescription : openvpn_static_key Créer l\u0026rsquo;instance OpenVPN :\nVPN → OpenVPN → Instances → +\nRole : Server Description : openvpn_server Enabled : ✅ Protocol : UDP Port Number : 1194 Type : TUN Server (IPv4) : ex : 172.30.216.0/24 (différent du LAN) Topology : subnet Certificate : openvpn_server_cert Verify Remote Certificate : ✅ Certificate Depth : One (Client + Server) TLS Static key : openvpn_static_key Authenticating : Local Database Local network : 192.168.1.0/24 (subnet du LAN) Miscellaneous Options : client-to-client Push Options : push block-outside-dns push register-dns Redirect Gateway : default DNS Servers : 194.2.0.20 (ou DNS local si présent) Étape 5 : Assigner une interface # Assignation de l\u0026rsquo;interface :\nInterfaces → Assignments → Device → ovpns1 → Description : openvpn server → Add\nActiver l’interface :\nInterfaces → openvpnserver → enable ✅\nÉtape 6 : Configurer les règles de pare-feu # 🔹 Ouverture du port VPN sur le WAN # Menu : Firewall → Rules → WAN → + Réglages : Action : Pass Interface : WAN Direction : in TCP/IP version : IPv4 Protocol : UDP Destination : WAN address Destination port range : 1194 to 1194 Description : ALLOW OPENVPN TRAFFIC 🔹 Autoriser le trafic VPN # Menu : Firewall → Rules → openvpnserver → + Réglages : Action : Pass Interface : openvpnserver Protocol : Any Source : openvpnserver net Description : ALLOW CLIENT ACCESS Étape 7 : Exporter la configuration client # Menu :\nVPN → OpenVPN → Client Export\nOptions d’export :\nExport Type : File Only Hostname : nom de domaine public, ex: anbourdier.ddns.net Port : 1194 Télécharger le certificat utilisateur\nEn bas de la page, télécharger le fichier vpnuser_certificate\n💡 Astuce sécurité :\nUtilisez des mots de passe forts pour les comptes utilisateurs VPN et sauvegardez les certificats dans un endroit sécurisé.\nVotre serveur OpenVPN sur OPNsense est maintenant prêt !\n","date":"10 May 2026","externalUrl":null,"permalink":"/doc/opnsense/openvpn/","section":"Documentation technique","summary":"","title":"OpenVPN sur OPNsense","type":"doc"},{"content":"","date":"10 May 2026","externalUrl":null,"permalink":"/doc/opnsense/","section":"Documentation technique","summary":"","title":"OPNsense","type":"doc"},{"content":"","date":"10 May 2026","externalUrl":null,"permalink":"/","section":"Perso","summary":"","title":"Perso","type":"page"},{"content":"","date":"10 May 2026","externalUrl":null,"permalink":"/doc/proxmox/","section":"Documentation technique","summary":"","title":"Proxmox","type":"doc"},{"content":" Objectif # Mettre en place une IP virtuelle (VIP) partagée entre plusieurs nœuds Proxmox via Keepalived / VRRP.\nPrérequis # Les nœuds doivent être sur le même réseau L2 pour l’interface VRRP. Ouvrir le trafic VRRP (protocole IP 112) si filtrage. Choisir : une interface (ex. vmbr0.30) un virtual_router_id unique sur le réseau une VIP au bon format (ex. 192.168.30.10/24) 1) Installation (sur chaque nœud) # apt update \u0026amp;\u0026amp; apt install keepalived -y 2) Configuration sur PVE01 (MASTER) # Fichier : /etc/keepalived/keepalived.conf\nvrrp_instance VI_1 { state MASTER interface vmbr0.30 # Interface de management du PVE01 virtual_router_id 51 # Unique sur le réseau priority 100 # Plus haute priorité = MASTER advert_int 1 authentication { auth_type PASS auth_pass StrongPassword123 # À remplacer par un secret fort } virtual_ipaddress { x/24 # VIP (ex. 192.168.30.10/24) } } 3) Configuration sur PVE02 (BACKUP) # Fichier : /etc/keepalived/keepalived.conf\nvrrp_instance VI_1 { state BACKUP # Nœud secondaire interface vmbr0.30 # Interface de management du PVE02 virtual_router_id 51 # Identique au MASTER priority 90 # Plus faible que le MASTER advert_int 1 authentication { auth_type PASS auth_pass StrongPassword123 # Doit être identique au MASTER } virtual_ipaddress { x/24 # VIP (ex. 192.168.30.10/24) } } 4) Ajouter d’autres nœuds # Reprendre la configuration d’un nœud BACKUP Diminuer priority (ex. 80, 70, 60, …) Garder le même virtual_router_id, le même nom d’instance (VI_1) et le même auth_pass Démarrage / activation # systemctl enable --now keepalived systemctl status keepalived --no-pager Vérification rapide # Sur le nœud MASTER, vérifier que la VIP est bien portée par l’interface : ip a | grep -A2 -n \u0026#34;vmbr0.30\u0026#34; Couper Keepalived sur le MASTER et vérifier le basculement : systemctl stop keepalived ","date":"10 May 2026","externalUrl":null,"permalink":"/doc/proxmox/vip/","section":"Documentation technique","summary":"","title":"VIP Proxmox avec Keepalived / VRRP","type":"doc"},{"content":"","externalUrl":null,"permalink":"/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"},{"content":"","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"}]