J'ai attrapé un petit CD live FreeBSD et QEMU , et j'essaie de créer un pont entre ma connexion Wi-Fi Mac OS X 10.8 afin que le système d'exploitation invité soit disponible sur mon réseau local. Cependant, le système d'exploitation invité ne reçoit jamais de bail DHCP.
Cela fonctionne parfaitement avec VirtualBox en mode réseau "ponté", je sais donc que cela peut être fait. Je dois le faire fonctionner avec QEMU car VirtualBox ne prend pas en charge l'architecture dont j'ai besoin pour ce projet.
Voici ce que j'ai fait jusqu'à présent, basé sur des heures passées à googler:
A demandé à OS X de transférer soi-disant tous les paquets, même ARP: ( NOTE: cela ne semble pas fonctionner.)
$ sudo sysctl -w net.inet.ip.forwarding=1 $ sudo sysctl -w net.link.ether.inet.proxyall=1 $ sudo sysctl -w net.inet.ip.fw.enable=1
Créé un pont:
$ sudo ifconfig bridge0 create $ sudo ifconfig bridge0 addm en0 addm tap0 $ sudo ifconfig bridge0 up $ ifconfig bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether ac:de:xx:xx:xx:xx Configuration: priority 0 hellotime 0 fwddelay 0 maxage 0 ipfilter disabled flags 0x2 member: en0 flags=3<LEARNING,DISCOVER> port 4 priority 0 path cost 0 member: tap0 flags=3<LEARNING,DISCOVER> port 8 priority 0 path cost 0 tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 ether ca:3d:xx:xx:xx:xx open (pid 88244)
Commencé
tcpdump
avec-I
l'espoir d' activer le mode promiscuous sur le périphérique wifi :$ sudo tcpdump -In -i en0
Exécutez QEMU en utilisant les instructions réseau pontées :
$ qemu-system-x86_64 -cdrom mfsbsd-9.2-RELEASE-amd64.iso -m 1024 \ -boot d -net nic -net tap,ifname=tap0,script=no,downscript=no
Mais le système invité n’obtient jamais de bail DHCP:
Si je tcpdump -ni tap0
, je vois beaucoup de trafic du réseau sans fil. Mais si je tcpdump -ni en0
, je ne vois aucun trafic DHCP du système d'exploitation invité QEMU.
Des idées?
Mise à jour 1: J'ai essayé de sudo defaults write "/Library/Preferences/SystemConfiguration/com.apple.Boot" "Kernel Flags" "net.inet.ip.scopedroute=0"
redémarrer en suivant cette suggestion de la liste de diffusion , mais cela n'a pas aidé. En fait, le mode ponté de VirtualBox a cessé de fonctionner.
Mise à jour 2: il est intéressant de noter que l’interface virtuelle de l’invité QEMU n’obtient que des paquets de diffusion. Peut-être que je dois ajouter un itinéraire en quelque sorte? Hmm ...
tcpdump -ni tap0
montre DHCP d'invité? Avez-vous essayé de jouer avec le filtre de paquets?