J'ai du mal à faire en sorte que le processus ping reçoive la réponse, même si je peux clairement voir la réponse dans la sortie de tcpdump.
Je suis en train de courir :
- Mac OS X 10.11.4 El Capitan
- Interface de pont avec interface de connexion en tant que membre
- qemu exécute une instance VM de IncludeOS
Le pont est créé comme suit :
sudo ifconfig bridge5 create
sudo ifconfig bridge5 10.0.0.5 netmask 255.255.255.0 up
L'interface du robinet est un tuntap et est relié au pont comme suit :
sudo ifconfig bridge5 addm tap0
Je lance ma VM en utilisant qemu sans problème et voici ce que j'observe :
- La connexion à un service TCP exécuté sur la VM fonctionne sans problème. Je suis capable de charger une page web.
- Effectuer un arping fonctionne très bien.
-
Un normal
ping 10.0.0.42
me donneRequest timeout for icmp_seq
mais lorsque je vérifie la sortie de tcpdump, je vois ce qui suit :$ tcpdump -i bridge5 -vvv tcpdump: listening on bridge5, link-type EN10MB (Ethernet), capture size 262144 bytes 15:11:40.014240 IP (tos 0x0, ttl 64, id 47005, offset 0, flags [none], proto ICMP (1), length 84, bad cksum 0 (->aedd)!) 10.0.0.5 > 10.0.0.42: ICMP echo request, id 24337, seq 8, length 64 15:11:40.014808 IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto ICMP (1), length 118) 10.0.0.42 > 10.0.0.5: ICMP echo reply, id 24337, seq 8, length 98 (wrong icmp cksum af73 (->3b17)!)
La seule chose que je remarque avec cette sortie est que la somme de contrôle est mauvaise. Nous avons eu exactement la même solution fonctionnant sur Ubuntu pendant un long moment, et quand j'ai vérifié, il y avait également une erreur de checksum icmp sur les réponses.
Avez-vous une idée de ce qui pourrait empêcher les réponses de parvenir à l'application ping ?