qemu:一个win/linux/bsd/mac下的虚拟机软件(二):qemu的几种上网方式

09月 21, 2007 on 11:38 pm | In qemu, virtualBox | 1 Comment

上一文章大致地介绍了qemu.这篇写网络设置。
qemu虚拟机中客户机的上网方式有两种:

User-net:qemu 默认的上网方式是user-net.这种情况下你会看到Geust OS 中有一个网卡,通过DHCP方式得到了一个10.2.0.15的IP,通过真实主机访问互联网,但是虚拟机(Guest OS)与客户机的访问很难。因此这种方式我不喜欢。但是这个简单,装上系统就是了,不需配置,而虚拟机也能容易地上互联网。

另一种是Tap/tun模式。需要配置.

a.首先要启用Tap设备。modprobe tun即可。如果内核中没有对tap的支持,要重新编译内核。我用的是fedora,用yum安装一下就行了.

b.设置qemu使用tap设备时主机添加的tap设备的IP.建这样一个脚本(/etc/qemu-ifup),加上可执行权限即可(chmod +x /etc/qemu-ifup)。

  1. #! /bin/sh
  2. /sbin/ifconfig $1 172.20.0.1

有了这个脚本后,当你用-net tap 参数启动qemu时,主机中就会多一个ip为172.20.0.1的tap设备。
c.启动qemu:

  1. qemu -hda linux1.img -boot c -net tap -net nic,model=rtl8139

进入虚拟机系统后,将网卡IP设为172.20.0.100,掩码设为255.255.255.0,网关设置为172.20.0.1(就是你在/etc/qemu-ifup中设的IP)。现在虚拟机与主机间通信已经可以了,但是还需要第四步让虚拟机连上互联网。
d.在iptables中进行设置,以让虚拟机访问互联网:
分别执行:

  1. [root@LFS ~]#echo 1 > /proc/sys/net/ipv4/ip_forward
  2. [root@LFS ~]#iptables -t nat -A POSTROUTING -o eth0 -s 172.20.0.0/24 -j MASQUERADE

注意/proc/sys/这个目录是不能保存的,所以如果你重启机器,这两个命令需要重新再做一次。(你可以将这两行命令写到/etc/ini.d/rc.local中去).现在试试,你的虚拟机就畅通无阻了!
下一篇我就写写如何才能在文本模式启动qemu.要知道,vmware,virtualBox都使用了SDL来构建GUI,因此必须在运行Xwindows时才能启动虚拟机。有些情况下我们不想要X,但是想跑虚拟机,怎么办呢?另外有些人鄙视用Xwindows的,他们也会关注如何在文本模式启动一个虚拟机.

后记:
VirtualBox可以用VBoxVRDP -startvm “machine” 来无界面启动一个机器,然后用VRDP 或VNC协议来连接虚拟机。

qemu:一个win/linux/bsd/mac下的虚拟机软件

09月 2, 2007 on 11:30 pm | In 未分类 | 1 Comment

上班没几天,就很好奇公司运行于BSD系统之上的虚拟机系统。就是一台物理主机上设置n个IP,每个ip连上去都是一个独立的主机环境,可以单独安装系统,运行相应服务。当然,每个虚拟机都是需要资源开销的,不过整体来说,CPU占用还是不大。
这周末就开始折腾我的3000块钱的破本儿。以前装过VirtualBox,Qemu等不少虚拟机.Virtual Box因为GuestOS与HostOS通信有问题,而且只能在X中运行,虽然可能会比qemu快,还是被我放弃了。主攻qemu!

qemu的一个简介:

QEMU是一套可以在Windows操作系统中仿真出另一套操作系统的仿真软件。因为它可以在系统中仿真出一颗虚拟的CPU,然后将要仿真的操作系统交给这颗虚拟CPU去处理,所以能够达到同一平台却能同时执行两种操作系统的目的。

QEMU的使用非常简单,因为它不用安装,只要使用文字指令和参数就可以操作。而它可以仿真的操作系统类型也非常多元,包括Linux系列、Mac OS系列、FreeBSD系列、Windows系列等等操作系统通通都没问题。

一般的操作系统仿真程序的执行速度都非常慢,但是QEMU的速度居然可以达到正常的四分之一以上,在仿真程序中算是快的了。对于有需要在同一台计算机上安装多个操作系统的人来说,QEMU一定可以帮的上很大的忙。

Qemu还可以通过一个对个人用户免费的kQemu模块来加速。同时,qemu支持的虚拟磁盘文件格式很多,可以与virtualbox,vmware等软件通用。qemu可以设置dhcp方式实现最简单的GuestOS上网,也可以通过Tap/Tun方式来实现HostOS与GuestOS之间的直接通信。我试了下,很不错。最主要的是,qemu虽然跟virtualbox一样是用SDL库来开发的,但是与Virtualbox不同的是,qemu可以通过加-nographic在纯文本方式运行,不再需要X server.这样就可以在服务器上运行了。

安装qemu:

(不要生气哟,我是yum install qemu就ok了…),如果你没有类似机制,那从http://fabrice.bellard.free.fr/qemu/主页下源码安装吧。
安装kqemu:
down下源码,configure ;make ;make install就行了。新版 的不需要用户做任何 设置。如果安装成功但是kqemu模块没起作用,需要:

  1. modprobe kqemu
  2. mknod /dev/kqemu c 250 0
  3. chmod 666 /dev/kqemu

如果安装不成功…..啊,今儿天气不错啊!

安装成功后,用qemu-img可以创建磁盘文件。用
qemu -cdrom fedora_livecd.iso -boot d 可以挂载光盘并从光盘启动。这种方式启动的是-net user这个默认方式。
如何启用tap/tun方式,我下次再整。因为要用iptables进行地址转换,比较麻烦。
(补记:还有其他不少虚拟机软件,但是我比较喜欢开源产品,所以我只讲virtualbox和qemu…收费产品也都不错,但是我可不会在blog上写如何用crack版本)

VirtualBox 的一些错误

04月 29, 2007 on 10:57 pm | In 未分类 | No Comments

前面写了,VirtualBox 是个很不错的虚拟机。
可贵的是,VirtualBox有各种操作系统下的版本,而且他的二进制在不少系统上直接能跑起来,不城要编译。
不过,VirtualBox也有问题:
1:VirtualBox提供的虚拟驱动程序不支持Directshow.也就是说,如果你同我一样在lin上虚拟了一个Win,那你会发现你玩不了2D/3D游戏。当然,简单的或是自己开发图形处理引擎的游戏可以玩玩。就算自己安装DirectX也不行。
2:在客户机(我是在linux下虚拟了一个XP,用来进行银行帐户处理)下,按Alt+F4并不会关闭窗口,而是出现VirtualBox询问你是否要关机的窗口。不管你点什么,点过之后都会用不了键盘,症状就是好像Shift/Alt键被按住不放了一样。
解决办法很简单:单按Alt键一次就Okay了。我是无意中试出来的。
3.这个更郁闷:当客户机(XP)全屏时,Linux的输入法(SCIM)的图标会一直漂浮在客户机的窗口上。而且你还可以选输入法~!VirtualBox看来目前也没法子解决这个问题,应该是SCIM使用了比较系统底层的API来绘制窗口。

VirtualBox是个不错的虚拟机。

02月 27, 2007 on 10:36 pm | In 未分类 | No Comments

本来是过年时为了能联网玩游戏找的,现在发现用VirtualBox来跑win2000 真的很不错。

这篇 blog就是在我的HaierH40s上用VirtualBox 跑win2000写的博客。

我的机器是CY1.6G 的cpu,512的内存,先跑Fedora Core linux 6.0,用的xfce的桌面管理器,起VirtualBox,在vbox下跑win2000,居然一点儿也不卡。当然,我还没有用它来打暗黑试。不过想来也不会差。

原来在win下要折腾ghost,有些病毒好像还会很变态地删gho文件。不过现在我不怕了,我现在在linux下用虚拟机可以跑的系统有win98,win2000,winxp.呵呵。真爽。而且随时可以copy一个出来。

开源的世界真美妙。

PS:但是在装VirtualBox之间,我的系统是全部是免费或稍稍收取一点费用的软件,没有盗版。现在又有盗版了。 这就是virtualBox的不好吧?

linux下的虚拟机软件

02月 24, 2007 on 1:40 pm | In 未分类 | No Comments

春节在家想听听歌,可是linux下只有mms.好容易弄出来中文歌曲名。不过还是不能出歌词。想起千千静听。这是国人软件的骄傲。可是是win下的。

做出来的page想用ie看一下效果,装了ie4lin,也用不了。

用crossoffice装了几个软件,都有各式各样的问题。巧的是,居然能装safe360.[aghh],装是能装,可是我在linux下跑这玩意儿干啥?
在家玩diaboII,也是跟老婆抢台式机。

郁闷到了极点,想装一个xp.

可是,装不了…. 因为我装linux时已经把全部硬盘分了。要再加xp,只能先格盘。可叹我configure,make了好久 才把程序都弄全… 现在格了,岂不是很不爽?

于是想到虚拟机。

先下VMware.下完了想起来这个一个收费软件。

再下qemu.这个很不错,速度快。全是命令行的。但是… 我用它跑win98是能跑,就是不能上网。要我自己配转发,加tap/tun设备。再看说明,发现要编译一个kemu会快5倍以上。想想能加快5倍,这个东西跑xp肯定很慢。kemu在我的小本上make又通不过…
再下virtualBox…. 折腾了半夜,终于下完了。编译时,居然要我去找as86和bcc这两个老家伙,居然用汇编倒腾的?只好一个个去找… 功夫不负有心人,终于弄完了(顺便说一下,MultiGet这个下载软件很没用。只支持10个线程下,也就算了,想我当年用flashget都是用的999线程的破解版。关键的一点是:它的计算是有问题的,每次我开多线程下载时,下下来的文件一计算md5值,都是错的!就是说这个多线程的玩意基本不能用。)

一切安好无事,今天装了个xp,还很快。速度不错。
我应该弄一张safe360在linux下运行的图放上来的。想想应当很恶搞的。

Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds. Valid XHTML and CSS. ^Top^