Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

qemu et réseau

7 réponses
Avatar
Rémi
Salut,

Comment configure t'on linux pour que qemu puisse fonctionner
avec le réseau ?.J'ai un message (warning: could not open /dev/net/tun: no
virtual network emulation).

Merci.

7 réponses

Avatar
no_spam
On Sat, 03 Jul 2004 18:35:08 +0200, Rémi wrote:

Salut,


Bonsoir,

Comment configure t'on linux pour que qemu puisse fonctionner
avec le réseau ?.J'ai un message (warning: could not open /dev/net/tun: no
virtual network emulation).


modprobe tun pour utiliser l'interface tun.
Une fois que qemu est lancé, il faut alors configurer tun0:
ifconfig tun0 ...
et tu configure eth0 dans qemu de même.
Si tu veux accéder au net, il faut également activer l'ip-forwarding
sur la machine hôte:
echo 1 > /proc/sys/net/ipv4/ip_forward
et
iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
pour activer le masquerading.

Tu peux utiliser aussi le réseau en mode user, avec slirp,
mais je ne peux pas t'aider pour celà, je ne le fais jamais.

Avatar
Emmanuel Florac
Le Sat, 03 Jul 2004 19:41:39 +0200, no_spam a écrit :


modprobe tun pour utiliser l'interface tun.
Une fois que qemu est lancé, il faut alors configurer tun0:
ifconfig tun0 ...
et tu configure eth0 dans qemu de même.


Heu, ça ne marche pas chez moi :

emmanuel[~]$ sudo modprobe tun
emmanuel[~]$ sudo ifconfig tun0 192.128.1.1
SIOCSIFADDR: Aucun périphérique de ce type
tun0: unknown interface: Aucun périphérique de ce type


--
Il y a toujours un bug de plus.
Loi de Lubarsky.

Avatar
Ronald
Le Sat, 03 Jul 2004 20:15:06 +0200, Emmanuel Florac a écrit :

Le Sat, 03 Jul 2004 19:41:39 +0200, no_spam a écrit :


modprobe tun pour utiliser l'interface tun. Une fois que qemu est
lancé, il faut alors configurer tun0: ifconfig tun0 ...
et tu configure eth0 dans qemu de même.


Heu, ça ne marche pas chez moi :

emmanuel[~]$ sudo modprobe tun
emmanuel[~]$ sudo ifconfig tun0 192.128.1.1 SIOCSIFADDR: Aucun
périphérique de ce type tun0: unknown interface: Aucun périphérique de
ce type


c'est qemu qui se charge de lancer le script avec l'interface en argument.
les interfaces tun sont créée par l'application, voir
tuntap.txt dans les sources de linux.
j'ai qqchose comme ça dans mon qemu-ifup si ça peut aider qqun:
sudo /sbin/ifconfig $1 192.168.1.8;
sudo /sbin/route add 192.168.1.1 gw 192.168.1.7;


Avatar
no_spam
On Sat, 03 Jul 2004 20:32:36 +0200, Ronald wrote:

Le Sat, 03 Jul 2004 20:15:06 +0200, Emmanuel Florac a écrit :

Le Sat, 03 Jul 2004 19:41:39 +0200, no_spam a écrit :


modprobe tun pour utiliser l'interface tun. Une fois que qemu est
lancé, il faut alors configurer tun0: ifconfig tun0 ...
et tu configure eth0 dans qemu de même.


Heu, ça ne marche pas chez moi :

emmanuel[~]$ sudo modprobe tun
emmanuel[~]$ sudo ifconfig tun0 192.128.1.1 SIOCSIFADDR: Aucun
périphérique de ce type tun0: unknown interface: Aucun périphérique de
ce type


c'est qemu qui se charge de lancer le script avec l'interface en argument.
les interfaces tun sont créée par l'application, voir
tuntap.txt dans les sources de linux.
j'ai qqchose comme ça dans mon qemu-ifup si ça peut aider qqun:
sudo /sbin/ifconfig $1 192.168.1.8;
sudo /sbin/route add 192.168.1.1 gw 192.168.1.7;


Comme je ne veux pas de sudo sur mes machines (autant mettre l'utilisateur
dans le groupe root...), je fais exactement ce que j'ai dit:
je lance qemu
_puis_
su -c "ifconfig tun0 ... "
(en réalité, j'ai une session root toujours présente dans un xterm...)



Avatar
Rémi
Rebonjour,

Merci à tout vos conseils, mais je dois être une burne,
parce que je n'y arrive toujours pas :

Sous root je tapes :
#modprobe tun
#ll /dev/net/tun
crw-rw-rw- 1 root users 10, 200 jui 4 2004 /dev/net/tun
#cat /etc/qemu-ifup
#!/bin/sh
sudo /sbin/ifconfig $1 192.168.1.8
sudo /sbin/route add 192.168.1.1 gw 192.168.1.7

Sous mon compte je tapes :
[~]$qemu -hda win2000.img -boot c -m 64
warning: could not open /dev/net/tun: no virtual network emulation
Serial port redirected to /dev/pts/7
QEMU 0.5.5 monitor - type 'help' for more information

Donc toujours une erreur de réseau au démarrage de qemu

Et si je tapes :
[~]#ifconfig /dev/net/tun 192.168.1.8
SIOCSIFADDR: No such device
/dev/net/tun: interface inconnue: No such device

Même message avec /dev/net/tun0.

Aurais je oublié quelque chose ?. (je suis sous mandrake 10 avec
un kernel 2.6.7rc2).

Merci pour vos remarques.
Avatar
no_spam
On Sat, 03 Jul 2004 23:11:45 +0200, Rémi wrote:

Rebonjour,

Merci à tout vos conseils, mais je dois être une burne,
parce que je n'y arrive toujours pas :

Sous root je tapes :
#modprobe tun
#ll /dev/net/tun
crw-rw-rw- 1 root users 10, 200 jui 4 2004 /dev/net/tun
#cat /etc/qemu-ifup
#!/bin/sh
sudo /sbin/ifconfig $1 192.168.1.8
sudo /sbin/route add 192.168.1.1 gw 192.168.1.7

Sous mon compte je tapes :
[~]$qemu -hda win2000.img -boot c -m 64
warning: could not open /dev/net/tun: no virtual network emulation
Serial port redirected to /dev/pts/7
QEMU 0.5.5 monitor - type 'help' for more information


C'est sans doute un problème de droits quelque part.
strace peut être, pour connaitre l'erreur renvoyée ?

Donc toujours une erreur de réseau au démarrage de qemu

Et si je tapes :
[~]#ifconfig /dev/net/tun 192.168.1.8
SIOCSIFADDR: No such device
/dev/net/tun: interface inconnue: No such device


Hum... Les interfaces réseaux ne marchent pas comme ça...
ifconfig tun0 192.168.1.8
serait plus approprié...

Avatar
Ronald
Le Sat, 03 Jul 2004 23:11:45 +0200, Rémi a écrit :


Sous root je tapes :
#modprobe tun
#ll /dev/net/tun
crw-rw-rw- 1 root users 10, 200 jui 4 2004 /dev/net/tun #cat
/etc/qemu-ifup
#!/bin/sh
sudo /sbin/ifconfig $1 192.168.1.8
sudo /sbin/route add 192.168.1.1 gw 192.168.1.7



Désolé, j'ai marqué n'importe quoi, ça m'apprendra à ne pas faire un
simple copier/coller.
#!/bin/bash
sudo /sbin/ifconfig $1 192.168.1.7;
sudo /sbin/route add 192.168.1.8 gw 192.168.1.7;

et j'explique (un peu) pour m'excucer, la première ligne adresse
l'interface passée en premier argument, tun0 en l'occurence, en
192.168.1.7.
la seconde rajoute une route vers la machine virtuelle son
adresse étant 192.168.1.8