Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 ! hmm


α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é ? wink

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. smile


α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