QEMU podporuje ICMP na backendu SLIRP. Pro uživatele v jádře je nutné povolit tzv. ping socket (PF_INET, SOCK_DGRAM, PROT_ICMP).
Je to jednoduché
sysctl -w net.ipv4.ping_group_range='0 2147483647'
Viz také http://lwn.net/Articles/422330/
Z wiki QEMU QEMU nepodporuje ICMP na backendu SLIRP.
User Networking (SLIRP)
Toto je výchozí síťový backend a obecně se nejsnáze používá. Nevyžaduje práva root / správce. Má následující omezení:
- je zde velká režie, takže výkon je slabý
- Provoz ICMP nefunguje (nemůžete tedy použít příkaz ping v rámci hosta)
- host není přímo přístupný z hostitele nebo externí sítě
Pro práci ICMP budete potřebovat TAP, VDE nebo Socket.
Více informací:QEMU Wiki - Networking a také sekce Wikibooks QEMU networking
Doporučeno také:pokročilý průvodce pro práci s VLAN
Nejjednodušší a efektivnější způsob, který jsem pro mě zjistil, byl tento.
Stručně řečeno, na hostiteli:
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.
a pro hosta to spusťte pomocí:
kvm -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb
nebo
qemu -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb
Musíte pouze nakonfigurovat tap
zařízení, které vlastní váš uživatel, povolte arp proxying
a nakonfigurujte route
mezi vaším hostitelem a hostem.
Autor (a já) to využil k řešení problému přemostění na wlan0
zařízení, které není podporováno linuxovým jádrem. Ale funguje stejně dobře s kabelovým připojením. V arp
konfiguraci, stačí změnit wlan0
na eth0
.
IP adresu hosta musíte nastavit vy, jako DHCP
nefunguje.
A už můžete pingnout svého hostitele.