17.3. Configurations réseau recommandées pour les machines virtuelles
Dans de nombreux cas, la configuration par défaut de la mise en réseau de la VM est suffisante. Toutefois, s'il est nécessaire d'ajuster la configuration, vous pouvez utiliser l'interface de ligne de commande (CLI) ou la console Web RHEL 9 pour le faire. Les sections suivantes décrivent des configurations de réseau VM sélectionnées pour de telles situations.
17.3.1. Configurer les machines virtuelles visibles de l'extérieur à l'aide de l'interface de ligne de commande
Par défaut, une VM nouvellement créée se connecte à un réseau de type NAT qui utilise virbr0
, le pont virtuel par défaut de l'hôte. Ainsi, la VM peut utiliser le contrôleur d'interface réseau (NIC) de l'hôte pour se connecter à des réseaux extérieurs, mais elle n'est pas joignable depuis des systèmes externes.
Si vous souhaitez qu'une VM apparaisse sur le même réseau externe que l'hyperviseur, vous devez utiliser le mode ponté. Pour ce faire, attachez la VM à un périphérique de pont connecté au périphérique réseau physique de l'hyperviseur. Pour utiliser l'interface de ligne de commande, suivez les instructions ci-dessous.
Conditions préalables
- Une VM existante éteinte avec la configuration NAT par défaut.
La configuration IP de l'hyperviseur. Elle varie en fonction de la connexion réseau de l'hôte. À titre d'exemple, cette procédure utilise un scénario dans lequel l'hôte est connecté au réseau à l'aide d'un câble Ethernet, et l'adresse MAC du NIC physique de l'hôte est attribuée à une IP statique sur un serveur DHCP. Par conséquent, l'interface Ethernet est traitée comme l'IP de l'hyperviseur.
Pour obtenir la configuration IP de l'interface Ethernet, utilisez l'utilitaire
ip addr
:# ip addr [...] enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 54:ee:75:49:dc:46 brd ff:ff:ff:ff:ff:ff inet 192.0.2.1/24 brd 192.0.2.255 scope global dynamic noprefixroute enp0s25
Procédure
Créez et configurez une connexion de pont pour l'interface physique de l'hôte. Pour plus d'informations, reportez-vous à la section Configuration d'un pont réseau.
Notez que dans un scénario où l'attribution statique d'IP est utilisée, vous devez déplacer le paramètre IPv4 de l'interface Ethernet physique vers l'interface de pont.
Modifiez le réseau de la VM pour utiliser l'interface pontée créée. Par exemple, l'exemple suivant permet à testguest d'utiliser bridge0.
# virt-xml testguest --edit --network bridge=bridge0 Domain 'testguest' defined successfully.
Démarrer la VM.
# virsh start testguest
Dans le système d'exploitation invité, réglez les paramètres IP et DHCP de l'interface réseau du système comme si la VM était un autre système physique sur le même réseau que l'hyperviseur.
Les étapes spécifiques diffèrent en fonction du système d'exploitation invité utilisé par la VM. Par exemple, si le système d'exploitation invité est RHEL 9, voir Configuration d'une connexion Ethernet.
Vérification
Assurez-vous que le pont nouvellement créé fonctionne et qu'il contient à la fois l'interface physique de l'hôte et l'interface de la VM.
# ip link show master bridge0 2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 54:ee:75:49:dc:46 brd ff:ff:ff:ff:ff:ff 10: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UNKNOWN mode DEFAULT group default qlen 1000 link/ether fe:54:00:89:15:40 brd ff:ff:ff:ff:ff:ff
Assurez-vous que la VM apparaît sur le même réseau externe que l'hyperviseur :
Dans le système d'exploitation invité, obtenez l'ID réseau du système. Par exemple, s'il s'agit d'un invité Linux :
# ip addr [...] enp0s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:09:15:46 brd ff:ff:ff:ff:ff:ff inet 192.0.2.1/24 brd 192.0.2.255 scope global dynamic noprefixroute enp0s0
Depuis un système externe connecté au réseau local, connectez-vous à la VM en utilisant l'identifiant obtenu.
# ssh root@192.0.2.1 root@192.0.2.1's password: Last login: Mon Sep 24 12:05:36 2019 root~#*
Si la connexion fonctionne, le réseau a été configuré avec succès.
Résolution de problèmes
Dans certaines situations, par exemple lors de l'utilisation d'un VPN client-site alors que la VM est hébergée sur le client, il n'est pas possible d'utiliser le mode ponté pour rendre vos VM accessibles à des sites externes.
Pour contourner ce problème, vous pouvez définir le NAT de destination en utilisant
nftables
pour la VM.
17.3.2. Configurer les machines virtuelles visibles de l'extérieur à l'aide de la console web
Par défaut, une VM nouvellement créée se connecte à un réseau de type NAT qui utilise virbr0
, le pont virtuel par défaut de l'hôte. Ainsi, la VM peut utiliser le contrôleur d'interface réseau (NIC) de l'hôte pour se connecter à des réseaux extérieurs, mais elle n'est pas joignable depuis des systèmes externes.
Si vous souhaitez qu'une VM apparaisse sur le même réseau externe que l'hyperviseur, vous devez utiliser le mode ponté. Pour ce faire, attachez la VM à un périphérique de pont connecté au périphérique réseau physique de l'hyperviseur. Pour utiliser la console web RHEL 9 à cette fin, suivez les instructions ci-dessous.
Conditions préalables
- Le plug-in VM de la console web est installé sur votre système.
- Une VM existante éteinte avec la configuration NAT par défaut.
La configuration IP de l'hyperviseur. Elle varie en fonction de la connexion réseau de l'hôte. À titre d'exemple, cette procédure utilise un scénario dans lequel l'hôte est connecté au réseau à l'aide d'un câble Ethernet, et l'adresse MAC du NIC physique de l'hôte est attribuée à une IP statique sur un serveur DHCP. Par conséquent, l'interface Ethernet est traitée comme l'IP de l'hyperviseur.
Pour obtenir la configuration IP de l'interface ethernet, allez dans l'onglet
Networking
de la console web, et consultez la sectionInterfaces
.Procédure
Créez et configurez une connexion de pont pour l'interface physique de l'hôte. Pour plus d'informations, reportez-vous à la section Configuration des ponts réseau dans la console Web.
Notez que dans un scénario où l'attribution statique d'IP est utilisée, vous devez déplacer le paramètre IPv4 de l'interface Ethernet physique vers l'interface de pont.
Modifiez le réseau de la VM pour utiliser l'interface pontée. Dans l'onglet Interfaces réseau de la VM :
- Cliquez sur
Dans la boîte de dialogue
Add Virtual Network Interface
, définissez :-
Interface Type à
Bridge to LAN
-
Source vers le pont nouvellement créé, par exemple
bridge0
-
Interface Type à
- Cliquez sur
- Optional: Cliquez sur pour toutes les autres interfaces connectées à la VM.
- Cliquez sur pour démarrer la VM.
Dans le système d'exploitation invité, réglez les paramètres IP et DHCP de l'interface réseau du système comme si la VM était un autre système physique sur le même réseau que l'hyperviseur.
Les étapes spécifiques diffèrent en fonction du système d'exploitation invité utilisé par la VM. Par exemple, si le système d'exploitation invité est RHEL 9, voir Configuration d'une connexion Ethernet.
Vérification
- Dans l'onglet Networking de la console web de l'hôte, cliquez sur la ligne contenant le pont nouvellement créé pour vous assurer qu'il fonctionne et qu'il contient à la fois l'interface physique de l'hôte et l'interface de la VM.
Assurez-vous que la VM apparaît sur le même réseau externe que l'hyperviseur.
Dans le système d'exploitation invité, obtenez l'ID réseau du système. Par exemple, s'il s'agit d'un invité Linux :
# ip addr [...] enp0s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:09:15:46 brd ff:ff:ff:ff:ff:ff inet 192.0.2.1/24 brd 192.0.2.255 scope global dynamic noprefixroute enp0s0
Depuis un système externe connecté au réseau local, connectez-vous à la VM en utilisant l'identifiant obtenu.
# ssh root@192.0.2.1 root@192.0.2.1's password: Last login: Mon Sep 24 12:05:36 2019 root~#*
Si la connexion fonctionne, le réseau a été configuré avec succès.
Résolution de problèmes
- Dans certaines situations, par exemple lors de l'utilisation d'un VPN client-site alors que la VM est hébergée sur le client, il n'est pas possible d'utiliser le mode ponté pour rendre vos VM accessibles à des sites externes.