GNU/Linux >> Tutoriels Linux >  >> Linux

QEMU comment pinger le réseau hôte ?

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.


Linux
  1. Windows - Dossier partagé entre l'invité Windows Qemu et l'hôte Linux ?

  2. Comment accéder à l'espace de noms réseau du conteneur Docker à partir de l'hôte

  3. Comment puis-je envoyer un ping à d'autres conteneurs dans un réseau Docker via leur nom d'hôte ?

  4. Comment pinger derrière un proxy ?

  5. Comment faire un ping sous Linux jusqu'à ce que l'hôte soit connu?

Guide pratique :Administration du réseau FreeBSD

Comment redémarrer le réseau sur Ubuntu 22.04

Comment configurer les ajouts d'invités et le réseau de VirtualBox

Comment mettre en réseau Ubuntu et Windows 10 ?

Comment émuler le Raspberry Pi 2 sur QEMU ?

Comment augmenter la résolution de l'écran visualisé sur QEMU / KVM ?