QEMU prend en charge ICMP sur le backend SLIRP. Il est nécessaire d'autoriser ce qu'on appelle le socket ping (PF_INET, SOCK_DGRAM, PROT_ICMP) pour les utilisateurs du noyau.
C'est simple
sysctl -w net.ipv4.ping_group_range='0 2147483647'
Voir aussi http://lwn.net/Articles/422330/
D'après le wiki QEMU, QEMU ne prend pas en charge ICMP sur le backend SLIRP.
Réseau d'utilisateurs (SLIRP)
Il s'agit du backend réseau par défaut et il est généralement le plus facile à utiliser. Il ne nécessite pas de privilèges root / administrateur. Il a les limitations suivantes :
- il y a beaucoup de frais généraux, donc les performances sont médiocres
- Le trafic ICMP ne fonctionne pas (vous ne pouvez donc pas utiliser le ping dans un invité)
- l'invité n'est pas directement accessible depuis l'hôte ou le réseau externe
Pour le travail ICMP, vous devrez utiliser TAP, VDE ou Socket.
Plus d'informations :QEMU Wiki - Networking et alo la section Wikibooks QEMU networking
Recommandé également :guide avancé pour gérer les VLAN
Le moyen le plus simple et le plus efficace que j'ai découvert pour moi était celui-ci.
En résumé, sur l'hébergeur :
tunctl -u <username>
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp
ip link set tap0 up
route add -host 192.168.0.20 dev tap0 <-- to be changed by you.
et pour l'invité, exécutez-le simplement avec :
kvm -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb
ou
qemu -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb
Il vous suffit de configurer un tap
appareil appartenant à votre utilisateur, activez arp proxying
et configurer un route
entre votre hôte et votre invité.
L'auteur (et moi-même) l'avons utilisé pour résoudre le problème de la transition vers un wlan0
périphérique, qui n'est pas pris en charge par le noyau Linux. Mais cela fonctionne aussi bien avec une connexion filaire. Dans le arp
configuration, changez simplement wlan0
à eth0
.
L'adresse IP de l'invité doit être définie par vous, sous la forme DHCP
ne fonctionne pas.
Et vous pouvez déjà envoyer un ping à votre hôte.