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 11/10/2016, à 08:56

Laurent_reunion

KVM et reseau virtuel

Bonjour,

je cherche à configurer un réseau virtuel pour KVM.

Mes contraintes sont :
   - Machine hôte avec IP fixe et publique (pas de réseau local)
   - VM avec IP fixe sur réseau local virtuel (et routeur virtuel ?) défini pour KVM et ses VM
   - Définition d'un alias sur l'hôte pour une deuxième IP publique réservée à KVM (et routage par bridge ?)

J'ai lu différents tutoriaux mais ils ne traitent pas de ce cas particulier (absence de réseau local pour l'hôte), y compris dans la doc de KVM.

Merci de m'éclairer sur ce domaine que je ne maitrise vraiment pas ...

Cordialement,

Laurent

Hors ligne

#2 Le 17/10/2016, à 10:50

Elder

Re : KVM et reseau virtuel

Salut Laurent,

En fait je t'ai déjà répondu dans ton premier post. Mais je vais essayé d'être plus clair.
Après l'installation de KVM et de la libvirt tu devrais avoir un réseau par défaut pour KVM.

[root:/etc/libvirt] 3m32s # ifconfig
eth0      Link encap:Ethernet  HWaddr 00:8c:fa:85:c3:76  
          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:1000 
          Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)

lo        Link encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          Packets reçus:334 erreurs:0 :0 overruns:0 frame:0
          TX packets:334 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1 
          Octets reçus:43704 (43.7 KB) Octets transmis:43704 (43.7 KB)

virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          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:1000 
          Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)

Il s'agit du vibr0 (un bridge donc) qui par défaut a accès au réseau via un NAT configuré par defaut par iptables (le firewall donc).
De là si tu reprend ma réponse à ton premier post tu peux faire en sorte que les requêtes arrivant sur certains ports (80 et/ou 443) de ton ip publique (eth0 dans ton cas) soient transmises à l'adresse IP de ta VM sur le réseau 'local' de KVM. Il va juste falloir expliquer à iptables ou il doit emmener les paquets.
En passant il n'y a pas de notion de routeur virtuel mais simplement d'une régle de firewall qui effectuera une redirection.

Si tu as une seconde ip publique, les choses change un petit peu.
Il va te falloir créer manuellement un bridge sur eth0.
Tu peux le faire en ajoutant et en adaptant la config suivante a ton cas (edit: cette config se place dans le fichier /etc/network/interfaces) :

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address <ta premiere ip publique>
        netmask <ton mask>
        gateway <ta gateway>
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
        dns-nameservers <ton dns>

Il faudra probablement le faire depuis une console externe (via le portail de ton hebergeur) vu qu'en cas de loupé tu n'auras plus de réseau.
Une fois que ce sera fait il faudra que tu change la connexion de ta VM au réseau en éditant ses paramètres via virsh (je pars du principe qu'il n'y a pas d'interface graphique sur ton serveur et que tu fais tout en console)

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 # list --all
 ID    Nom                            État
----------------------------------------------------
 -     VM1                 fermé

virsh # edit VM1

Une fois le fichiers de config de ta VM édité modifie ou créé la sous-section <source-bridge=> dans la section <interface> telle que :

    <interface type='bridge'>
      <mac address='52:54:00:82:d4:19'/> #ne recopie pas la mac garde la tienne
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

Ensuite il te faudra te connecter dans ta VM (après l'avoir mise en route) et lui attribuer ta seconde ip publique.
Ca devrait faire l'affaire.

@+
Elder

Dernière modification par Elder (Le 17/10/2016, à 10:57)

Hors ligne