树老大 发表于 2013-5-19 10:21:55

树莓派学习9: Qemu虚拟机联网(主机和虚拟机互访、虚拟机可上网)

一直在Windows XP下用Qemu虚拟机玩树莓派。
Qemu虚拟机默认是采用本机网卡直接联网的,但有一个问题,主机(Host PC)无法通过IP访问虚拟机(树莓派)。

试了一下,用这个方法

我的网络环境:路由器采用ADSL上网, PC机接入路由器,PC机的IP为192.168.1.114, 路由器IP为192.168.1.1


1,首先给Windows装一个虚拟网卡(TAP)
下载openvpn安装程序(http://dl.pconline.com.cn/download/56026-1.html),安装时,只需安装其中的TAP虚拟网卡驱动程序即可。
则Windows将生成一张新的虚拟网卡,在网上邻居中将这张虚拟网卡重命名为TAP


安装完成后,Windows任务栏上将显示出tap网卡连接状态,由于虚拟机没有启动,所以有一个红色的交叉号(表示网络未连接)




2,设置tap网卡的IP和MASK
   IP: 192.168.200.1
   MASK: 255.255.255.0
   GATEWAY: 192.168.1.1


3, 右键点出网上邻居的属性,右键单击本机的物理网卡,打开属性,在高级页中,勾选设置Internet连接共享(这使得本机其它网卡可以通过这个网卡共享Internet上网)




设置完Internet连接共享,windows xp会自动将tap虚拟网卡的IP修改为 192.168.0.1 (这是Windows Internet连接共享的约定)




4, 修改树莓派的Qemu虚拟机的启动命令行,增加以下网络参数
       -net nic -net tap,ifname=tap
   则,修改后的run.bat内容如下:
qemu-system-arm.exe -M versatilepb -cpu arm1176 -hda 2012-12-16-wheezy-raspbian.img -kernel kernel-qemu -m 512 -append "root=/dev/sda2" -localtime -net nic -net tap,ifname=tap

5,运行run.bat,启动Qemu,进入树莓派系统


 Qemu启用后,可以看到Windows任务栏上的tap网卡连接状态将显示为连接状态
    这是因为Qemu启动命令行中有 -net tap,ifname=tap参数,所以会虚拟机会自动连接到名为tap的虚拟网卡上

    进入系统后,用ifconfig命令可以查看到有一张网卡 eth0 , 但没有IP地址
    这是因为Qemu启动命令行中有 -net nic 参数,所以会自动给虚拟机增加一张网卡 eth0

    由于没有DHCP,不会自动分配地址,所以没有IP地址。



   用ifconfig命令设置虚拟机的IP地址为 192.168.0.2,命令如下:
    sudo ifconfig eth0 192.168.0.2
   设置虚拟机的路由,网关为192.168.0.1,命令如下:
   sudo route add default gw 192.168.0.1

   再用ifconfig命令查看一下,
   网卡 eth0的IP地址为 192.168.0.2




   6, 在虚拟机上测试一下
ping 192.168.0.1    通,表示已正确连接网关(即Windows中的tap虚拟网卡)
ping 192.128.1.114   通,表示可访问Windows主机
ping www.baidu.com通,表示可访问互联网

7, 在Windows主机上测试
ping 192.168.0.2通,表示主机可访问虚拟机

至此,已完成设置,主机和虚拟机可以互相访问,虚拟机也可上网了。

设置好了以后,下一节,我们就可以在树莓派虚拟机上安装web服务器、ftp服务器,并联网测试了.


页: [1]
查看完整版本: 树莓派学习9: Qemu虚拟机联网(主机和虚拟机互访、虚拟机可上网)