pen*_*enx 6 networking virtualization qemu bridge macos
我正在尝试在我的 Wi-Fi 连接和模拟器 ( QEMU )之间设置一座桥。我需要一个虚拟机与主机在同一个 LAN 上,并有自己的 IP 地址。
QEMU 需要使用 TAP(虚拟网络设备),所以我已经安装了tuntaposx,让它运行,并且可以使用 TAP 打开 QEMU:
qemu-system-arm -kernel zImage.integrator -initrd arm_root.img -m 256 -net nic -net tap,ifname=tap1 -nographic -append "console=ttyAMA0"
Run Code Online (Sandbox Code Playgroud)
一旦 QEMU 打开了 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
Run Code Online (Sandbox Code Playgroud)
如果我在虚拟机上手动设置IP,我可以从虚拟机ping 主机,但不能从主机到虚拟机。此外,我无法从 VM 访问网络的其余部分 - 包括无法通过 DHCP 设置 IP。
有任何想法吗?
小智 1
您忘记了两个重要步骤:运行 natd 守护进程并配置防火墙以允许该流量,即:
natd -interface en0 ipfw 添加通过 en0 将 natd IP 从任何地址转移到任何地址
en0 是我的 wifi 接口(macbook air),这很有魅力。提议的 openvpn 解决方案非常复杂。
如果您想要非常具体,您还可以以更奇特的方式运行 natd(例如:# fancy: natd -alias_address 10.0.0.2 -interface en0 -use_sockets -same_ports -unregistered_only -dynamic -clamp_mss),但上面的方法可以工作。
我详细介绍了整个过程http://en.blog.guylhem.net/post/88201449689/running-qemu-with-tap0-and-nat-under-osx-10-9-maverick
| 归档时间: |
|
| 查看次数: |
7641 次 |
| 最近记录: |