Mise en place d'une infrastructure virtuelle complète avec pfSense et Zabbix


Contexte du projet

Dans le cadre de mon apprentissage personnel et du renforcement de mes compétences en administration systèmes et réseaux, j'ai entrepris la réalisation d'un laboratoire virtuel.
Ce projet a pour but de simuler une infrastructure réseau d'entreprise, afin d'expérimenter la configuration d'un pare-feu, d'un serveur de supervision et d'un réseau interne sous environnement virtualisé.

Toutes les machines virtuelles ont été déployées dans Oracle VirtualBox, afin de reproduire une topologie réaliste et isolée du réseau physique.


Objectifs du projet

  • Mettre en place un pare-feu pfSense jouant le rôle de serveur DHCP et passerelle réseau.

  • Déployer un serveur Ubuntu hébergeant la solution de supervision Zabbix Server.

  • Intégrer et surveiller plusieurs postes clients Linux (User1, User2) recevant leur configuration IP automatiquement via DHCP(pfsense).

  • Surveiller également le pare-feu pfSense grâce au protocole SNMP et/ou au Zabbix Agent.

  • Tester la connectivité réseau, la distribution d'adresses IP, et la communication entre les services.


Architecture du projet

Prerequis:

Télécharger les fichiers ISO :

schema réseau cisco

Environnement de virtualisation :

  • Hyperviseur : Oracle VirtualBox Manager ou autre  - WAN

  • Machines virtuelles :

    • pfSense (pare-feu et DHCP) - LAN

    • Ubuntu Server (Zabbix Server)

    • User1 et User2 (clients Linux) - DHCP atribuées


Étapes de mise en œuvre

Création et configuration des machines virtuelles

    • pfSense : 2 cartes réseau (WAN/NAT et LAN interne)

    • Ubuntu Server : interface sur le LAN interne

    • Clients User1/User2 : interface sur le LAN interne

Creation VM pfSense 

VirtualBox → Nouveau →

  • Nom : pfSense
  • Image ISO : sélectionnez pfSense ISO.
  • Type : BSD · Version : FreeBSD (64 bits)
  • Mémoire : 1024–2048 Mo (1–2 Go).
  • Créer un disque virtuel : VDI, alloué dynamiquement, 20 Go.
  • Paramètres → Système → Carte mère : activer EFI ? (laisser la valeur par défaut, généralement désactivée). 

Paramètres → Réseau :

  • Adaptateur 1 : Activé → Connecté à : NAT → Nom : (adaptateur hôte) — laisser la valeur par défaut. (Cela devient pfSense WAN.)
  • Adaptateur 2 : Activé → Connecté à : Réseau interne → Nom : net-pfsense. (Il s'agit du LAN.)
  • Démarrer la VM → démarrer le programme d'installation.

Installation pfSense (dans VM)

Dans le menu de démarrage pfSense → Installer → Accepter la configuration clavier par défaut.

Choisissez le partitionnement automatique (UFS) lorsque vous y êtes invité.

Confirmez l'installation sur le disque → attendez la fin de l'installation.

Une fois terminé, retirez l'ISO du stockage VM et redémarrez.

Configuration initiale de la console pfSense et interface graphique Web

Au premier démarrage, pfSense affichera un menu console. Il attribuera automatiquement des interfaces telles que em0, em1.

  1. Lorsque vous y êtes invité, attribuez WAN = em0, LAN = em1 (si vous y êtes invité).
  2. Il affichera l'adresse IP LAN (par défaut, généralement 192.168.1.1). Si vous y êtes invité, définissez LAN sur 192.168.1.1/24.
  3. À partir d'une machine virtuelle cliente (étape suivante), vous accéderez à l'interface graphique Web à l'adresse : https://192.168.1.1/
  4. Identifiant par défaut : admin / pfsense — modifiez immédiatement le mot de passe administrateur via l'assistant de configuration.

Création machine virtuelle Ubuntu Server et configurer le réseau

  • VirtualBox → Nouveau → Nom : Ubuntu-Server → Type : Linux, Version : Ubuntu (64 bits).
  • RAM : 2048 Mo. Disque : 20 Go VDI alloué dynamiquement.
  • Paramètres → Réseau → Adaptateur 1 : connecté au réseau interne → Nom : net-pfsense. (Ubuntu se trouve donc sur le même réseau local que pfSense.)
  • Stockage → monter l'ISO Ubuntu Server → Démarrer la VM → Installer Ubuntu Server.

Après l'installation, modifiez manuellement les paramètres réseau : 

Addresse : 192.168.1.10

Netmask : 24

Gateway : 192.168.1.1 (pfSense)

Test de connectivité :

- ping -c4 192.168.1.1

- ping -c4 1.1.1.1 

Mise a jour des paquets et services

  • apt update
  • apt upgrade  

Accéder a l'interface graphique de pfsense : 192.168.1.1/

  • Login : admin

  • mot de passe : pfsense

Activer DHCP :

Services → Serveur DHCP → LAN : Activer le serveur DHCP sur l'interface LAN → activer la plage DHCP 192.168.1.100 – 192.168.1.200


Créer des machines virtuelles clients (Linux) et configurer le réseau

Créer des machines virtuelles : Client1, Client2, etc.
RAM : 1024 Mo, disque : 10 Go.
Réseau : Adaptateur 1 → Réseau interne → net-pfsense.

Sur les clients, pfsense attribue automatiquement le réseau par DHCP(pfsense).

  •  dhclient -r                                 -r libère l'adresse IP actuelle.

  • dhclient                                       demande une nouvelle à pfSense. 

Vérifiez votre nouvelle adresse IP : ip a


Installation et configuration Zabbix sur Ubuntu et les clients 

Machine Ubuntu :   Consulter supervision avec Zabbix  pages : 1-5. 

Machines Linux; User1, User2 : Consulter supervision avec Zabbix  page : 10

- Après redémarrer l'agent Zabbix sur les clients : systemctl restart zabbix-agent

Création des hôtes sur le serveur Zabbix

Consulter supervision avec Zabbix pages : 12 (Ajout d'hôte GLPI)

Ajouter les hôtes à superviser :

  • pfsense - pare-feu / dhcp
  • User1 - linux client
  • User2 - Windows client
  • server Zabbix Ubuntu 

Activation des déclencheurs

Vous devez activer des déclencheurs pour chaque machine en cas d'incident.

- pfsense

- User1 et User2

Configuration d'action et opération des déclencheurs 

Les actions sont un ensemble d'étapes prédéfinies qui se déclenchent automatiquement lorsqu'un certain événement se produit.

Les actions déclenchées permettent d'exécuter des actions lorsqu'un état de déclenchement change.

Configuration média SMTP sur Zabbix

SMTP signifie Simple Mail Transfer Protocol(protocole simple de transfert de courrier). Il s'agit d'un protocole de communication standardisé utilisé pour l'envoie et la transmission des messages électroniques sur Internet.

Indiquez comment vous souhaitez recevoir les rapports d'incidents: par mail, discord, github, glpi, etc.. 

Configuration d'alertes

Vous devez configurer les alertes de déclenchement d'incidents.


J'ai décidé d'ajouter un serveur Windows à mon projet afin de tester les fonctionnalités d'un contrôleur de domaine Active Directory.

Intégration Windows Server dans l'infrastructure virtuelle

Objectif de l'intégration

L'objectif est d'ajouter un Windows Server dans l'environnement pour :

  • Centraliser certains services Windows (DNS interne et Active Directory)

  • Servir de serveur DHCP secondaire en cas de panne de pfSense

  • Être supervisé via Zabbix

pfSense reste :

  • Le pare-feu

  • Le routage

  • Le DHCP principal

Windows Server devient :

  • DNS interne principal

  • DHCP secondaire (désactivé en temps normal)

Pour ce projet, j'attribue une IP statique

  • IP : 192.168.1.20

  • Masque : 255.255.255.0

  • Passerelle  : 192.168.1.1 (pfSense)

  • DNS : 192.168.1.20 (lui-même)

  • DNS secondaire : 192.168.1.1 (pfSense) 

En cas de panne du pare-feu pfSense, l'accès Internet est indisponible, mais le réseau local reste opérationnel grâce au Windows Server, configuré avec une adresse IP statique et capable d'assurer temporairement la distribution DHCP et la résolution DNS internes.

Installation du rôle DNS

  • Ajouter des rôles et fonctionnalités -> Installation basée sur un rôle ou une fonctionnalité -> Serveur DNS -> Ajouter -> Suivant -> Installer 

Créer une zone directe interne : office.local

Clique droit sur office.local, Propriétés → Général → Zone principal → Cochez Enregistrer la zone dans Active Directory

Ajouter les enregistrements (A ou AAAA) : Clique droit sur office.local → Nouvel hôte (A ou AAAA).

Nom : ns            IP : 192.168.1.20

Cocher Créer un pointeur d'enregistrement PTR associé → Ajouter hôte

Ajouter pfSense :

Nouveau host : Nom : pfsense → IP : 192.168.1.1 → Ajouter hôte

Ajouter les clients : 

Nouveau host :   Ubuntu : 192.168.1.10             User1 → IP : 192.168.1.101         User2 (Windows) → IP : 192.168.1.105

Ajout d'Active Directory 

L'objectif principal d'Active Directory est de fournir des services centralisés d'identification et d'authentification à un réseau d'ordinateurs utilisant le système Windows.
Il permet également l'attribution et l'application de stratégies, la distribution de logiciels, et l'installation de mises à jour critiques par les administrateurs. 

Installation du rôle AD DS

  • Ajouter des rôles et fonctionnalités -> Installation basée sur un rôle ou une fonctionnalité -> Services AD DS-> Ajouter -> Suivant -> Installer

Dans la notification, sélectionner Promouvoir ce serveur en contrôleur de domaine, 

  • Ajouter une nouvelle forêt, nom de domaine racine: office.local
  • Ajouter mot de passe DSRM
  •  Terminez le processus d'installation

Serveur DHCP Secondaire

  • Ajouter des rôles et fonctionnalités --> Installation basée sur un rôle ou une fonctionnalité --> Serveur DHCP --> Ajouter --> Suivant --> Installer
  • Après l'installation, Autoriser. 

Creation étendu

Définir les plages d'adresses

Ensuite, la passerelle et DNS

Le rôle DHCP a été installé sur le serveur Windows avec un scope configuré mais volontairement désactivé, afin d'éviter tout conflit d'attribution d'adresses IP. Ce serveur est destiné à être activé uniquement en cas d'indisponibilité du serveur DHCP principal (pfSense), assurant ainsi la continuité du réseau interne.

Tests de fonctionnement 

Test AD DS : pour joindre le domaine office.local sur VM Windows 

  • Création utilisateur HIbibity Hibs sur votre AD:  Outils -> Utilisateurs et ordinateurs Active Directory -> office.local -> Clique droit sur Users -> Nouveau, Utilisateur.
  • Connectez-vous à votre compte Windows (VM Windows)  -> Windows+R (sysdm.cpl) -> Modifier -> Cochez domaine -> office.local -> Connectez vous avec votre compte ou en admin.

Votre domaine a été connecté avec succès.

Test DHCP : Simulation de panne pfSense 

Étape 1 : Avant de simuler la défaillance du DHCP, connectez-vous à votre VM Windows ou VM Linux  pour vérifier le serveur DHCP actuelle : ipconfig /all ou ip a (Linux)

Étape 2 : Arrêtez ou mettez en pause votre pfsense.

Ensuite un ipconfig /release sur votre VM et un ipconfig /renew ou dhclient -r (Linux)

Étape 3 : Activer Windows Serveur DHCP

Gestionnaire de serveur DHCP -> Clique droite sur votre étendue -> Activer

Étape 4 : Refaire un ipconfig /release sur votre VM et un ipconfig /renew pour assurer la distribution DHCP

Ces tests ont été réalisés afin de vérifier l'intégrité de l'infrastructure et de s'assurer que les services ont été correctement intégrés.

Les clients peuvent communiquer localement, rejoindre le domaine, résoudre les DNS, accéder aux serveurs, mais pas à Internet, car le routage a disparu.


Par mesure de précaution, désactivez le serveur DHCP Windows, car le fait d'avoir à la fois Pfsense et Windows DHCP actifs créerait des conflits d'adresses IP et une attribution aléatoire des passerelles/DNS. 

Dans le cas ou le DNS est corrompu et ping est impossible : 

Après l'installation et la configuration du DNS dans Windows Server, le ping et Internet ont été perturbés...La résolution DNS est impossible, le serveur DNS 192.168.1.20 ne peut pas résoudre 8.8.8.8 ni 1.1.1.1.

Les VMS user1 et user2 peuvent envoyer une requête ping à 192.168.1.1 et 192.168.1.20, mais ne peuvent pas résoudre 8.8.8.8 ni 1.1.1.1.

Solution : Redémarrez l'adaptateur réseau : netsh int ip reset         netsh winsock reset           ipconfig /flushdns

Réappliquez ensuite la configuration réseau.

Testez le ping vers 8.8.8.8 et 1.1.1.1, test réussi. 


Le but de ce projet est de mettre en place une infrastructure fonctionnelle avec plusieurs VMs pour la gestion de réseaux, la supervision et fonctionnement des VMs et systèmes avec Zabbix. Un Active Directory qui joue  le role d'un serveur DHCP secondaire et un DNS interne pour la gestion des clients internes. 

English version of the project is available here -> https://asileviherbert-com.cms.webnode.page/projet-1-anglais/


© Copyright 2025 
Designed by Herbert ASILEVI
 
Tous droits réservés
Powered by Webnode
Create your website for free! This website was made with Webnode. Create your own for free today! Get started