J'essaie de configurer un pont entre ma connexion Wi-Fi et un émulateur ( QEMU ). J'ai besoin d'une machine virtuelle pour être sur le même réseau local que l'hôte, avec sa propre adresse IP.
QEMU nécessite l'utilisation d'un TAP (périphérique réseau virtuel). J'ai donc installé tuntaposx , je l'ai installé et je peux ouvrir QEMU à l'aide d'un TAP:
qemu-system-arm -kernel zImage.integrator -initrd arm_root.img -m 256 -net nic -net tap,ifname=tap1 -nographic -append "console=ttyAMA0"
J'ai un script qui configure le pont une fois que QEMU a ouvert l'interface TAP:
sysctl -w net.link.ether.inet.proxyall=1
sysctl -w net.inet.ip.forwarding=1
sysctl -w net.inet.ip.fw.enable=1
ifconfig bridge0 create
ifconfig bridge0 addm en1
ifconfig tap1 0.0.0.0 up
ifconfig bridge0 addm tap1
ifconfig bridge0 up
Si je définis manuellement une adresse IP sur la machine virtuelle, je peux effectuer une commande ping de la machine virtuelle vers l'hôte, mais pas de l'hôte vers la machine virtuelle. De plus, je ne peux pas accéder au reste du réseau à partir de la machine virtuelle - y compris le fait de ne pas pouvoir définir une adresse IP sur DHCP.
Des idées?
Réponses:
Vous oubliez 2 étapes importantes: exécuter le démon natd et configurer le pare-feu pour autoriser ce trafic, à savoir:
natd -interface en0 ipfw ajoute le détournement de natd ip de n'importe quel via n °
en0 est mon interface wifi (air macbook) et cela fonctionne comme un charme. La solution openvpn proposée est ouvertement compliquée.
Vous pouvez également exécuter natd de manière plus sophistiquée (ex: # fancy: natd -alias_address 10.0.0.2 -interface en0 -use_sockets -same_ports -unregistered_only -dynamic -clamp_mss) si vous voulez être très spécifique, mais cela fonctionnera.
J'ai détaillé le processus complet sur http://en.blog.guylhem.net/post/88201449689/running-qemu-with-tap0-and-nat-under-osx-10-9-maverick
la source