我正在尝试使用open-wrt qemu和vde2来设置虚拟networking环境。引导两个qemu实例并将它们结合在一起的脚本如下
IMAGE=/home/northpole/openwrt/trunk/bin/x86/openwrt-x86-generic-combined-jffs2-128k.img sudo killall -q qemu sudo killall -q wirefilter sudo killall -q vde_switch vde_switch -d --hub --sock num1.ctl -f colourful.rc vde_switch -d --hub --sock num2.ctl -f colourful.rc cp ${IMAGE} num1.image cp ${IMAGE} num2.image sudo qemu \ -no-acpi -m 32M \ -net vde,sock=num1.ctl,port=1 -net nic,macaddr=fe:fe:00:00:01:01 \ -net nic -net tap,ifname=tapwrt1 \ num1.image& sudo qemu \ -no-acpi -m 32M \ -net vde,sock=num2.ctl,port=2 -net nic,macaddr=fe:fe:00:00:02:01 \ -net nic -net tap,ifname=tapwrt2 \ num2.image& sudo ifconfig tapwrt1 inet 192.168.2.1 up sudo ifconfig tapwrt2 inet 192.168.3.1 up wirefilter --daemon -v num1.ctl:num2.ctl
qemu num2.image正确启动
但是这个脚本在运行时出现问题
警告:无法configuration/ dev / net / tun:没有虚拟networking仿真
我不是很熟悉所有的qemu vde wirefilter和bash脚本,所以任何额外的技巧/指南将不胜感激
附有诊断信息
bash -v ./test.sh IMAGE=/home/northpole/openwrt/trunk/bin/x86/openwrt-x86-generic-combined-jffs2-128k.img sudo killall -q qemu sudo killall -q wirefilter sudo killall -q vde_switch vde_switch -d --hub --sock num1.ctl -f colourful.rc vde_switch -d --hub --sock num2.ctl -f colourful.rc cp ${IMAGE} num1.image cp ${IMAGE} num2.image sudo qemu \ -no-acpi -m 32M \ -net vde,sock=num1.ctl,port=1 -net nic,macaddr=fe:fe:00:00:01:01 \ -net nic -net tap,ifname=tapwrt1 \ num1.image& sudo qemu \ -no-acpi -m 32M \ -net vde,sock=num2.ctl,port=1 -net nic,macaddr=fe:fe:00:00:02:01 \ -net nic -net tap,ifname=tapwrt2 \ num2.image& sudo ifconfig tapwrt1 inet 192.168.2.1 up sudo ifconfig tapwrt2 inet 192.168.3.1 up warning: could not configure /dev/net/tun: no virtual network emulation warning: could not configure /dev/net/tun: no virtual network emulation wirefilter --daemon -v num1.ctl:num2.ctl
bash -x输出相同
我修好了它:
tun模块由于某种原因丢失了,我并不需要qemu的networkingconfiguration脚本(/ etc / qemu-ifup),所以modprobe'd tun删除了脚本并以root身份运行,