到处是关于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.