QEMU unterstützt ICMP auf dem SLIRP-Backend. Es ist notwendig, so genannte Ping-Sockets (PF_INET, SOCK_DGRAM, PROT_ICMP) für Benutzer im Kernel zuzulassen.
Es ist einfach
sysctl -w net.ipv4.ping_group_range='0 2147483647'
Siehe auch http://lwn.net/Articles/422330/
Laut QEMU-Wiki unterstützt QEMU kein ICMP auf dem SLIRP-Backend.
Benutzernetzwerk (SLIRP)
Dies ist das standardmäßige Netzwerk-Backend und im Allgemeinen am einfachsten zu verwenden. Es erfordert keine Root-/Administratorrechte. Es hat die folgenden Einschränkungen:
- Es gibt viel Overhead, daher ist die Leistung schlecht
- ICMP-Verkehr funktioniert nicht (also können Sie Ping nicht innerhalb eines Gastes verwenden)
- der Gast ist nicht direkt vom Host oder dem externen Netzwerk aus erreichbar
Für ICMP-Arbeiten müssen Sie TAP, VDE oder Socket verwenden.
Weitere Informationen:QEMU Wiki - Networking und ua der QEMU-Networking-Bereich von Wikibooks
Empfohlen auch:Leitfaden für Fortgeschrittene zum Umgang mit VLANs
Der einfachste und effektivste Weg, den ich für mich herausgefunden habe, war dieser.
Zusammenfassend auf dem Host:
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.
und für den Gast führen Sie es einfach mit:
auskvm -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb
oder
qemu -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb
Sie müssen nur einen tap
konfigurieren Gerät, das Ihrem Benutzer gehört, aktivieren Sie arp proxying
und konfigurieren Sie eine route
zwischen Ihrem Gastgeber und Gast.
Der Autor (und ich) haben das verwendet, um das Problem der Überbrückung zu einem wlan0
zu lösen Gerät, das vom Linux-Kernel nicht unterstützt wird. Aber es funktioniert auch mit einer kabelgebundenen Verbindung. Im arp
Konfiguration, ändern Sie einfach wlan0
bis eth0
.
Die Gast-IP-Adresse muss von Ihnen als DHCP
festgelegt werden funktioniert nicht.
Und Sie können Ihren Host bereits anpingen.