Como eu conecto uma conexão de Wi-Fi a TAP no Mac OS X? (para o emulador QEMU)

6

Estou tentando configurar uma ponte entre minha conexão Wi-Fi e um emulador ( QEMU ). Eu preciso de uma máquina virtual para estar na mesma LAN que o host, com seu próprio endereço IP.

O QEMU requer o uso de um TAP (dispositivo de rede virtual), por isso instalei o tuntaposx , execute-o e posso abrir o QEMU usando um TAP:

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

Eu tenho um script que configura a ponte depois que o QEMU abriu a 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

Se eu definir manualmente um IP na VM, posso fazer ping da VM para o host, mas não do host para a VM. Além disso, não consigo acessar o restante da rede a partir da VM - inclusive não conseguir definir um IP por meio do DHCP.

Alguma idéia?

    
por penx 16.05.2013 / 02:59

1 resposta

1

Você está esquecendo 2 etapas importantes: executando o daemon natd e configurando o firewall para permitir esse tráfego, ou seja:

natd -interface en0 ipfw add desviar natd ip de qualquer para qualquer via en0

en0 é a minha interface wi-fi (macbook air) e isso funciona como um encanto. A solução openvpn proposta é explicitamente complicada.

Você também pode executar o natd de maneiras mais extravagantes (ex: # fantasia: natd -alias_address 10.0.0.2 -interface en0 -use_sockets -same_ports -unregistered_only -dynamic -clamp_mss) se você quiser ser muito específico, mas o acima funcionará .

Eu detalhei todo o processo em link

    
por 08.06.2014 / 22:06