我正在编写一个 GUI 工具来测试一些 Meshnetworkingthings。
为此,我使用 Virtualbox、VDE2 和 Wirefilter。我的尝试是使用 Virtualbox 生成n 个openwrt 实例,在抽头模式下将它们与 vde_switch 连接,并使用wirefilter 模拟pocketloss 等。
这就是我试图做到这一点:
sudo ip tuntap add tap<i> mode tap
sudo ifconfig tap<i> <some ip> up
vde_switch -d -x -s /tmp/tap<i>/ -m 666
VBoxManage clonevm openwrt --name tap<i> --register
VBoxManage modifyvm tap<i> --nic1 generic --nicgenericdrv1 VDE --nicproperty1 network=/tmp/tap<i>/ --macaddress1 <mac>
VBoxManage startvm tap<i>
但是当我尝试运行 openwork 实例时出现以下错误:
Failed to open a session for the virtual machine tap.
VDEplug library: not found (VERR_PDM_HIF_OPEN_FAILED).
Failed to attach the network LUN (VERR_PDM_HIF_OPEN_FAILED).
Result Code: NS_ERROR_FAILURE (0x80004005)
Component: Console
Interface: IConsole {8ab7c520-2442-4b66-8d74-4ff1e195d2b6}
开发环境:我使用的是 MacBook Pro,Ubuntu 14.04 在 Virtualbox 中运行。在这个 Ubuntu 中,我正在开发我的工具。这意味着我在 Virtualbox 中运行 Virtualbox。