Guide complet sur Proxmox VE
Guide complet sur Proxmox VE
Proxmox Virtual Environment (PVE) est une distribution Linux basée sur Debian doté d’un
environnement de gestion de VM libre et Open Source (licence AGPLv3) Proxmox utilise KVM/QEMU
ainsi que les containers Linux LXC.
Proxmox n'utilise pas `libvirt` pour gérer les machines virtuelles et dispose d’API REST qui inclut une
interface web intuitive et des outils de gestion des ressources virtuelles : CPU, Stockage, réseaux...
KVM est une technologie de virtualisation native dans le noyau Linux, qui transforme le noyau Linux
en un hyperviseur de type 1.
KVM permet à Proxmox d'exécuter des machines virtuelles en utilisant les fonctionnalités de
virtualisation matérielle (comme Intel VT-x ou AMD-V) disponibles sur les processeurs modernes.
Proxmox interagit directement avec KVM via des commandes et des interfaces spécifiques, sans
nécessiter de couche intermédiaire comme `libvirt`.
QEMU est utilisé en conjonction avec KVM pour fournir l'émulation matérielle nécessaire à
l'exécution des machines virtuelles. QEMU peut émuler un large éventail de matériels, ce qui permet
de virtualiser pratiquement n'importe quel système d'exploitation.
Dans Proxmox, QEMU gère les aspects non-virtualisés des VM, tels que l'émulation des
périphériques, tandis que KVM gère l'exécution des instructions CPU en mode natif.
Proxmox offre une interface web et des outils en ligne de commande pour gérer les clusters, les
nœuds, et les ressources virtuelles. Ce stack inclut la gestion du stockage, du réseau, des snapshots,
et des sauvegardes, ainsi que l'orchestration des VMs et des conteneurs.
Proxmox VE (Virtual Environment) propose une API RESTful qui permet d'automatiser et de gérer
presque toutes les fonctionnalités disponibles via l'interface web. Cette API est très complète et
permet d'interagir avec les différentes fonctionnalités de Proxmox, y compris la gestion des machines
virtuelles, des conteneurs, des réseaux, du stockage, et plus encore.
Création de Conteneurs : Permet de créer de nouveaux conteneurs Linux (LXC) avec des
configurations spécifiques.
Gestion des Snapshots : Prendre des snapshots des conteneurs et les gérer.
Contrôle des Conteneurs : Démarrer, arrêter, redémarrer, suspendre, ou cloner des
conteneurs.
Gestion des ressources : Modifier les limites de ressources (CPU, RAM, stockage) des
conteneurs.
Ajout de Nœuds : Permet d'ajouter ou de retirer des nœuds dans le cluster Proxmox.
Gestion du Cluster : Surveillance de l'état du cluster, y compris la santé des nœuds, des
VMs, et des conteneurs.
Gestion des Groupes de Haute Disponibilité (HA) : Créer et gérer des groupes HA pour
assurer la disponibilité des services critiques.
Configuration des Interfaces Réseau : Gérer les interfaces réseau des nœuds, des VMs et
des conteneurs.
Gestion des VLANs et Bridges : Créer et configurer des réseaux VLAN et des bridges pour
segmenter le trafic réseau.
Gestion des Firewalls : Configurer des règles de firewall pour protéger les ressources au
sein du cluster.
Ajout de Stockage : Ajouter et configurer des pools de stockage pour les VMs et les
conteneurs.
Gestion des Volumes : Créer, attacher, détacher, et supprimer des volumes de stockage.
Snapshots et Backups : Gérer les snapshots de stockage et configurer des sauvegardes
régulières.
1.4.6API de Gestion des Utilisateurs et des Permissions
1.4.8L'API Proxmox VE
Authentification : L'API Proxmox nécessite une authentification basée sur un ticket d'authentification
ou un token API. Les utilisateurs doivent s'authentifier en premier pour recevoir un ticket ou utiliser
un token pour les appels API.
Formats de réponse : L'API retourne généralement les réponses en format JSON, ce qui facilite
l'intégration avec d'autres outils et langages de programmation.
Ce type de commande permet d'obtenir un ticket d'authentification pour effectuer des appels API
supplémentaires.
1.4.9Documentation de l'API
Proxmox offre une documentation complète et interactive de son API accessible via l'interface web.
Proxmox prend en charge LXC (Linux Containers) pour exécuter des conteneurs légers. LXC offre une
virtualisation au niveau du système d'exploitation, permettant l'exécution de plusieurs systèmes
Linux isolés sur un même hôte.
Les conteneurs LXC sont gérés via la même interface web que les VMs, offrant une gestion unifiée
des ressources.
Cela introduit un mélange des genres qui peut prêter à confusion. (-1)
Proxmox supporte plusieurs types de stockage pour les VMs et les conteneurs, y compris les
systèmes de fichiers locaux, les volumes LVM, ZFS, NFS, et les systèmes de stockage distribués
comme Ceph.
Proxmox permet la configuration de réseaux complexes pour les VMs et les conteneurs, incluant le
support pour les VLANs, les ponts réseaux, et les configurations réseau avancées comme SDN
(Software-Defined Networking).
Il existe une version gratuite de Proxmox Backup Server. Proxmox offre son logiciel sous une licence
open-source, ce qui signifie que vous pouvez télécharger, installer et utiliser Proxmox Backup Server
gratuitement.
Open Source : Proxmox Backup Server est distribué sous la licence GNU Affero General
Public License, version 3 (AGPLv3). Cela signifie que vous avez accès au code source
complet du logiciel.
Fonctionnalités Complètes : La version gratuite de Proxmox Backup Server offre toutes
les fonctionnalités de base et avancées du logiciel, sans aucune limitation fonctionnelle.
Vous pouvez l'utiliser pour effectuer des sauvegardes, des restaurations, et des
vérifications d'intégrité de vos données.
Mises à jour : Vous pouvez recevoir les mises à jour gratuites du logiciel via les dépôts
publics. Cependant, les mises à jour sont généralement publiées avec un léger décalage
par rapport aux dépôts d'entreprise (ceux accessibles avec un abonnement).
1.7.2Abonnement Proxmox :
Bien que la version gratuite soit pleinement fonctionnelle, Proxmox propose également des
abonnements payants qui offrent des avantages supplémentaires :
L'API Proxmox VE et `libvirt` servent des objectifs similaires mais sont conçues pour des contextes
d'utilisation différents.
L'API Proxmox est spécifiquement adaptée à l'écosystème Proxmox et est idéale pour la gestion
d'environnements Proxmox complets, avec une forte intégration des fonctionnalités spécifiques à
Proxmox, telles que la haute disponibilité, les conteneurs, et le stockage.
D'un autre côté, `libvirt` offre une flexibilité multi-hyperviseur et est largement utilisé dans des
environnements où l'on souhaite gérer plusieurs types de technologies de virtualisation à partir
d'une interface uniforme.
1.8.1Objectif et Portée
API Proxmox VE
Objectif : Fournir une solution complète de gestion de l'infrastructure virtuelle, incluant la gestion
des machines virtuelles, des conteneurs, des réseaux, du stockage, et des clusters. Elle est conçue
pour gérer un environnement de virtualisation entier, avec des fonctionnalités spécifiques à
Proxmox.
Portée : Orientée vers les administrateurs systèmes et les opérateurs de centres de données qui
gèrent des infrastructures complexes basées sur Proxmox VE. L'API Proxmox couvre un large éventail
de fonctions, y compris la gestion des utilisateurs, les permissions, les backups, et la haute
disponibilité (HA).
libvirt
Objectif : Fournir une interface uniforme pour gérer les hyperviseurs et les technologies de
virtualisation. `libvirt` est une API générique et un ensemble d'outils pour interagir avec divers
hyperviseurs, comme KVM, QEMU, Xen, et d'autres.
Portée : Conçue pour être utilisée comme une bibliothèque par d'autres applications (comme Virt-
Manager) pour gérer des machines virtuelles. `libvirt` offre une abstraction du matériel virtuel et des
hyperviseurs, facilitant la gestion des VM sans se soucier des spécificités de chaque hyperviseur.
1.8.2Fonctionnalités
API Proxmox VE
Gestion des Clusters : Proxmox permet la gestion centralisée de clusters complets, y compris
l'ajout/suppression de nœuds, la gestion des ressources partagées, et l'orchestration des VMs et des
conteneurs.
Multi-hyperviseur : Bien que Proxmox se concentre principalement sur KVM pour les machines
virtuelles et LXC pour les conteneurs, l'API est spécifiquement conçue pour ces environnements.
Haute Disponibilité (HA) : Proxmox offre des fonctionnalités HA pour assurer la résilience des services
critiques. L'API permet de configurer et de gérer ces groupes HA.
Intégration de Stockage : L'API gère le stockage avec des fonctionnalités telles que ZFS, Ceph, NFS, et
LVM, offrant un large éventail d'options pour la configuration et la gestion du stockage.
Gestion des Conteneurs : En plus des VMs, Proxmox gère aussi les conteneurs LXC, offrant une
flexibilité supplémentaire pour des workloads légers.
libvirt
Gestion Hyperviseur-agnostique : `libvirt` peut gérer une variété d'hyperviseurs, tels que
KVM/QEMU, Xen, VMware, etc. Cela permet aux utilisateurs de gérer différents types de VMs à partir
d'une API unique.
Contrôle Granulaire des VMs : `libvirt` offre un contrôle détaillé sur les VMs, y compris la
configuration des CPU, de la mémoire, des disques, des réseaux virtuels, et des périphériques.
Support des Réseaux Virtuels : `libvirt` permet de créer et de gérer des réseaux virtuels, des ponts, et
des VLANs, avec une gestion fine du réseau.
Snapshots et Sauvegardes : `libvirt` permet de créer et de gérer des snapshots des VMs, ainsi que
d'automatiser les processus de sauvegarde.
Gestion des Périphériques et des Ressources : `libvirt` permet de gérer les périphériques virtuels et
de configurer des politiques de ressources comme l'affinité CPU et les priorités I/O.
1.8.3Architecture et Intégration
API Proxmox VE :
Architecture : L'API Proxmox est conçue pour fonctionner au sein de l'écosystème Proxmox VE. Elle
est principalement utilisée pour l'administration de clusters, de VMs, et de conteneurs, tout en
intégrant des fonctionnalités spécifiques à Proxmox.
Interface Web et CLI : Proxmox fournit une interface web complète et une API REST qui expose
toutes les fonctionnalités disponibles, ainsi qu'un ensemble d'outils en ligne de commande (CLI).
Automatisation et Intégration : L'API est conçue pour s'intégrer facilement avec des systèmes
d'automatisation comme Ansible, Terraform, et d'autres outils DevOps, permettant une gestion
automatisée de l'infrastructure.
libvirt :
Architecture : `libvirt` est une couche d'abstraction qui s'intercale entre les hyperviseurs et les
applications qui les gèrent. Elle fournit une API unique pour interagir avec différents hyperviseurs.
Outils et Interfaces : `libvirt` est souvent utilisé avec des outils comme Virt-Manager, virsh (ligne de
commande), et d'autres interfaces graphiques. Il peut être intégré dans des systèmes d'orchestration
ou d'automatisation pour gérer des VMs.
Portabilité : `libvirt` est conçu pour être portable et s'exécuter sur divers systèmes d'exploitation,
offrant une flexibilité pour les déploiements multi-hyperviseurs.
Environnements Proxmox Unifiés : Utilisée principalement dans des environnements où Proxmox est
le gestionnaire principal d'infrastructure. Parfait pour les clusters de virtualisation unifiés où la
gestion centralisée des ressources est cruciale.
libvirt
Outils de Gestion Personnalisés : Utilisé par les développeurs d'outils de gestion de virtualisation qui
nécessitent une interface standardisée pour interagir avec différents hyperviseurs.
Corosync Cluster Engine est le composant central utilisé par Proxmox VE pour gérer la
communication et la coordination au sein d'un cluster.
1.9.1Gestion du Quorum :
Quorum est un concept fondamental dans les systèmes distribués où les décisions sont prises par un
consensus de la majorité des nœuds actifs. Corosync gère le quorum en assurant que seules les
décisions prises par une majorité de nœuds sont appliquées. Cela évite les incohérences qui
pourraient survenir si des sous-ensembles de nœuds prenaient des décisions de manière
indépendante.
Corosync assure une communication fiable entre les nœuds du cluster. Il utilise un protocole de
diffusion pour s'assurer que tous les nœuds reçoivent les messages essentiels, comme les
changements d'état des ressources ou les notifications de défaillance de nœuds.
La communication est rapide et se fait généralement via une connexion réseau dédiée ou partagée
(multicast ou unicast).
Corosync surveille en permanence l'état des nœuds au sein du cluster. Si un nœud ne répond plus ou
est détecté comme étant hors ligne, Corosync notifie les autres nœuds, ce qui permet à des
mécanismes de tolérance de panne, comme la haute disponibilité (HA), de prendre le relais et de
redémarrer les ressources critiques sur un autre nœud fonctionnel.
Les informations de configuration et l'état des ressources sont synchronisés entre les nœuds grâce à
Corosync. Cela garantit que chaque nœud a une vue cohérente de l'ensemble du cluster et de ses
ressources.
1.9.5Proxmox VE et Corosync
Dans l'écosystème Proxmox VE, Corosync est intégré en tant que service fondamental pour assurer la
stabilité et la fiabilité du cluster. Il fonctionne conjointement avec d'autres composants tels que
QDevice pour améliorer le quorum dans des clusters avec un nombre pair de nœuds, et Pacemaker
pour gérer la haute disponibilité des services.
QDevice : Un service supplémentaire qui aide à maintenir le quorum dans les petits clusters en
ajoutant un vote virtuel, souvent via un tiers (un QDevice), pour éviter le blocage du cluster en cas de
défaillance d'un nœud.
Pacemaker : En complément de Corosync, Pacemaker est utilisé pour gérer les ressources de haute
disponibilité. Corosync assure la communication et Pacemaker décide où et comment démarrer les
services ou les VMs en cas de défaillance.
1.9.6La communauté Corosync
Corosync est maintenu et développé au sein du projet ClusterLabs, où il joue un rôle clé dans la
gestion des communications et de la synchronisation dans les environnements de haute disponibilité.
Le projet continue de recevoir des mises à jour et des contributions, ce qui montre que la
communauté est bien vivante.
Sur GitHub, le dépôt de Corosync montre une activité continue avec des contributions régulières, des
résolutions de problèmes (issues), et des demandes de tirage (pull requests) actives. Cela indique que
les développeurs et les utilisateurs continuent d'améliorer et de soutenir Corosync 【 38†source 】
【40†source】.
Corosync est toujours largement utilisé dans divers projets de haute disponibilité, tels que
Pacemaker, ce qui témoigne de sa pertinence continue dans l'écosystème de clustering[39†sources].
o Ce sont les serveurs physiques sur lesquels est installé Proxmox VE. Chaque nœud
peut héberger plusieurs VMs et conteneurs.
o Un cluster Proxmox peut être composé de plusieurs nœuds, ce qui permet la gestion
centralisée, la haute disponibilité, et la migration de VMs entre nœuds.
o Un ensemble de nœuds reliés entre eux pour former un cluster. Cela permet la
gestion centralisée des ressources et des machines virtuelles.
o Le clustering permet également des fonctionnalités avancées comme la haute
disponibilité (HA), où les VMs sont redémarrées automatiquement sur un autre
nœud en cas de panne d'un nœud.
o Le stockage peut être partagé entre les nœuds via des solutions telles que NFS, Ceph,
iSCSI ou ZFS. Cela permet aux VMs d'accéder aux données de manière transparente
même si elles sont déplacées entre les nœuds.
o Les volumes de stockage peuvent être dédiés à des VMs spécifiques ou partagés
entre plusieurs.
o Un réseau dédié utilisé pour la gestion des nœuds Proxmox et des VMs.
o Ce réseau est généralement séparé du réseau de production pour des raisons de
sécurité.
1.10.5 Réseau de Production (Production Network) :
o Le réseau utilisé par les VMs pour communiquer avec l'extérieur. Il peut être
configuré avec des VLANs pour isoler les différentes couches de service.
o Hébergés sur les différents nœuds du cluster, avec la possibilité de migrer d'un nœud
à l'autre sans interruption de service (live migration).
o Les VMs sont connectées au réseau de production et, si nécessaire, au réseau de
stockage.
2 Mise en œuvre
2.1 Update sans souscription
L'erreur indique que le système tente de récupérer des mises à jour ou des paquets depuis le dépôt
d'entreprise de Proxmox, mais ne parvient pas à s'authentifier. Cela se produit généralement lorsque
la version gratuite de Proxmox VE est utilisé sans souscription à une licence d'entreprise, mais que les
dépôts d'entreprise sont toujours configurés dans votre liste de sources.
nano /etc/apt/[Link].d/[Link]
Ajouter le dépôt communautaire Proxmox (si ce n'est pas déjà fait) dans le fichier :
`/etc/apt/[Link]` :
2.2 Réseaux
2.2.1Topologie du Réseau
Réseau de gestion : Utilisé pour l'administration des nœuds Proxmox.
Réseau de production : Utilisé pour le trafic des machines virtuelles et des conteneurs.
Réseau de stockage : un réseau dédié pour le stockage est recommandé pour le stockage partagé
(NAS, Ceph),
auto lo
iface lo inet loopback
iface enp1s0 inet manual
auto vmbr0
iface vmbr0 inet static
address [Link]/24
gateway [Link]
bridge-ports enp1s0
bridge-stp off
bridge-fd 0
iface enp2s0 inet manual
source /etc/network/interfaces.d/*
```bash
auto lo
iface lo inet loopback
# Interface réseau principale
auto enp3s0
iface enp3s0 inet static
address [Link]
netmask [Link]
gateway [Link]
# Bridge pour les VMs
auto vmbr0
iface vmbr0 inet static
address [Link]
netmask [Link]
bridge_ports enp3s0
bridge_stp off
bridge_fd 0
```
`vmbr0` : Bridge réseau utilisé pour les VMs. Le bridge relie les VMs à l'interface physique `enp3s0`,
leur permettant d'accéder au réseau externe.
auto lo
iface lo inet loopback
# Interface réseau principale pour la gestion
auto enp3s0
iface enp3s0 inet static
address [Link]
netmask [Link]
gateway [Link]
# Bridge pour les VMs sur VLAN 10 (Réseau de production)
auto vmbr0
iface vmbr0 inet static
address [Link]
netmask [Link]
bridge_ports enp4s0.10
bridge_stp off
bridge_fd 0
# Bridge pour les VMs sur VLAN 20 (Réseau de stockage)
auto vmbr1
iface vmbr1 inet static
address [Link]
netmask [Link]
bridge_ports enp4s0.20
bridge_stp off
bridge_fd 0
```
Configurez les paramètres IP si nécessaire (ou laissez-le vide si vous utilisez des VLANs ou une
configuration DHCP).
Si vous avez des VLANs, sélectionnez l'interface réseau correspondante, puis configurez les VLANs
dans la section appropriée.
Vous pouvez également ajouter des interfaces VLAN manuellement via l'interface Web.
5. Tester la Configuration
Une fois la configuration terminée, il est essentiel de tester pour s'assurer que tout fonctionne
comme prévu :
Vérifiez que les VMs peuvent accéder au réseau externe et aux autres VMs si nécessaire.
Assurez-vous que la gestion du cluster fonctionne via l'interface réseau dédiée à cet effet.
Si vous avez un cluster Proxmox, configurez le réseau pour supporter la haute disponibilité et la
réplication entre nœuds, en s'assurant que tous les nœuds peuvent accéder au réseau de stockage
partagé avec une latence minimale.
Inconvénients : Pas de haute disponibilité (HA), difficile à mettre à l'échelle, nécessite des solutions
de sauvegarde séparées.
Avantages : Flexibilité dans la gestion des volumes, prise en charge des snapshots et de la
redimension des volumes.
Avantages : Intégrité des données, gestion avancée des volumes, snapshots efficaces, peut être
utilisé pour des configurations HA avec réplication.
Avantages : Partage de stockage simple, facile à mettre à l'échelle, peut être utilisé pour des
configurations HA.
2.3.55. Ceph :
Description : Système de stockage distribué hautement évolutif, intégré à Proxmox pour les
configurations HA. Offre des fonctionnalités de stockage d'objets, de blocs et de fichiers.
2.3.66. iSCSI :
Description : Utilise le protocole iSCSI pour accéder aux dispositifs de stockage en réseau. Peut être
configuré pour utiliser LVM sur iSCSI.
Avantages : Faible latence, haute performance, améliore la réactivité des applications et des VMs.
Inconvénients : Plus cher par Go, capacités généralement inférieures aux HDD.
Inconvénients : Coût plus élevé, nécessite une infrastructure compatible NVMe (slots PCIe).
Avantages : Plus fiable que les HDD standard, bon compromis entre capacité et performance.
Inconvénients : Plus cher que les HDD SATA standard, mais moins rapide que les SSD.
2. Utilisation de ZFS avec des SSD : Si vous utilisez ZFS, il est recommandé d'utiliser des SSD pour les
journaux ZIL (ZFS Intent Log) et les caches L2ARC pour améliorer les performances.
3. Redondance : Pour les configurations critiques, utilisez des configurations RAID matérielles ou ZFS
RAID pour assurer la redondance des données et éviter les points de défaillance uniques.
4. Réseau dédié pour le stockage partagé : Lorsque vous utilisez NFS, iSCSI, ou Ceph, configurez un
réseau dédié pour le trafic de stockage afin de minimiser la congestion réseau et d'améliorer la
performance.
5. Surveillance et Gestion des Ressources : Utilisez les outils de surveillance intégrés de Proxmox pour
surveiller l'utilisation du stockage, la performance et les alertes de santé pour anticiper les
problèmes.
Priorisez l'utilisation de SSD pour les VMs et les conteneurs qui nécessitent des
performances élevées.
Utilisez ZFS si vous avez besoin de snapshots fréquents, de compression, et d'intégrité des
données, mais assurez-vous de disposer d'une quantité suffisante de RAM.
Configurez un réseau dédié au stockage pour éviter toute congestion et maximiser la
performance dans les environnements partagés.
Pour la haute disponibilité, Ceph est une solution robuste mais nécessite une infrastructure
dédiée.
La configuration de la bande passante pour différents types de réseaux dans une infrastructure
Proxmox est cruciale pour assurer une performance optimale et une gestion efficace des ressources.
Voici une analyse des besoins en bande passante pour les différents réseaux couramment utilisés
dans une infrastructure Proxmox :
3 Networking
3.1 Réseau d'administration
Description : Ce réseau est utilisé pour la gestion et le contrôle des nœuds Proxmox, incluant l'accès à
l'interface web, SSH, et autres services d'administration.
Recommandation de bande passante : 1 Gbps est généralement suffisant pour les tâches
d'administration, car ces tâches ne génèrent pas beaucoup de trafic réseau. Cependant, pour des
environnements très grands ou critiques, il peut être utile d'avoir une redondance.
Latence et disponibilité : Priorité sur une faible latence et une haute disponibilité. Envisagez un
réseau dédié ou une interface VLAN séparée pour l'administration afin de sécuriser l'accès.
Recommandation de bande passante : 10 Gbps est recommandé, surtout si vous utilisez des solutions
de stockage haute performance comme Ceph ou iSCSI. Dans les grandes infrastructures, vous
pourriez envisager 25 Gbps ou plus, en fonction de la charge de travail.
Latence et disponibilité : Critique pour les performances. Utilisez des interfaces réseau dédiées avec
des cartes réseau de haute qualité, et envisagez des réseaux avec latence minimale (liaisons directes,
etc.). Pour Ceph ou d'autres systèmes de stockage distribués, une faible latence et une haute
disponibilité sont essentielles.
Latence et disponibilité : Faible latence et haute disponibilité recommandées pour assurer des
migrations rapides et sans problème. Considérez des interfaces réseau dédiées ou des VLANs pour
VMotion afin d'isoler ce trafic des autres.
3.4 4. Réseau de backup
Description : Utilisé pour les transferts de données de sauvegarde des VMs et des conteneurs vers un
serveur de sauvegarde ou un stockage dédié.
Latence et disponibilité : La latence n'est pas aussi critique ici que pour les réseaux de stockage ou de
migration, mais une haute disponibilité est toujours recommandée pour éviter les interruptions de
sauvegarde. Envisagez de programmer les sauvegardes pendant les périodes de faible utilisation pour
minimiser l'impact.
Latence et disponibilité : Latence très faible et haute disponibilité sont critiques. Utilisez des switches
et des routeurs de qualité professionnelle avec des configurations de redondance.
Latence et disponibilité : Latence faible et tolérance aux pannes sont importantes. Un réseau dédié
ou des VLANs isolés peuvent aider à minimiser l'impact sur les autres services.
2. Qualité de Service (QoS) : Configurer QoS sur les switches et routeurs pour prioriser le trafic
critique, comme la gestion et la VMotion, par rapport à d'autres types de trafic.
3. VLANs : L'utilisation de VLANs pour séparer les types de trafic peut améliorer la sécurité et la
gestion du réseau.
4. Switches de haute qualité : Utilisez des switches compatibles avec des débits élevés (10 Gbps et
plus) et supportant des fonctionnalités avancées comme le VLAN tagging, le LACP (Link Aggregation
Control Protocol), et QoS.
Ces concepts permettent de segmenter les réseaux, de gérer le trafic de manière optimale, et
d'appliquer des règles de sécurité adaptées à chaque type de service ou de département, ce qui est
crucial pour une infrastructure réseau robuste et évolutive.
4.1 1. Zones
Définition : Dans une infrastructure réseau, une zone est une subdivision logique ou physique du
réseau, souvent utilisée pour segmenter et sécuriser les ressources. Les zones permettent d'isoler
différents types de trafic ou de systèmes afin de mieux contrôler l'accès et d'appliquer des règles de
sécurité spécifiques.
Zone DMZ (Demilitarized Zone) : Une zone dédiée où les serveurs accessibles depuis l'extérieur sont
placés, par exemple, des serveurs web ou des serveurs de messagerie. Ces serveurs sont isolés du
réseau interne pour limiter les risques d'intrusion.
Zone de gestion : Une zone réservée aux tâches d'administration, accessible uniquement aux
administrateurs et aux systèmes de gestion. Elle héberge les interfaces de gestion des nœuds
Proxmox et des services critiques.
Zone de production : La zone où les machines virtuelles et les conteneurs qui hébergent les
applications métier sont déployés. Cette zone peut être subdivisée en fonction des applications ou
des départements.
Zone de stockage : Dédiée aux systèmes de stockage. Dans un contexte Proxmox, il pourrait s'agir de
réseaux pour l'accès aux systèmes de stockage comme Ceph ou des NAS.
Définition : Un VNet, ou réseau virtuel, est une abstraction logique du réseau physique qui permet de
créer des segments de réseau isolés pour des environnements virtuels. Les VNets permettent de
regrouper des machines virtuelles et des conteneurs de manière à contrôler le trafic entre eux et
avec l'extérieur.
Création de VNets pour chaque zone : Par exemple, un VNet pour la zone de production, un autre
pour la zone de gestion, et un pour la DMZ. Cela permet de contrôler et d'isoler le trafic entre les
différentes zones.
Isolation des services : Des VNets peuvent être utilisés pour isoler les services critiques, tels que les
bases de données, des services frontaux moins sécurisés.
Support des VLANs : Proxmox permet l'utilisation de VLANs pour segmenter le réseau. Les VNets
peuvent être mappés à des VLANs spécifiques pour faciliter la gestion du trafic et appliquer des
règles de sécurité adaptées.
Réseau de stockage : Un VNet spécifique peut être configuré pour le trafic de stockage, garantissant
que les VMs et les conteneurs accèdent aux ressources de stockage sur un réseau isolé, optimisant
ainsi la performance et la sécurité.
Définition : Un sous-réseau est une subdivision d'un réseau IP en plusieurs segments plus petits, ou
sous-réseaux. Les sous-réseaux sont utilisés pour organiser et segmenter le réseau, améliorer la
sécurité et l'efficacité de la gestion du réseau.
Segmentation des VNets : Chaque VNet peut contenir un ou plusieurs sous-réseaux, permettant une
gestion fine du trafic. Par exemple, un VNet de production pourrait contenir des sous-réseaux
distincts pour les applications, les bases de données, et le trafic interne des applications.
Gestion des adresses IP : Les sous-réseaux facilitent la gestion des adresses IP, aidant à éviter les
conflits et à garantir que chaque segment de réseau dispose de suffisamment d'adresses IP
disponibles.
Application des politiques de sécurité : En configurant des sous-réseaux, il est possible d'appliquer
des politiques de sécurité différentes selon les besoins. Par exemple, des règles de pare-feu
spécifiques peuvent être appliquées pour restreindre le trafic entre sous-réseaux.
Isolation des environnements de test et de développement : Des sous-réseaux peuvent être utilisés
pour isoler les environnements de test et de développement du réseau de production, évitant ainsi
que les tests ou les modifications n'affectent les services en direct.
Zone de Gestion : Contient les interfaces de gestion de Proxmox. Accessible uniquement par les
administrateurs via un VNet dédié.
Zone de Production : Contient les applications en direct. Différents sous-réseaux peuvent être créés
pour séparer les applications par type (web, base de données, application).
Zone de DMZ : Accessible depuis l'extérieur pour les services publics comme les serveurs web. Isolée
de la zone de production pour des raisons de sécurité.
Zone de Stockage : Utilisée pour accéder au stockage Ceph ou NAS. Isolée pour éviter que le trafic de
stockage ne perturbe le trafic de production.
Chaque zone peut être associée à un ou plusieurs VNets pour isoler le trafic et appliquer des règles
de sécurité spécifiques.
Des sous-réseaux au sein de chaque VNet peuvent être utilisés pour segmenter davantage le trafic,
par exemple, un sous-réseau pour chaque département ou service spécifique.
3. Règles de Sécurité et de Pare-feu :
Des règles de pare-feu spécifiques peuvent être appliquées entre les sous-réseaux et les VNets pour
contrôler le flux de trafic et restreindre l'accès en fonction des besoins de sécurité.
- Redondance : Envisagez une redondance pour garantir une disponibilité continue en cas de
défaillance.
2. LAN de stockage
- Description : Utilisé pour accéder aux systèmes de stockage partagés, comme les SAN, NAS, ou les
solutions de stockage distribuées (par exemple, Ceph).
- Recommandation de bande passante : 10 Gbps est recommandé pour des performances optimales,
surtout si vous utilisez des solutions de stockage haute performance ou en cas d'accès concurrentiel
élevé. Pour des environnements très exigeants, envisagez 25 Gbps ou plus.
- Redondance et Qualité de Service : Utiliser des chemins redondants et des VLANs spécifiques pour
le trafic de stockage afin d'assurer la disponibilité et la qualité du service.
- Recommandation de bande passante : 10 Gbps est recommandé pour des migrations rapides et
efficaces, particulièrement dans des environnements avec de nombreuses VMs ou des migrations
fréquentes. 1 Gbps pourrait suffire pour des environnements plus petits.
- Sécurité : Utiliser un réseau isolé ou des VLANs pour le trafic VMotion pour éviter tout risque
d'interception.
- Recommandation de bande passante : 10 Gbps est recommandé, surtout pour des sauvegardes
fréquentes et volumineuses. 1 Gbps peut suffire pour des environnements où les sauvegardes sont
moins fréquentes ou incrémentales.
- Considération : Planifier les opérations de sauvegarde en dehors des heures de pointe pour
minimiser l'impact sur les autres opérations réseau.
- Recommandation de bande passante : 10 Gbps ou plus, selon le type et le volume de trafic généré
par les applications. Pour des applications critiques ou à haute performance, envisagez des liens
multiples avec équilibrage de charge.
- Redondance et QoS : Utilisez des mécanismes d'équilibrage de charge et de qualité de service pour
garantir la disponibilité et la performance.
- Recommandation de bande passante : 1 Gbps par segment est généralement suffisant. Si le nombre
d'utilisateurs est très élevé, des liens de 10 Gbps peuvent être envisagés pour éviter la congestion.
- Gestion : Prioriser le trafic critique (par exemple, VoIP) sur le trafic bureautique classique pour
assurer la qualité de service.
- Recommandation de bande passante : 10 Gbps est une base solide pour les interconnexions entre
bâtiments, assurant un flux de données rapide et des applications performantes. En fonction des
besoins, des débits de 40 Gbps ou 100 Gbps peuvent être nécessaires.
- Redondance : Toujours prévoir des chemins redondants pour les interconnexions critiques afin
d'assurer la continuité des services en cas de panne d'un lien.
- Redondance et Sécurité : Redondance obligatoire, souvent via des liaisons fibre dédiées. Sécuriser
ces liens avec des VPNs ou d'autres mesures de sécurité.
- Description : Réseau utilisé pour la communication de heartbeat entre les nœuds d'un cluster pour
vérifier la disponibilité des nœuds et coordonner les actions de failover.
Conclusion
Le dimensionnement de la bande passante des différents réseaux doit être fait en tenant compte des
besoins spécifiques de chaque segment, de la taille de l'organisation, et des exigences de
performance et de sécurité. Une planification adéquate et une surveillance continue des
performances réseau sont essentielles pour assurer la disponibilité et l'efficacité des services dans
une infrastructure d'entreprise.
6 Segmentation physique
Dans une infrastructure réseau d'entreprise, séparer physiquement certains réseaux peut être
essentiel pour des raisons de sécurité, de performance, de fiabilité, et de gestion.
La séparation physique des réseaux dans une infrastructure d'entreprise est cruciale pour protéger
les systèmes critiques, assurer des performances optimales, et sécuriser les données sensibles. En
identifiant les réseaux qui nécessitent une isolation stricte, les organisations peuvent réduire leur
surface d'attaque, éviter les interruptions de service dues à la congestion, et garantir une
architecture réseau fiable et sécurisée.
Protection contre les attaques internes : En cas de compromission du réseau utilisateur, l'isolement
physique du réseau d'administration protège les systèmes critiques.
Comment le séparer : Utilisez des interfaces réseau dédiées ou des VLANs spécifiques uniquement
accessibles via des chemins sécurisés, tels que des VPNs ou des segments dédiés du réseau.
- Sécurité des données : Isoler le réseau de stockage empêche les utilisateurs finaux et les
applications non autorisées d'accéder directement aux données sensibles.
- Fiabilité : En cas de défaillance ou de congestion sur le réseau principal, les opérations de stockage
critiques ne doivent pas être interrompues.
- Comment le séparer : Utilisez des infrastructures de stockage dédiées, telles que des switchs SAN,
des interfaces fibre optique, ou des connexions iSCSI dédiées.
- Performance : Les opérations de VMotion peuvent consommer une bande passante significative,
affectant la performance des autres services si elles ne sont pas sur un réseau séparé.
- Comment le séparer : Déployer des interfaces réseau dédiées pour VMotion, ou utiliser des VLANs
isolés pour le trafic VMotion avec des politiques de QoS pour garantir la bande passante.
- Performance : Les opérations de sauvegarde peuvent générer des volumes importants de trafic
réseau, en particulier lors des sauvegardes complètes. Ce trafic peut saturer les réseaux partagés,
affectant les performances des applications en production.
- Sécurité : La séparation physique permet de sécuriser les données de sauvegarde et de les protéger
contre les accès non autorisés, les attaques par ransomware, ou d'autres menaces.
- Comment le séparer : Utilisez des chemins réseau dédiés pour les sauvegardes, des switches
spécifiques ou des VLANs réservés aux opérations de sauvegarde.
- Sécurité : La DMZ héberge des systèmes accessibles depuis l'extérieur (serveurs web, serveurs de
messagerie). Isoler la DMZ protège le réseau interne des attaques potentielles ciblant ces systèmes
exposés.
- Prévention des mouvements latéraux : Si un système dans la DMZ est compromis, la séparation
physique limite la capacité d'un attaquant à se déplacer latéralement vers des systèmes internes.
- Comment le séparer : Utiliser des interfaces réseau dédiées et des pare-feu pour segmenter la DMZ
du réseau interne. Des segments DMZ distincts peuvent être utilisés pour différents types de
services.
- Fiabilité : Le réseau de heartbeat est crucial pour la détection de défaillance des nœuds de cluster.
Une congestion sur le réseau principal pourrait provoquer des faux positifs de défaillance et des
basculements inutiles.
- Sécurité : La communication de heartbeat doit être protégée contre les manipulations, car des
interruptions pourraient entraîner des interruptions de service non nécessaires.
- Comment le séparer : Utiliser des liens réseau dédiés entre les nœuds de cluster, souvent des
liaisons directes pour éviter les points de défaillance intermédiaires.
- Sécurité : Séparer physiquement les liens de communication entre centres de calculs protège les
données sensibles en transit et empêche les attaques de type "Man-in-the-middle".
- Comment le séparer : Utiliser des fibres optiques dédiées ou des circuits MPLS, souvent avec des
tunnels chiffrés pour assurer la sécurité.
Pour protéger efficacement une infrastructure réseau, il est crucial de comprendre les types
d'attaques les plus courantes ciblant les VLANs et comment elles peuvent être utilisées pour
compromettre la sécurité. Certaines de ces attaques peuvent nécessiter une séparation physique de
certains segments réseau pour une protection optimale.
La séparation physique de certains segments réseau est une mesure de sécurité efficace pour
protéger contre les attaques liées aux VLANs. Les segments réseau qui bénéficieraient le plus de la
séparation physique incluent :
- Réseaux d'administration : Pour protéger les systèmes de gestion et éviter les accès non
autorisés.
- Réseaux de stockage : Pour assurer la confidentialité et l'intégrité des données.
- Réseaux de VMotion et de Heartbeat de cluster : Pour garantir la performance et la
fiabilité des opérations de migration et de gestion des clusters.
- Réseaux de DMZ : Pour isoler les systèmes exposés du réseau interne et minimiser les
risques de compromission.
En combinant la séparation physique avec des mesures de sécurité appropriées, telles que les ACLs,
le DHCP Snooping, et les configurations de pare-feu, les organisations peuvent renforcer la sécurité
de leurs infrastructures réseau et réduire la surface d'attaque disponible aux cybercriminels.
Description : L'attaque de VLAN Hopping se produit lorsque l'attaquant exploite des configurations de
commutateurs incorrectes pour accéder à un VLAN non autorisé à partir d'un autre VLAN. Cela peut
se produire de deux manières principales :
Double Encapsulation : L'attaquant envoie des trames avec deux balises VLAN (802.1Q) imbriquées.
Le premier switch retire la balise externe et envoie la trame au switch suivant, qui interprète la balise
interne, permettant à l'attaquant de sauter de VLAN.
Attaque de mode Trunking : L'attaquant configure son interface pour qu'elle apparaisse comme un
trunk (lien inter-switchs), permettant ainsi de recevoir le trafic de tous les VLANs.
Contre-mesures : Pour prévenir VLAN Hopping :
Désactiver le mode trunking sur les ports inutilisés ou ceux qui ne doivent pas
transmettre de trafic de plusieurs VLANs.
Utiliser des listes de contrôle d'accès (ACL) pour filtrer les trames 802.1Q et limiter les
accès.
Mettre en œuvre une sécurité de port pour restreindre les adresses MAC pouvant
accéder à chaque port.
Justification de la séparation physique : Dans les environnements très sensibles, tels que les réseaux
de stockage ou les réseaux d'administration, une séparation physique assure que même si une
attaque VLAN Hopping est tentée, elle ne compromet pas les segments critiques. En isolant
physiquement les segments réseau, on réduit la surface d'attaque disponible pour un attaquant
exploitant VLAN Hopping.
Description : Un attaquant configure un serveur DHCP non autorisé pour répondre aux requêtes
DHCP, attribuant ainsi de fausses adresses IP, passerelles, et serveurs DNS aux hôtes sur le réseau.
Cela peut conduire à des attaques de type "Man-in-the-Middle" (MitM).
Contre-mesures :
Utiliser DHCP Snooping sur les commutateurs pour autoriser uniquement les réponses
DHCP des serveurs autorisés.
Filtrage ARP pour prévenir le spoofing ARP sur les VLANs.
Justification de la séparation physique : Dans des segments critiques, comme ceux des serveurs de
production ou de gestion, la séparation physique garantit que les attaques DHCP ne peuvent pas être
initiées depuis des segments utilisateurs moins sécurisés.
Description : Cette attaque implique qu'un attaquant configure son port avec le même VLAN ID que
celui utilisé par un segment sensible, permettant ainsi d'intercepter ou d'envoyer du trafic sur ce
VLAN.
Contre-mesures :
Configurer les ports pour utiliser des VLANs natifs différents des VLANs utilisateurs.
Limiter les VLANs accessibles à chaque port via des ACLs spécifiques.
Description : Dans cette attaque, l'attaquant tire parti des règles de routage de VLAN pour forcer le
trafic à rebondir entre différents VLANs, permettant ainsi de voir des paquets qui ne lui sont pas
destinés initialement.
Contre-mesures :
Description : Les attaques MitM exploitent des vulnérabilités dans la configuration des VLANs pour
intercepter, modifier ou détourner le trafic entre les hôtes et les serveurs.
Contre-mesures :
Utiliser le chiffrement pour protéger le trafic entre les hôtes et les serveurs.
Implémenter des pare-feux internes et des contrôles d'accès pour surveiller et contrôler
le trafic réseau.