Vous voulez un réseau NAT séparé du “default” pour isoler un projet ou un lab ? Cette recette vous montre comment créer un réseau libvirt personnalisé.
Cas d’usage
Section intitulée « Cas d’usage »- Isoler les VMs d’un projet des autres
- Utiliser une plage d’adresses différente (ex: 10.x.x.x)
- Avoir plusieurs labs avec des réseaux distincts
Créer un réseau NAT personnalisé
Section intitulée « Créer un réseau NAT personnalisé »-
Créer le fichier de définition XML
Fenêtre de terminal cat > /tmp/lab-network.xml << 'EOF'<network><name>lab-network</name><forward mode='nat'><nat><port start='1024' end='65535'/></nat></forward><bridge name='virbr-lab' stp='on' delay='0'/><ip address='10.10.10.1' netmask='255.255.255.0'><dhcp><range start='10.10.10.100' end='10.10.10.200'/></dhcp></ip></network>EOFParamètres à personnaliser :
Paramètre Exemple Description namelab-network Nom du réseau (utilisé avec virsh et virt-install) bridge namevirbr-lab Nom du bridge Linux créé ip address10.10.10.1 IP de l’hôte sur ce réseau (passerelle) dhcp range.100 à .200 Plage d’IP pour les VMs -
Définir le réseau dans libvirt
Fenêtre de terminal virsh net-define /tmp/lab-network.xml -
Démarrer le réseau
Fenêtre de terminal virsh net-start lab-network -
Activer le démarrage automatique
Fenêtre de terminal virsh net-autostart lab-network -
Vérifier
Fenêtre de terminal virsh net-list --all# Doit afficher lab-network comme activeip addr show virbr-lab# Doit afficher 10.10.10.1/24
Connecter une VM au réseau
Section intitulée « Connecter une VM au réseau »Avec virt-install :
virt-install --network network=lab-network ...Ou modifier une VM existante :
virsh edit ma-vm<interface type='network'> <source network='lab-network'/> <model type='virtio'/></interface>Variantes
Section intitulée « Variantes »Réseau isolé (pas d’accès Internet)
Section intitulée « Réseau isolé (pas d’accès Internet) »Pour un réseau interne sans accès extérieur :
<network> <name>isolated-net</name> <bridge name='virbr-iso' stp='on' delay='0'/> <ip address='172.16.0.1' netmask='255.255.255.0'> <dhcp> <range start='172.16.0.10' end='172.16.0.100'/> </dhcp> </ip></network>Notez l’absence de <forward> — les VMs peuvent communiquer entre elles et avec l’hôte, mais pas avec Internet.
Réseau avec IP fixe pour une VM
Section intitulée « Réseau avec IP fixe pour une VM »Vous pouvez réserver une IP pour une VM spécifique :
<network> <name>lab-network</name> <forward mode='nat'/> <bridge name='virbr-lab' stp='on' delay='0'/> <ip address='10.10.10.1' netmask='255.255.255.0'> <dhcp> <range start='10.10.10.100' end='10.10.10.200'/> <host mac='52:54:00:aa:bb:cc' name='web-server' ip='10.10.10.10'/> </dhcp> </ip></network>La VM avec l’adresse MAC 52:54:00:aa:bb:cc obtiendra toujours l’IP 10.10.10.10.
Gérer le réseau
Section intitulée « Gérer le réseau »| Action | Commande |
|---|---|
| Voir la config | virsh net-dumpxml lab-network |
| Arrêter | virsh net-destroy lab-network |
| Supprimer | virsh net-undefine lab-network |
| Modifier | virsh net-edit lab-network |
Voir aussi
Section intitulée « Voir aussi »- Guide réseau KVM — Comprendre NAT vs Bridge
- Port forwarding NAT — Exposer un service en NAT