Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| software:applications:virsh:gerer_les_reseaux [2024/06/23 11:35] – yoann | software:applications:virsh:gerer_les_reseaux [2025/11/02 09:57] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 16: | Ligne 16: | ||
| </ | </ | ||
| - | ===== Créer un réseau | + | ===== A propos des types de réseaux |
| - | Comme pour les domaines (VMs) on peut exporter une configuration existante en XML et y apporter les modifications nécessaires à notre nouvelle définition | + | : |
| + | |||
| + | Lors de la création d'un réseau virtuel avec **virt-manager**, | ||
| + | |||
| + | * Le mode **NAT**((**N**etwork **A**ddress **T**ranslation)) permet aux VMs de se connecter à Internet au travers de l’hôte tout en maintenant une isolation vis-à-vis des réseaux locaux et des autre VMs. | ||
| + | * Le mode **routé** | ||
| + | * Le mode **ouvert** | ||
| + | * Le mode **isolé**(isolated) permet de définir un réseau privé entre l' | ||
| + | * Le mode pool SR-IOV | ||
| + | |||
| + | ===== Créer un réseau isolé avec virsh ===== | ||
| + | |||
| + | Comme pour les domaines (VMs) on peut exporter une configuration existante en XML et y apporter les modifications nécessaires à notre nouvelle définition. | ||
| <code bash> | <code bash> | ||
| virsh net-dumpxml default > vm-internal.xml | virsh net-dumpxml default > vm-internal.xml | ||
| </ | </ | ||
| + | |||
| + | Ici on souhaite définir un réseau interne isolé pour interconnecter plusieurs VMs sans connexion Internet. | ||
| <file xml vm-internal.xml> | <file xml vm-internal.xml> | ||
| Ligne 31: | Ligne 45: | ||
| </ | </ | ||
| - | Ici on souhaite définir un réseau | + | Le fichier de configuration est minimaliste. L' |
| Une fois le fichier enregistré et modifié, pour définir le nouveau réseau, on peut utiliser les commandes **virsh net-define** (réseau permanent) | Une fois le fichier enregistré et modifié, pour définir le nouveau réseau, on peut utiliser les commandes **virsh net-define** (réseau permanent) | ||
| Ligne 77: | Ligne 92: | ||
| <code bash> | <code bash> | ||
| - | # Connecte | + | # Connexion permanente de la VM ftp-server au réseau vm-internal |
| - | virsh attach-interface --type bridge --source virbr1 --model virtio | + | virsh attach-interface |
| - | # Connecte la VM debian12-amd64-novideo au réseau vm-internal | + | # Connecte |
| - | virsh attach-interface --type bridge --source virbr1 --model virtio debian12-amd64-novideo | + | virsh attach-interface --live --type bridge --source virbr1 --model virtio file-server |
| + | |||
| + | # Connecte ponctuellement | ||
| + | virsh attach-interface | ||
| </ | </ | ||
| Ligne 88: | Ligne 106: | ||
| </ | </ | ||
| + | ===== Pare-feu ===== | ||
| + | |||
| + | Selon la politique de filtrage appliquée sur l' | ||
| + | |||
| + | Lorsqu' | ||
| + | |||
| + | Dans l' | ||
| + | |||
| + | < | ||
| + | juil. 05 09:28:02 node-7c87 kernel: [FW] [REJECT] [RID=666] IN=virbr0 OUT= MAC=ff: | ||
| + | </ | ||
| + | |||
| + | On introduit une règle de filtrage supplémentaire autorisant les requêtes DHCPDISCOVER entrant par l' | ||
| + | |||
| + | Depuis **nft** en mode interactif : | ||
| + | < | ||
| + | insert rule ipfilter inbound position 17 iif " | ||
| + | </ | ||
| + | |||
| + | KVM utilise dnsmasq pour fournir la configuration aux VMs, selon la politique de filtrage en place il faudra également autorisé le trafic sortant : | ||
| + | |||
| + | < | ||
| + | juil. 05 10:00:32 node-7c87 dnsmasq-dhcp[1698]: | ||
| + | juil. 05 10:00:32 node-7c87 dnsmasq-dhcp[1698]: | ||
| + | juil. 05 10:00:32 node-7c87 dnsmasq-dhcp[1698]: | ||
| + | juil. 05 10:00:32 node-7c87 kernel: [FW] [REJECT] [RID=667] IN= OUT=virbr0 SRC=192.168.122.1 DST=192.168.122.43 LEN=328 TOS=0x00 PREC=0xC0 TTL=64 ID=13364 PROTO=UDP SPT=67 DPT=68 LEN=308 | ||
| + | </ | ||
| + | |||
| + | Ici on insère une règle de filtrage (depuis nft en mode interactif) : | ||
| + | |||
| + | < | ||
| + | insert rule ipfilter outbound position 39 oif " | ||
| + | </ | ||
| + | |||
| + | Pour autoriser les connexions SSH : | ||
| + | < | ||
| + | insert rule ipfilter outbound position 34 oif " | ||
| + | </ | ||
| + | |||
| + | Pour que les VMs puissent avoir accès à Internet l’hôte doit également autoriser la transmission des paquets ([[netadmin: | ||
| + | |||
| + | Dans cet exemple la configuration préexistante trace et mais rejette les transmissions de trafic : | ||
| + | |||
| + | < | ||
| + | list chain ipfilter forward | ||
| + | table ip ipfilter { | ||
| + | chain forward { # handle 3 | ||
| + | type filter hook forward priority filter; policy drop; | ||
| + | log prefix "[FW] [REJECT] [RID=668] " counter packets 0 bytes 0 reject comment " | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | On peut autoriser les transmissions HTTP et HTTPS en provenance du | ||
| + | |||
| + | < | ||
| + | insert rule ipfilter forward iif " | ||
| + | |||
| + | |||
| + | insert rule ipfilter forward ct state established, | ||
| + | </ | ||
| ===== Références ===== | ===== Références ===== | ||