GNU/Linux >> Linux Esercitazione >  >> Linux

QEMU come eseguire il ping della rete host?

QEMU supporta ICMP sul backend SLIRP. È necessario consentire il cosiddetto socket ping (PF_INET, SOCK_DGRAM, PROT_ICMP) per gli utenti nel kernel.

È semplice

sysctl -w net.ipv4.ping_group_range='0 2147483647'

Vedi anche http://lwn.net/Articles/422330/


Dal wiki QEMU, QEMU non supporta ICMP sul backend SLIRP.

Reti utenti (SLIRP)

Questo è il backend di rete predefinito e generalmente è il più facile da usare. Non richiede privilegi di root/amministratore. Presenta le seguenti limitazioni:

  • c'è molto sovraccarico quindi le prestazioni sono scarse
  • Il traffico ICMP non funziona (quindi non puoi utilizzare il ping all'interno di un ospite)
  • l'ospite non è direttamente accessibile dall'host o dalla rete esterna

Per il lavoro ICMP dovrai utilizzare TAP, VDE o Socket.

Ulteriori informazioni:QEMU Wiki - Networking e anche la sezione di networking QEMU di Wikibooks

Consigliato anche:guida avanzata per gestire le VLAN


Il modo più semplice ed efficace che ho scoperto per me è stato questo.

In sintesi, sull'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.

e per l'ospite, basta eseguirlo con:

kvm -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb

o

qemu -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb 

Devi solo configurare un tap dispositivo, di proprietà del tuo utente, abilita arp proxying e configura un route tra il tuo host e ospite.

L'autore (e io stesso) l'abbiamo usato per affrontare il problema del collegamento a un wlan0 dispositivo, che non è supportato dal kernel Linux. Ma funziona anche con una connessione cablata. Nel arp configurazione, basta cambiare wlan0 a eth0 .

L'indirizzo IP ospite deve essere impostato da te, come DHCP non funziona.

E puoi già eseguire il ping del tuo host.


Linux
  1. Windows:cartella condivisa tra Qemu Windows Guest e Linux Host?

  2. Come accedere allo spazio dei nomi di rete di Docker Container dall'host

  3. Come posso eseguire il ping di altri contenitori in una rete docker tramite il loro nome host?

  4. Come eseguire il ping dietro un proxy?

  5. rete:host di destinazione irraggiungibile

Procedura:Amministrazione di rete di FreeBSD

Come riavviare la rete su Ubuntu 22.04

Come configurare le aggiunte e la rete degli ospiti di VirtualBox

Come collegare in rete Ubuntu e Windows 10?

Come emulare il Raspberry Pi 2 su QEMU?

Come aumentare la risoluzione dello schermo visualizzato su QEMU / KVM?