IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Virtualisation Discussion :

Comment avoir la même configuration reseau avec QEMU que VirtualBox


Sujet :

Virtualisation

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut Comment avoir la même configuration reseau avec QEMU que VirtualBox
    Bonjour,

    J'ai 2 VM avec debian9.4 : une fonctionnant à travers VirtualBox l'autre fonctionnant avec QEMU. Avant de lancer une machine virtuelle à la fois, j'ai configuré un accès par pont comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ip tuntap add dev tap0 mode tap group 1000
    ip link set dev tap0 up promisc on
    ip addr add 0.0.0.0 dev tap0
    
    #Creating bridge br0 
    ip link add br0 type bridge
    ip link set br0 up
    ip link set tap0 master br0
    echo "0" | tee --append /sys/class/net/br0/bridge/stp_state
    ip addr add 192.168.2.1/24 dev br0
    
    sysctl net.ipv4.conf.tap0.proxy_arp=1
    sysctl net.ipv4.conf.enp6s0.proxy_arp=1
    sysctl net.ipv4.ip_forward=1
    
    iptables -t nat -A POSTROUTING -o enp6s0 -j MASQUERADE
    iptables -A FORWARD -i br0 -o enp6s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -i enp6s0 -o br0 -j ACCEPT
    Dans le panneaux de configuration du réseau de VirtualBox, j'ai pris "tap0" comme interface d’accès par pont. La machine virtuelle de ce logiciel peut se connecter sur le WEB, faire des mises à jour, recevoir des connexion SSH, et installer des paquets npm tel que "npm install color" sans problème

    Mon problème est dans QEMU dont je lance la machine virtuelle comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qemu-system-x86_64 -hda Debian9_amd64_stretch_fr.qcow2 -m 1024 -device e1000,netdev=network0,mac=52:55:00:d1:55:01 -netdev tap,id=network0,ifname=tap0,script=no,downscript=no
    Avec cette machine virtuelle je peux aller sur le WEB, faire des mises à jour, recevoir des connexion SSH, mais je ne peux pas installer des paquets npm ou faire des mise à jour de ce dernier. J'ai le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    npm ERR! Invalid argument: family must be 4 or 6
    Cela fait maintenant pas mal de temps que je suis fasse à ce problème. Je me suis rendu compte que c’était bien un problème réseau et non pas de celui de npm car comparaison des 2 VM avec des différents logiciel de virtualisation. Qu'elle est donc la bonne configuration de l'interface réseau de QEMU pour un accès par pont ?

    Merci de votre aide.

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 432
    Points : 43 059
    Points
    43 059
    Par défaut
    Je penche plus pour un problème de version de npm qu'un problème de virtualisation. Mais je ne connais pas npm.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut
    Merci chrtophe,

    Même version de npm sur les 2 machines en "fresh install". Qemu et VirtualBox sont les seuls différences. En fait je pense qu'il faut modifier la déclaration du réseau dans QEMU. Je ne vois pas comment

    J'ai essayé ceci : (voir le post d'origine)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -device e1000,netdev=network0,mac=52:55:00:d1:55:01 -netdev tap,id=network0,ifname=tap0
    
    -device e1000,netdev=network0,mac=52:55:00:d1:55:01 -netdev tap,id=network0,ifname=tap0,script=no,downscript=no  
    
    -netdev user,id=user.0,hostfwd=tcp::3213-22,hostfwd=tcp::3214-:22,net=10.0.2.0/24
    
    -device e1000,netdev=network0,mac=52:55:00:d1:55:01 -netdev tap,id=network0,ifname=tap0,hostfwd=tcp::3213-22,hostfwd=tcp::3214-:22,net=10.0.2.0/24,script=no,downscript=no
    Sans succès

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 432
    Points : 43 059
    Points
    43 059
    Par défaut
    La VM Qemu accède t'elle à Internet ?
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut
    Avec la la VM sur QEMU je peux aller sur le WEB, faire des mises à jour, recevoir des connexion SSH depuis ma station de travail.
    Exemple de récupération de la liste des paquets Debian :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    :~# apt update
    Ign:1 http://ftp.fr.debian.org/debian stretch InRelease
    Réception de:2 http://security.debian.org/debian-security stretch/updates InRelease [94,3 kB]
    Réception de:3 http://ftp.fr.debian.org/debian stretch-updates InRelease [91,0 kB]
    Atteint:4 http://ftp.fr.debian.org/debian stretch Release                      
    Atteint:5 https://deb.nodesource.com/node_8.x stretch InRelease              
    Réception de:6 http://security.debian.org/debian-security stretch/updates/main Sources [134 kB]                                                                            
    Réception de:7 http://security.debian.org/debian-security stretch/updates/main amd64 Packages [371 kB]                                                                     
    Réception de:8 http://security.debian.org/debian-security stretch/updates/main Translation-en [164 kB]                                                                     
    855 ko réceptionnés en 20s (42,1 ko/s)                                                                                                                                     
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances       
    Lecture des informations d'état... Fait
    4 packages can be upgraded. Run 'apt list --upgradable' to see them.
    Seul les paquets npm ont un soucis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    :~# npm install color
    npm ERR! Invalid argument: family must be 4 or 6
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /root/.npm/_logs/2018-04-19T07_11_43_017Z-debug.log
    
    :~# getent hosts registry.npmjs.org
    151.101.0.162   a.sni.fastly.net registry.npmjs.org
    151.101.64.162  a.sni.fastly.net registry.npmjs.org
    151.101.128.162 a.sni.fastly.net registry.npmjs.org
    151.101.192.162 a.sni.fastly.net registry.npmjs.org
    Tout se passe très bien avec VirtualBox avec le même accès par pont. Vraiment très bizarre.

  6. #6
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 073
    Points
    28 073
    Par défaut
    Que dit le log ?

    Peut-être que tu ne télécharge pas tout à fait le même paquet, et que le second paquet est corrompu sur le dépôt. Tu as la possibilité d'essayer un autre dépôt, ou d'utiliser le paquet qui a été téléchargé sur l'autre vm ?

    Ceci dit, je dis ça, mais je connais pas grand chose à linux
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut
    Merci sevyc64,

    En fait j'ai le même comportement sur mon portable et sur ma station de travail. Je suis assez convaincu que je n'ai pas la bonne configuration réseau dans ma déclaration de QEMU. Je ne vais pas lister tous les essai des option device et netdev que j'ai essayé. Du plus j'ai déjà donné un exemple.
    Voici le snapshot de ma configuration dans VirtualBox :



    Même en mode Promiscuité Refuser le comportement de npm est bon.

    Ai je peut être mal compris ce que est le Mode Promiscuité

    Notez que j'ai refais une installe complète du système d'exploitation Debian avec QEMU : pas d'issue.

  8. #8
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Citation Envoyé par dubis Voir le message
    Avec la VM sur QEMU je peux aller sur le WEB, faire des mises à jour, recevoir des connexion SSH depuis ma station de travail.
    Donc ce n'est pas un problème de réseau.

    Citation Envoyé par dubis Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /root/.npm/_logs/2018-04-19T07_11_43_017Z-debug.log
    Tout se passe très bien avec VirtualBox avec le même accès par pont. Vraiment très bizarre.
    Pas du tout : on est tous là à attendre ce complete log, même la machine te dit d'aller le lire.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut
    Voilà mais pas grand chose de pertinent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    :~# npm install npm
    npm ERR! Invalid argument: family must be 4 or 6
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /root/.npm/_logs/2018-04-23T06_23_53_343Z-debug.log
    
    :~# more /root/.npm/_logs/2018-04-23T06_23_53_343Z-debug.log
    0 info it worked if it ends with ok
    1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'install', 'npm' ]
    2 info using npm@5.6.0
    3 info using node@v8.11.1
    4 verbose config Skipping project config: /root/.npmrc. (matches userconfig)
    5 verbose npm-session 0d1bdf6a1d99976b
    6 silly install loadCurrentTree
    7 silly install readLocalPackageData
    8 silly fetchPackageMetaData error for npm@latest Invalid argument: family must be 4 or 6
    9 verbose stack TypeError: Invalid argument: family must be 4 or 6
    9 verbose stack     at lookup (dns.js:154:11)
    9 verbose stack     at net.js:1103:5
    9 verbose stack     at defaultTriggerAsyncIdScope (internal/async_hooks.js:283:19)
    9 verbose stack     at lookupAndConnect (net.js:1102:3)
    9 verbose stack     at TLSSocket.Socket.connect (net.js:1037:5)
    9 verbose stack     at Object.exports.connect (_tls_wrap.js:1077:12)
    9 verbose stack     at HttpsAgent.createConnection (https.js:111:22)
    9 verbose stack     at HttpsAgent.createSocket (/usr/lib/node_modules/npm/node_modules/pacote/node_modules/make-fe
    tch-happen/node_modules/agentkeepalive/lib/_http_agent.js:271:26)
    9 verbose stack     at HttpsAgent.createSocket (/usr/lib/node_modules/npm/node_modules/pacote/node_modules/make-fe
    tch-happen/node_modules/agentkeepalive/lib/agent.js:77:11)
    9 verbose stack     at HttpsAgent.addRequest (/usr/lib/node_modules/npm/node_modules/pacote/node_modules/make-fetc
    h-happen/node_modules/agentkeepalive/lib/_http_agent.js:240:10)
    9 verbose stack     at new ClientRequest (_http_client.js:258:16)
    9 verbose stack     at Object.request (http.js:38:10)
    9 verbose stack     at request (https.js:239:15)
    9 verbose stack     at fetch.Promise (/usr/lib/node_modules/npm/node_modules/pacote/node_modules/make-fetch-happen
    /node_modules/node-fetch-npm/src/index.js:54:17)
    9 verbose stack     at new Promise (<anonymous>)
    9 verbose stack     at fetch (/usr/lib/node_modules/npm/node_modules/pacote/node_modules/make-fetch-happen/node_mo
    dules/node-fetch-npm/src/index.js:41:10)
    10 verbose cwd /root
    11 verbose Linux 4.9.0-6-amd64
    12 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "npm"
    13 verbose node v8.11.1
    14 verbose npm  v5.6.0
    15 error Invalid argument: family must be 4 or 6
    16 verbose exit [ 1, true ]
    Merci

  10. #10
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Merci pour le retour.
    Citation Envoyé par dubis Voir le message
    Voilà mais pas grand chose de pertinent
    En effet.

    Ne connaissant absolument pas ton npm, j'ai quand même un peu googlé (je suis curieux), mais ne pouvant rien tester, je me permets juste de te passer ce lien en te suggérant de faire une recherche dedans sur le mot "family".

    Bonne chance,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Merci pour le retour.

    En effet.

    Ne connaissant absolument pas ton npm, j'ai quand même un peu googlé (je suis curieux), mais ne pouvant rien tester, je me permets juste de te passer ce lien en te suggérant de faire une recherche dedans sur le mot "family".

    Bonne chance,
    Merci Jipété, la curiosité dans ces cas c'est une qualité.
    Cependant, pourquoi je n'ai pas du tout d'erreur avec VirtualBox quand j'utilise npm (relire mes premiers posts). Ce dit j'ai contacté le support nodejs.org eux aussi orientent les investigations au niveau DNS. Pas du tout convaincu que cela donne quelque chose.

  12. #12
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 073
    Points
    28 073
    Par défaut
    il faudrait peut-être analyser les scripts appelés, qui sont surement propre à l'os et au matériel.

    Avec ton histoire de dns, et en regardant le message d'erreur, on peut penser qu'un script lance une requête DNS pour obtenir l'adresse ip d'un serveur. Dans cette requête, il utiliserait, à priori, un champ option qui contient une valeur family à laquelle il n'aurait pas donner la valeur 4 (IPv4) ou 6 (IPv6), mais une tout autre valeur. Or seules ces 2 valeurs sont autorisées.

    Après je peux pas en dire plus.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  13. #13
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Petite analyse rapide du log (j'ai enlevé quelques lignes pour aller à l'essentiel) :
    Citation Envoyé par dubis Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    :~# npm install npm
    npm ERR! Invalid argument: family must be 4 or 6
    Donc on dirait qu'il manque l'argument "family" ou sa valeur.

    Citation Envoyé par dubis Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'install', 'npm' ]
    Ceci confirme ce que j'ai écrit au-dessus, sauf qu'on ne sait pas si l'info absente doit venir d'un fichier de conf ou de la ligne de commande.

    Citation Envoyé par dubis Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    4 verbose config Skipping project config: /root/.npmrc. (matches userconfig)
    À creuser : il y aurait un fichier de config "userconfig" et donc celui dans /root est skippé -- faudrait le trouver et comparer leurs contenus.

    Citation Envoyé par dubis Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    8 silly fetchPackageMetaData error for npm@latest Invalid argument: family must be 4 or 6
    9 verbose stack TypeError: Invalid argument: family must be 4 or 6
    Ceci confirme ce que j'écris juste avant, et tout en haut.

    Citation Envoyé par dubis Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    12 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "npm"
    13 verbose node v8.11.1
    14 verbose npm  v5.6.0
    15 error Invalid argument: family must be 4 or 6
    Et ça aussi.

    Voili voilou, va falloir sortir la loupe et jouer à Sherlock Holmes,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

Discussions similaires

  1. Réponses: 29
    Dernier message: 25/03/2015, 07h29
  2. Réponses: 2
    Dernier message: 16/12/2009, 14h31
  3. Configuration réseau avec dhcpd
    Par lia dans le forum Réseau
    Réponses: 6
    Dernier message: 13/07/2006, 10h18
  4. [Configuration] pb avec mon serveur sur intranet
    Par dehbi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 30/07/2004, 16h39
  5. Problème de réseau avec Mandrake
    Par Harry dans le forum Réseau
    Réponses: 6
    Dernier message: 20/07/2004, 16h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo