qemu在linux和windows下tap网络的配置方法

qemu在linux和windows下tap网络的配置方法

要让qemu虚拟机和宿主机位于同一个网络中被该网络的其他机器访问,就需要使用TUN/TAP的网络方式来启动qemu虚拟机。具体的启动指令是:
qemu -m 192 -hda disk.img -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=/etc/qemu-ifup
如果是在WindowsXP下面,就不需要script=/etc/qemu-ifup这个启动脚本了,直接将tap0换成网桥的名字即可。

第一步,建立一个虚拟网络接口。
在linux下:
1  #  mknod /dev/net/tun c 10 200

在Windows下,有开源的虚拟网卡软件,找一个来装好就行了。

第二步,建立网桥。
在linux下:
修改/etc/network/interface配置文件。此处建立一个名为br0的网桥,先桥接上eth0,在启动qemu时,再桥接上tap0。
 1  #  /etc/network/interface
 2  # This file describes the network interfaces available on your system
 3  # and how to activate them. For more information, see interfaces(5).
 4 
 5  # The loopback network interface
 6  auto lo
 7  iface lo inet loopback
 8 
 9  #  The bridge network interface(s)
10  auto br0
11  iface br0 inet static
12  address  192.168 . 1.2
13  network  192.168 . 1.0
14  netmask  255.255 . 255.0
15  broadcast  192.168 . 1.255
16  gateway  192.168 . 1.1
17  bridge_ports eth0
18  bridge_fd  9
19  bridge_hello  2
20  bridge_maxage  12
21  bridge_stp off

在windowsXP下,在网络属性窗口中,直接将要桥接的两块网卡选中,然后点击鼠标右键,选择“桥”菜单即完成桥接。

第三步,建立qemu-ifup脚本启动qemu时调用。
在linux下:
建立/etc/qemu-ifup脚本文件(参见qemu指令的-net参数)
1  # !/bin/sh
2 
3  sudo  / sbin / ifconfig $ 1   0.0 . 0.0  promisc up
4  sudo  / usr / sbin / brctl addif br0 $ 1
5  sleep   2
WindowsXP在下不用这个脚本,直接把-net的ifname参数设为网桥的名字即可。

你可能感兴趣的:(qemu在linux和windows下tap网络的配置方法)