到处是关于qemu网络的不清晰描述,记录一下我的结果,实践可行。
简单理解:
对于host系统,tap接口就是一个普通接口,与桥接无关。
对于guest系统,qemu将guest系统的vlan物理连接至tap接口。
因此,衍生出两种上网(连接internet)方法(不仅仅如此):
1.利用bri接口将tap接口与host出接口eth0桥接在同一桥组中,在guest系统中连接上网。
2. 使能host 转发功能,tap接口与出接口之间进行转发,如果需要利用iptables做nat.
我采用方法2来作,具体命令如下:
qemu启动命令:
qemu-system-x86_64 -M pc -m 128 -hda ./rtimg.1 \
-k en-us \
-cdrom /media/Docs/soft/gentoo/install-x86-minimal-2008.0.iso \
-net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no \
-boot d &
使能转发:
sudo echo "1" > :/proc/sys/net/ipv4/ip_forward
使能NAT:
sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
当然,还需要将host /etc/resolve.conf拷贝到guest.
转载于:https://blog.51cto.com/netos/146720