Forum Linux.général Utiliser un bridge avec kvm

Posté par  . Licence CC By‑SA.
Étiquettes :
0
9
sept.
2016

Bonjour à tous.
Utilisateur débutant de qemu/kvm, je m'interroge sur la possibilité d'utiliser un bridge (comme avec virtualbox) dans l'objectif de rendre mes machines virtuelles accessibles depuis l'extérieur en les intégrant à mon réseau domestique.
Je me pose donc naturellement quelques questions:

  • Comment un bridge fonctionne-t-il dans le cadre de la virtualisation (j'ai du mal à en saisir le concept ;( ) ?

  • Quelles modifications dois-je apporter à mon système hôte et à mes systèmes invités pour rendre le tout opérationnel ?

Merci d'avance pour vos réponses.

ps: je suis sous Debian stretch/9

  • # C'est assez transparent

    Posté par  . Évalué à 3.

    Comment un bridge fonctionne-t-il dans le cadre de la virtualisation (j'ai du mal à en saisir le concept ;( ) ?

    Il y a une interface réseau normale sur l'invité, qui a son « miroir » sur l'hôte. Cette interface miroir doit être incorporée au bridge de l'hôte, comme n'importe autre interface. L'interface de l'hôte qui communique avec le réseau auquel on veut incorporer l'invité doit être dans ce même bridge.

    Quelles modifications dois-je apporter à mon système hôte et à mes systèmes invités pour rendre le tout opérationnel ?

    Sur l'hôte il faut configurer KVM pour qu'il mette l'interface réseau de l'invité sur le bridge. Avec libvirt, ça se fait en utilisant une interface de type « bridge », avec une « source » qui contient le nom du bridge de l'hôte, et une « target » qui contient le nom de l'interface miroir réseau de l'invitée (telle qu'elle sera vue sur l'hôte, donc).

    Il n'y a rien à faire sur l'invité. C'est transparent.

  • # changer ta carte reseau principale de eth0 à br0

    Posté par  . Évalué à 3.

    Quelles modifications dois-je apporter à mon système hôte et à mes systèmes invités pour rendre le tout opérationnel ?

    sur le systeme principal,
    generalement tu as la carte principale (eth0) qui est configurée avec une IP.

    si tu veux changer cette machine en serveur de virtualisation avec un bridge vers ce reseau, je te recommandes de

    • creer un bridge 'br0' dans lequel tu vas mettre la carte 'eth0'
      la commande brctl doit pouvoir t'aider à cela

    • basculer la config IP de eth0 sur br0 (pour que ta machine reelle reste joignable sur le reseau)

    puis quand tu crees tes VMs, tu leur actives une carte reseau, qui sera en bridge sur br0,

    la VM elle ne verra que son eth0, mais dans la realité son eth0 sera branché sur br0 de l'hote, lui meme sur eth0 de l'hote et donc le reseau physique.

    • [^] # Re: changer ta carte reseau principale de eth0 à br0

      Posté par  . Évalué à 1.

      Ok, merci à vous deux.

      Il y a cependant deux points qui m'échappent:

      • Qu'entends-tu par basculer ma config ip ?

      • Et, justement, pourquoi ma machine devient injoignable lorsque j'ajoute l'interface au bridge avec brctl ?

      • [^] # Re: changer ta carte reseau principale de eth0 à br0

        Posté par  . Évalué à 3.

        reponse pour tes deux questions :

        parce que tu ne peux pas monter le bridge sur une carte deja en service,
        car c'est lui qui va prendre l'adresse MAC et le trafic qui passe sur la carte.

        donc avant tu avais
        LAN => eth0, Mac xx:vv:ee:tt:dd:ss, IP : 192.168.a.b

        apres tu as
        LAN => eth0 => br0, Mac xx:vv:ee:tt:dd:ss, IP : 192.168.a.b => machines virtuelles

        evidemment si tu as 2 cartes reseaux physiques sur ta machine le probleme ne se pose plus, tu fais le bridge sur eth1, et au choix
        - tu transformes la machine physique en routeur entre le bridge/eth1 et la vraie sortie eth0 (probablement avec des reseaux differents entre eth0 et les vms sur eth1/br0)
        - tu branches la carte eth1 sur le switch de ton LAN pour que tes VMs soient directement sur le LAN

        • [^] # Re: changer ta carte reseau principale de eth0 à br0

          Posté par  . Évalué à 1.

          Merci beaucoup, je viens d'essayer, ça fonctionne !

          Curieux que je suis, j'ai encore quelques questions:

          Je me suis rendu compte que mon paramétrage avec brctl n'était malheureusement pas conservé au redémarrage, j'ai donc entrepris de spécifier manuellement le bridge. Suite à quelques recherches, j'en arrive à la configuration fonctionnelle suivante (fichier /etc/network/interfaces):

          auto lo
          iface lo inet loopback
          
          auto eno1
          iface eno1 inet manual
          
          auto br0
          iface br0 inet static
          address 192.168.1.24
          netmask 255.255.255.0
          gateway 192.168.1.1
          bridge_ports eno1
          bridge_stp off
          bridge_maxwait 0
          
          • Pourquoi est-il conseillé de désactiver spanning tree ? Il me semble que c'est utilisé pour éviter les boucles de commutation dans les architectures comprenant des chemins redondants… Quel est l'intérêt de s'en préoccuper ?

          • Ma configuration te semble-t-elle valide ? ;)

        • [^] # Re: changer ta carte reseau principale de eth0 à br0

          Posté par  . Évalué à 1.

          (…) si tu as 2 cartes reseaux physiques sur ta machine le probleme ne se pose plus, tu fais le bridge sur eth1, et au choix
          - tu transformes la machine physique en routeur entre le bridge/eth1 et la vraie sortie eth0 (probablement avec des reseaux differents entre eth0 et les vms sur eth1/br0)
          - tu branches la carte eth1 sur le switch de ton LAN pour que tes VMs soient directement sur le LAN

          Hello,

          En terme de sécurité, est-ce que la solution 2, qui consiste à mettre les VM sur le LAN permet de mieux isoler les machines virtuelles de la machine physique et ainsi protéger la machine virtuelle (et vice versa) ?

          Julien_c'est_bien (y'a pas que Seb)

          • [^] # Re: changer ta carte reseau principale de eth0 à br0

            Posté par  . Évalué à 2.

            isoler au sens securité, je ne penses pas, les machines etant dans le meme LAN
            isoler en terme de performance, oui, car si une VM sature le reseau, il te reseau eth0 pour venir te connecter à ton serveur et stopper la VM ou intervenir dessus

            • [^] # Re: changer ta carte reseau principale de eth0 à br0

              Posté par  . Évalué à 1.

              Yep merci pour la réponse, c'est ce que j'ai fini par déduire ce matin, et du coup, comme c'est un cas personnel de serveur auto-hébergé, je penses mettre
              * La carte eth0 en LAN IPV4, dédiée à la machine hôte et à tout matériel physiquement présent chez moi et connecté à ma box (hormis ci-dessous)
              * La carte eth1 en (?) IPV6, dédiée à une machine virtuelle qui fera office de firewall/routeur pour les autres machines virtuelles hébergées sur cette machine
              Tout ça derrière ma freebox.

              Julien_c'est_bien (y'a pas que Seb)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.