#1 Le 07/11/2015, à 13:29
- αjet
[Résolu] KVM: réseau virtuel entre host et guest
Bonjour,
Je rencontre quelques difficultés avec KVM concernant le réseau.
J'ai créé une VM debian serveur, pour faire des tests sur un server web avant de "mettre en prod" sur un VPS.
La machine hôte est mon portable qui se connecte à internet via ma connexion wifi. La configuration par défaut (NAT) me convient parfaitement pour pouvoir accéder à internet depuis la VM. Cela me permet d'installer les paquets, etc.
Par contre je souhaiterais aussi me servir de cette machine de pouvoir y accéder depuis la machine hote. Je réalise que pour pouvoir accéder à la VM il faudrait mettre en place un bridge mais que ce n'est pas envisageable avec l'interface wifi.
Pour remédier à ce problème, je souhaiterais mettre en place la configuration suivante :
1. Réseau NAT vers mon interface wlan0 pour pouvoir accéder à internet depuis la VM - cette partie la est opérationnelle.
2. Créer un deuxième réseau virtuel entre la machine hôte et la VM. Pour ce faire, je souhaite rajouter une deuxième interface ethernet virtuelle sur la VM, connectée à un réseau virtuel qui serait lui même connecté à une interface virtuelle sur la machine hôte.
J'ai pas mal cherche dans la doc de libvirt mais je n'arrive pas à mettre la deuxième partie en place, je patauge un peu. Est-ce que ce que je souhaite faire est possible ? Si oui, est-ce que vous auriez des pistes pour me faire démarrer ?
Merci d'avance pour votre aide.
Dernière modification par αjet (Le 10/11/2015, à 23:47)
αjet: ça se prononce alfajet, bordel ! | GMT+1 | Viens poueter avec moi, bordel ! | Mes photos | Shaarli | Fluidbuntu-fr
Hors ligne
#2 Le 09/11/2015, à 19:31
- Elder
Re : [Résolu] KVM: réseau virtuel entre host et guest
Salut,
Par défaut, tu peux communiquer entre ton hôte et ta VM via l'IP de la VM.
Le réseau NAT par défaut créé une interface bridge virtuel
root@monpc# ifconfig
virbr0 Link encap:Ethernet HWaddr 52:54:00:e4:1e:3e
inet adr:192.168.122.1 Bcast:192.168.122.255 Masque:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)
root@monpc# route
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
Dans mon cas on peut dire que mon hôte à l'adresse 192.168.122.1 et ma VM 192.168.122.2.
@+
Hors ligne
#3 Le 10/11/2015, à 13:53
- mazarini
Re : [Résolu] KVM: réseau virtuel entre host et guest
Bonjour,
Il doit être possible d'utiliser un bridge sur une interface dummy (dummy0).
# Démarrage automatique du bridge
auto lan0
# Interfaces fictives pour le bridge
iface dummy0 inet manual
# Interface/pont pour le reseau interne
iface lan0 inet static
address 10.1.1.254
netmask 255.255.0.0
network 10.1.0.0
broadcast 10.1.255.255
bridge_ports dummy0
bridge_maxwait 5
bridge_stp off
bridge_fd 0
Normalement ca permet de dialoguer entre les vm et avec l'hote. Il faut activer le module dummy pour pouvoir utiliser cette interface et laisser le masquering pour avoir un accès à internet.
S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)
Hors ligne
#4 Le 10/11/2015, à 13:57
- αjet
Re : [Résolu] KVM: réseau virtuel entre host et guest
Merci Elder et mazarini pour vous suggestions. Je vais tester ce soir et je vous ferai un retour.
αjet: ça se prononce alfajet, bordel ! | GMT+1 | Viens poueter avec moi, bordel ! | Mes photos | Shaarli | Fluidbuntu-fr
Hors ligne
#5 Le 10/11/2015, à 23:46
- αjet
Re : [Résolu] KVM: réseau virtuel entre host et guest
En effet Elder, ca marche tel quel. Je ne sais pas pourquoi je me suis fait des noeuds au cerveau comme ca !
αjet: ça se prononce alfajet, bordel ! | GMT+1 | Viens poueter avec moi, bordel ! | Mes photos | Shaarli | Fluidbuntu-fr
Hors ligne
#6 Le 11/11/2015, à 10:07
- mazarini
Re : [Résolu] KVM: réseau virtuel entre host et guest
Par curiosité, tu peux me donner le résultat de "brctl show"
Le mien :
root@su740:/home/pascal# brctl show
bridge name bridge id STP enabled interfaces
lan0 8000.365b149f4396 no dummy0
S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)
Hors ligne
#7 Le 11/11/2015, à 14:57
- αjet
Re : [Résolu] KVM: réseau virtuel entre host et guest
OK, je te poste mon retour ce soir.
Par curiosité, quel est l'objet de ta curiosité ?
Question subsidiaire : j'arrive bien a me connecter a ma VM par son adresse IP, que ce soit en ssh ou http. Par contre, pas moyen d'utiliser son hostname. Il faut que je le rajoute manuellement dans mon /etc/hosts ou est-ce qu'il y a une méthode plus automatique ?
αjet: ça se prononce alfajet, bordel ! | GMT+1 | Viens poueter avec moi, bordel ! | Mes photos | Shaarli | Fluidbuntu-fr
Hors ligne
#8 Le 11/11/2015, à 18:53
- mazarini
Re : [Résolu] KVM: réseau virtuel entre host et guest
Ma curiosité, c'est de voir comment est fait le bridge sous kvm.
J'utilise xen, pas kvm et je fais le bridge à la main. L'utilisation d'un bridge sur dummy0 n'est pas standard pour xen, le bridge est plutôt fait sur eth0. J'ai choisi cette solution pour que l'hôte des vm serve de router et de pare-feu.
En plus toutes mes vm n'ont pas une adresse public donc ne peuvent pas être bridgées sur eth0. Je pourrai utiliser un bridge publique sur eth0 et un bridge privé mais ca ne m'a semblé trop lourd sans rien apporter.
Dernière modification par mazarini (Le 11/11/2015, à 18:54)
S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)
Hors ligne
#9 Le 11/11/2015, à 19:17
- Elder
Re : [Résolu] KVM: réseau virtuel entre host et guest
Pour le nom de la VM, pas le choix il va falloir le rentrer dans le fichier hosts.
Il doit cependant (attention pas testé) de modifier la plage d'IP distribuées sur le réseau virtuel pour t'en réserver une dans la mesure ou l'hôte en utilise une lui même ça ne devrait pas poser de problème.
Tu peux le faire via virsh :
elder@mld-lap:~$ virsh -c qemu:///system
Bienvenue dans virsh, le terminal de virtualisation interactif.
Taper : « help » pour l'aide ou « help » avec la commande
« quit » pour quitter
virsh # net-list
Nom État Démarrage automatique Persistent
----------------------------------------------------------
default actif yes yes
virsh # net-edit default
Le fichier de config du réseau virtuel s'ouvre dans vim (enfin dans mon cas c'est vim) et il est possible de modifier la plage IP distribuée.
<network>
<name>default</name>
<uuid>55b72829-eb10-42ca-80ce-57de27cb0472</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:e4:1e:3e'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.253'/>
</dhcp>
</ip>
</network>
~
Là je l'ai réduit d'une adresse (192.168.122.253 au lieu de 192.168.122.254).
Par la suite il te suffira de rentrer l'une des IP exclue de la plage manuellement dans ta VM et de renseigner ton fichier hosts une bonne fois pour toute.
En ce qui concerne le bridge du réseau virtuel :
virbr0 8000.525400e41e3e yes virbr0-nic
vnet0
L'interface vibr0-nic apparait bien dans la liste de mes interfaces :
elder@mld-lap:~$ ifconfig -a
...
virbr0-nic Link encap:Ethernet HWaddr 52:54:00:e4:1e:3e
BROADCAST MULTICAST MTU:1500 Metric:1
Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:500
Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)
...
Par contre je ne trouve pas comment cette interface est créée. Elle est activé par l'unit ifup@.service de systemd mais avant ça je ne sais pas d'où elle sort.
Si quelqu'un sait, ça m’intéresse.
@+
elder
Dernière modification par Elder (Le 11/11/2015, à 19:28)
Hors ligne
#10 Le 11/11/2015, à 21:25
- αjet
Re : [Résolu] KVM: réseau virtuel entre host et guest
@mazarini, voici ce que ca rend chez moi.
█▓▒░alex@Volkerball█▓▒░ Wed Nov 11 08:23:53pm
~/ brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.525400a93660 yes virbr0-nic
Merci Elder pour ton post détaillé, je regarde ça dans la soirée.
αjet: ça se prononce alfajet, bordel ! | GMT+1 | Viens poueter avec moi, bordel ! | Mes photos | Shaarli | Fluidbuntu-fr
Hors ligne
#11 Le 12/11/2015, à 00:03
- αjet
Re : [Résolu] KVM: réseau virtuel entre host et guest
Elder, si j'ai bien l'objectif de ta démarche c'est de
1. Limiter la plage allouée au serveur dhcp
2. utiliser une des adresses en dehors de la plage DHCP pour a la VM de maniere a ce qu'elle ait une IP fixe.
αjet: ça se prononce alfajet, bordel ! | GMT+1 | Viens poueter avec moi, bordel ! | Mes photos | Shaarli | Fluidbuntu-fr
Hors ligne
#12 Le 12/11/2015, à 11:29
- Elder
Re : [Résolu] KVM: réseau virtuel entre host et guest
Oui, c'est exactement ça.
Tu ne risque pas de voir ta VM changer d'adresse si tu en déploies une autre à côté.
Dernière modification par Elder (Le 12/11/2015, à 11:31)
Hors ligne