Aller au contenu principal
Sujet résolu
Ce sujet a été marqué résolu et ne nécessite aucune autre attention.
Sujet: QEMU/KVM - Carte réseau - Comment faire un pont (Lu 16895 fois) sujet précédent - sujet suivant

QEMU/KVM - Carte réseau - Comment faire un pont

Bonjour,
J'ai procédé à l'installation de QEMU/KVM sans problème particulier.
Depuis virt-manager, j'ai importé une machine créée via Virtualbox. L'import a bien fonctionné.
Je trouve que ma VM (Win10) fonctionne bien, pas de souci côté video et c'est rapide.
Toutefois, point de réseau ! Je n'ai rien trouvé, via virt-manager, pour créer simplement un pont me permettant d'accéder à mon réseau et à internet.
Comment procéder ? Merci.

Re : QEMU/KVM - Carte réseau - Comment faire un pont

Répondre #1
Salut :)

Si tu regardes dans Edition -> Détails de la connexion, tu as quelque chose ?

Re : QEMU/KVM - Carte réseau - Comment faire un pont

Répondre #2
Bonjour,

Je n'ai strictement rien dans Détail de la connexion/Réseaux virtuels, si c'est là qu'il faut chercher, pour ma VM Win10.
Du coup, je viens de créer une VM Leap, et c'est idem.
Peut-être ai-je raté quelque chose lors l'install de qemu ?

Si çà peut aider, je viens de faire un qemu-host-validate (qui me trouve une erreur) :
virt-host-validate
  QEMU: Checking for hardware virtualization                                 : PASS
  QEMU: Checking if device /dev/kvm exists                                   : PASS
  QEMU: Checking if device /dev/kvm is accessible                            : PASS
  QEMU: Checking if device /dev/vhost-net exists                             : PASS
  QEMU: Checking if device /dev/net/tun exists                               : PASS
  QEMU: Checking for cgroup 'cpu' controller support                         : PASS
  QEMU: Checking for cgroup 'cpuacct' controller support                     : PASS
  QEMU: Checking for cgroup 'cpuset' controller support                      : PASS
  QEMU: Checking for cgroup 'memory' controller support                      : PASS
  QEMU: Checking for cgroup 'devices' controller support                     : PASS
  QEMU: Checking for cgroup 'blkio' controller support                       : PASS
  QEMU: Checking for device assignment IOMMU support                         : PASS
  QEMU: Checking if IOMMU is enabled by kernel                               : WARN (IOMMU appears to be disabled in kernel. Add intel_iommu=on to kernel cmdline arguments)
   LXC: Checking for Linux >= 2.6.26                                         : PASS
   LXC: Checking for namespace ipc                                           : PASS
   LXC: Checking for namespace mnt                                           : PASS
   LXC: Checking for namespace pid                                           : PASS
   LXC: Checking for namespace uts                                           : PASS
   LXC: Checking for namespace net                                           : PASS
   LXC: Checking for namespace user                                          : PASS
   LXC: Checking for cgroup 'cpu' controller support                         : PASS
   LXC: Checking for cgroup 'cpuacct' controller support                     : PASS
   LXC: Checking for cgroup 'cpuset' controller support                      : PASS
   LXC: Checking for cgroup 'memory' controller support                      : PASS
   LXC: Checking for cgroup 'devices' controller support                     : PASS
   LXC: Checking for cgroup 'freezer' controller support                     : PASS
   LXC: Checking for cgroup 'blkio' controller support                       : PASS
   LXC: Checking if device /sys/fs/fuse/connections exists                   : PASS

Re : QEMU/KVM - Carte réseau - Comment faire un pont

Répondre #3
Bon ! Je ne sais par quel miracle mais ce matin çà fonctionne.
Ma VM a accès à internet (mon OS s'est mis à jour et je peux naviguer). Je ne vois toujours pas de pont.

L'interface réseau est en mode utilisateur (modèle e1000e). Adresse IP inconnue !

Dans ma VM, si je fais un ipconfig /all en console, j'obtiens l'adresse IP : 10.0.0.15, ce qui ne correspond pas à ma plage réseau.

Je viens de récupérer le guide Virtualization d'openSUSE Leap 15.1. Je vais me plonger dedans et voir comment me dépatouiller de tout çà.

Re : QEMU/KVM - Carte réseau - Comment faire un pont

Répondre #4
Avec l'aide du guide, je viens d'essayer de créer un réseau virtuel routé.
Tout d'abord, les captures présentées dans le guide ne correspondent pas à ce que j'ai à l'écran.

Ensuite, j'ai l'erreur suivante :
Erreur lors de la création du réseau virtuel : error creating bridge interface virbr0: Operation not permitted

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 75, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/createnet.py", line 472, in _async_net_create
    netobj.create()
  File "/usr/lib64/python3.7/site-packages/libvirt.py", line 3173, in create
    if ret == -1: raise libvirtError ('virNetworkCreate() failed', net=self)
libvirt.libvirtError: error creating bridge interface virbr0: Operation not permitted
L'utilisateur est pourtant membre de libvirt et kvm.
Si çà vous inspire...

---
J'ai créé un pont via Network-Manager en mode  console :
nmcli con add type bridge con-name br0 ifname br0 autoconnect yes

Puis j'ai monté l'interface pont :
nmcli con up br0
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)

Et j'ai vérifié qu'il était bien présent au moyen des bridge-utils :
brctl show  br0
bridge name     bridge id               STP enabled     interfaces
br0             8000.0a37a035e398       yes

Idem avec nmcli :
nmcli con show
NAME                 UUID                                  TYPE      DEVICE
br0                  c30b13c2-320a-422a-be7e-ef6be395eb23  bridge    br0   
Connexion filaire 1  95f64120-70e6-3640-a4c8-4b41ceac3e09  ethernet  enp6s0

Ca ne fonctionne toujours pas. J'ai regardé mon adressage IP de mes interfaces et j'ai, à priori, un souci avec le pont :
ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether bc:ae:c5:e3:5c:2f brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.24/24 brd 192.168.1.255 scope global dynamic noprefixroute enp6s0
       valid_lft 73279sec preferred_lft 73279sec
    inet6 2a01:cb05:8077:4600:7534:a8d6:a7f4:2d5/64 scope global temporary dynamic
       valid_lft 1766sec preferred_lft 566sec
    inet6 2a01:cb05:8077:4600:5dce:497f:c0e3:272d/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 1766sec preferred_lft 566sec
4: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 0a:37:a0:35:e3:98 brd ff:ff:ff:ff:ff:ff

Re : QEMU/KVM - Carte réseau - Comment faire un pont

Répondre #5
Bonjour à tous !
Voici la (ou une) solution :
Il faut créer un nouveau fichier pour l'utilisateur et lui donner accès à toutes les interfaces en suivant les étapes ci-après :
1 -
echo "allow all" | sudo tee /etc/qemu/${USER}.conf
allow all
2 -
echo "include /etc/qemu/${USER}.conf" | sudo tee --append /etc/qemu/bridge.conf
include /etc/qemu/mirliton.conf
3 -
sudo chown ${USER}:root /etc/qemu/${USER}.conf
4 -
sudo chmod 640 /etc/qemu/${USER}.conf

Le pont est désormais fonctionnel.

Edition du fichier /etc/qemu/bridge.conf
cat /etc/qemu/bridge.conf
# Access control file for qemu bridge helper
# Syntax consists of:
#   # comment (ignored)
#   allow all
#   allow <bridge_name>
#   deny all
#   deny <bridge_name>
#   include /path/to/additional/ACL/file
# Users are blacklisted by default and 'deny' takes precedence over 'allow'.
# Including additional ACL files allows file access permissions to be used as
# a component of the policy to allow access or deny access to specific bridges.
include /etc/qemu/root.conf
include /etc/qemu/mirliton.conf

 

Re : QEMU/KVM - Carte réseau - Comment faire un pont

Répondre #6
Je te remercie pour ce sujet Mirliton,

J'aimerais me passer de Virtualbox à terme.

Je n'ai jamais essayé QUEMU/KVM, vois-tu une réelle différence au niveau hardware? Est-ce plus fluide?

Vigen.

Re : QEMU/KVM - Carte réseau - Comment faire un pont

Répondre #7
Bonjour,
Oui, c'est beaucoup plus fluide. Je n'ai plus les freezes de Virtualbox.
Un peu plus compliqué à mettre en oeuvre certes, mais on s'y retrouve au final.
La seule chose qui me manque c'est la gestion graphique avancée comme avec Vmware. Notamment augmenter la mémoire video. Mais je n'ai pas trop chercher...


Re : QEMU/KVM - Carte réseau - Comment faire un pont

Répondre #8
Merci pour ton retour super précis en tous cas ;)

Re : QEMU/KVM - Carte réseau - Comment faire un pont

Répondre #9
Je te remercie pour ce sujet Mirliton,

J'aimerais me passer de Virtualbox à terme.

Je n'ai jamais essayé QUEMU/KVM, vois-tu une réelle différence au niveau hardware? Est-ce plus fluide?

Vigen.
Quand il s'agit d'essayer une distro ici et là, je ne m'ennuie pas, je passe par Gnome Boxes.
Pour le boulot et héberger des VMs, KVM est très robuste, c'est très stable

Re : QEMU/KVM - Carte réseau - Comment faire un pont

Répondre #10
Bonsoir Docteur !! :D

Merci pour le retour.

Il y'a certaines VM qu'il faut que je garde ...Et le top est de pouvoir le faire quelque soit la distribution.

 ;)