How do I bridge a connection from Wi-Fi to TAP on Mac OS X? (for the emulator QEMU)

8,063

You are forgetting 2 important steps : running the natd daemon and configuring the firewall to allow that traffic, ie :

natd -interface en0 ipfw add divert natd ip from any to any via en0

en0 is my wifi interface (macbook air) and this work like a charm. The proposed openvpn solution is overtly complicated.

You can also run natd in fancier ways (ex: # fancy: natd -alias_address 10.0.0.2 -interface en0 -use_sockets -same_ports -unregistered_only -dynamic -clamp_mss) if you want to be very specific, but the above will work.

I detailed the whole process on http://en.blog.guylhem.net/post/88201449689/running-qemu-with-tap0-and-nat-under-osx-10-9-maverick

Share:
8,063

Related videos on Youtube

penx
Author by

penx

Updated on September 18, 2022

Comments

  • penx
    penx over 1 year

    I'm trying to setup a bridge between my Wi-Fi connection and an emulator (QEMU). I need a virtual machine to be on the same LAN as the host, with its own IP address.

    QEMU requires using a TAP (virtual network device) so I have installed tuntaposx, have it running, and can open up QEMU using a TAP:

    qemu-system-arm -kernel zImage.integrator -initrd arm_root.img -m 256 -net nic -net tap,ifname=tap1 -nographic -append "console=ttyAMA0" 
    

    I have a script that configures the bridge once QEMU has opened up the TAP interface:

    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
    

    If I manually set an IP on the VM, I can ping from the VM to the host, but not from the host to the VM. Also, I can't access the rest of the network from the VM - including not being able to set an IP over DHCP.

    Any ideas?

    • Admin
      Admin about 10 years
      I have provided a solution to this problem here.
    • Admin
      Admin almost 10 years
      NucAr, openvpn or the likes is overkill. Just use natd.
    • Admin
      Admin over 4 years
      WiFi cannot be bridged.
  • Arto Bendiken
    Arto Bendiken almost 8 years
    Blog link appears dead, but the instructions would seem to be replicated at: github.com/ckujau/scripts/blob/master/qemu-tap.sh
  • Vomit IT - Chunky Mess Style
    Vomit IT - Chunky Mess Style over 4 years
    Please clarify what you are answering.