• =?UTF-8?Q?Re=3a_KVM_et_r=c3=a9seau_en_mode_utilisateur?=

    From NoSpam@21:1/5 to All on Tue Feb 22 18:50:01 2022
    Bonjour

    Le 22/02/2022 à 18:25, BERTRAND Joël a écrit :
    Bonjour à tous,

    Je suis contraint pour un soft d'installer une VM Windows et je galère réellement.

    J'ai déjà fait cela par le passé même avec des VM biécran à grands
    coups de bridge réseau et de spicec, mais plus rien ne fonctionne.
    spicec n'existe plus dans debian et je n'ai aucune envie de lancer le
    tout en root pour avoir un accès réseau.
    Tu peux utiliser Remmina, fait VNC, SPICE et RDP

    J'ai donc essayé de configurer une VM dans Virtualbox. La VM s'installe, mais il m'est impossible d'utiliser les addons. Leur
    installation plante (problème de signature dans un pilote) et j'ai beau demander à Windows de ne pas vérifier, ça ne veut pas. Inutilisable.
    J'ai essayé W7 32 bits, 64 bits, POS 64 bits avec toujours la même
    erreur de signature (et j'ai des licences officielles, ce n'est pas du craqué).

    J'ai donc tenté l'installation sur qemu en mode utilisateur. J'arrive à
    installer la VM mais je n'ai aucun accès réseau (ou partiel, lorsque j'envoie des paquets icmp depuis la VM, ça passe, mais c'est à peu près tout).
    Quel est le mode réseau ? /etc/libvirt/qemu/networks Le NAT est le plus
    facile
    Présentement, j'ai une VM avec un Windows7pos en 64 bits. La carte réseau utilisée est une e1000 dans la configuration de la VM. Windows la voit et récupère une adresse par DHCP (10.0.2.15).
    Donc le réseau fonctionne
    Lorsque je fais un simple ping depuis la VM (qui tourne sur host) vers le dns, je n'obtiens que :

    legendre# tcpdump -p -i agr0 icmp
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on agr0, link-type EN10MB (Ethernet), capture size 262144 bytes 18:22:05.105125 IP dns > host: ICMP legendre.systella.fr udp port echo unreachable, length 36

    Tu masquerade bien en sortie de l'hôte ?

    iptables -t nat -p all -s 10.0.2.0/24 ! -d 10.0.2.0/24 -j MASQUERADE

    Et là, je ne sais plus où chercher. Dans ma mémoire, il me semblait que
    le réseau fonctionnait 'out of the box' et la lecture de la doc ne m'a
    pas beaucoup aidée.

    Une idée ?

    Bien cordialement,

    JKB

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From NoSpam@21:1/5 to All on Tue Feb 22 19:30:01 2022
    Le 22/02/2022 à 19:10, BERTRAND Joël a écrit :
    NoSpam a écrit :
    Bonjour

    Le 22/02/2022 à 18:25, BERTRAND Joël a écrit :
        Bonjour à tous,

        Je suis contraint pour un soft d'installer une VM Windows et je >>> galère
    réellement.

        J'ai déjà fait cela par le passé même avec des VM biécran à grands
    coups de bridge réseau et de spicec, mais plus rien ne fonctionne.
    spicec n'existe plus dans debian et je n'ai aucune envie de lancer le
    tout en root pour avoir un accès réseau.
    Tu peux utiliser Remmina, fait VNC, SPICE et RDP
    Là, j'ai virt-manager, mais ce n'est pas le problème qui m'intéresse aujourd'hui.

        J'ai donc essayé de configurer une VM dans Virtualbox. La VM
    s'installe, mais il m'est impossible d'utiliser les addons. Leur
    installation plante (problème de signature dans un pilote) et j'ai beau >>> demander à Windows de ne pas vérifier, ça ne veut pas. Inutilisable.
    J'ai essayé W7 32 bits, 64 bits, POS 64 bits avec toujours la même
    erreur de signature (et j'ai des licences officielles, ce n'est pas du
    craqué).

        J'ai donc tenté l'installation sur qemu en mode utilisateur.
    J'arrive à
    installer la VM mais je n'ai aucun accès réseau (ou partiel, lorsque
    j'envoie des paquets icmp depuis la VM, ça passe, mais c'est à peu près >>> tout).
    Quel est le mode réseau ? /etc/libvirt/qemu/networks Le NAT est le plus
    facile
    Root hilbert:[~] > cat /etc/libvirt/qemu/networks/default.xml
    <!--
    WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made
    using:
    virsh net-edit default
    or other application using the libvirt API.


    <network>
    <name>default</name>
    <uuid>53493377-2b48-4bfd-a316-57364d36820d</uuid>
    <forward mode='nat'/>
    <bridge name='virbr0' stp='on' delay='0'/>
    <mac address='52:54:00:c9:90:17'/>
    <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
    <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
    </ip>
    </network>
    Root hilbert:[~] >

        Présentement, j'ai une VM avec un Windows7pos en 64 bits. La carte
    réseau utilisée est une e1000 dans la configuration de la VM. Windows la >>> voit et récupère une adresse par DHCP (10.0.2.15).
    Donc le réseau fonctionne
        Lorsque je fais un simple ping depuis la VM (qui tourne sur host) >>> vers
    le dns, je n'obtiens que :

    legendre# tcpdump -p -i agr0 icmp
    tcpdump: verbose output suppressed, use -v or -vv for full protocol
    decode
    listening on agr0, link-type EN10MB (Ethernet), capture size 262144 bytes >>> 18:22:05.105125 IP dns > host: ICMP legendre.systella.fr udp port echo
    unreachable, length 36
    Tu masquerade bien en sortie de l'hôte ?

    iptables -t nat -p all -s 10.0.2.0/24 ! -d 10.0.2.0/24 -j MASQUERADE
    Non, je pensais que c'était fait automatiquement. Actuellement, j'ai dans la table nat :

    Root hilbert:[~] > iptables -L -t nat
    # Warning: iptables-legacy tables present, use iptables-legacy to see them Chain PREROUTING (policy ACCEPT)
    target prot opt source destination

    Chain INPUT (policy ACCEPT)
    target prot opt source destination

    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination

    Chain POSTROUTING (policy ACCEPT)
    target prot opt source destination
    LIBVIRT_PRT all -- anywhere anywhere

    Chain LIBVIRT_PRT (1 references)
    target prot opt source destination
    Root hilbert:[~] >

    Mais en rajoutant ceci :
    iptables -t nat -A POSTROUTING -s 10.0.2.0/24 ! -d 10.0.2.0/24 -j MASQUERADE

    ça ne fonctionne guère mieux.

    J'ai, sachant que 192.168.122.0/24 est le réseau NAT.

    Chain LIBVIRT_PRT (1 references)
     pkts bytes target     prot opt in     out source              
    destination
       32  3138 RETURN     all  --  *      * 192.168.122.0/24     224.0.0.0/24
        0     0 RETURN     all  --  *      * 192.168.122.0/24    
    255.255.255.255
      106  5512 MASQUERADE  tcp  --  *      * 192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
        2   400 MASQUERADE  udp  --  *      * 192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
        1    60 MASQUERADE  all  --  *      * 192.168.122.0/24    !192.168.122.0/24

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From NoSpam@21:1/5 to All on Tue Feb 22 22:00:01 2022
    Le 22/02/2022 à 21:46, BERTRAND Joël a écrit :
    Bon, trouvé, il y a un problème dans le paquet debian. Il faut rajouter
    le setuid bit à /usr/lib/qemu/qemu-bridge-helper, rendre les bridges permanents et ensuite, tout roule lorsqu'on utilise directement comme
    source du réseau de la VM le bridge.

    D'ou l'intérêt de gérer soi même les bridges et faire du routing. J'ai
    des Debian 9/10/11 avec KVM, jamais rencontré ce soucis.

    --
    Daniel

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)