Chinaunix首页 | 论坛 | 博客
  • 博客访问: 119687
  • 博文数量: 41
  • 博客积分: 984
  • 博客等级: 军士长
  • 技术积分: 430
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-12 09:57
文章分类

全部博文(41)

文章存档

2010年(41)

分类:

2010-05-17 16:31:22

下面介绍的方法适用于多种虚拟机,如KVM、VBox、VMware等;
       这里我用的操作系统是Ubuntu10.04,其他平台没有实验。
原理介绍:
        虚拟一个网桥,让网桥获得 本机器的IP,把ethx和tapx放在网桥里面(mac一定要确保不同)。
然后,这些虚拟的网卡可以通过网桥来上网或者互相通信了。


如 果您没有安装KVM运行命令:sudo apt-get install ubuntu-virt-server ubuntu-virt-mgmt
这个命令安装kvm,libvirt-bin,openssh-server,virt-manager,python-vm- builder,virt-viewer等包。
如果您已经安好了KVM或者其他的虚拟机,一定确保有下面的这些包,
bridge-utils,uml-utilities,libvirt等。这些包支持虚拟网卡网桥的管 理。
然后将您的账户添加到libvirtd用户组,即执行命令:sudo adduser username libvirtd

首先要先创建两个虚拟网卡,当然,多了也可以 ^-^。

tunctl -t tap0 -u username
tunctl -t tap1 -u username


然后将两个虚拟的网卡和物理网卡工作模式设置为混杂模式,不明白混杂模式的自己去查。

ifconfig tap0 0.0.0.0 promisc  (tap1 eth0只需替换掉tap0即可)

然后创建一个网桥,并将虚拟的和物理网卡全放进去

brctl addbr br0
brctl addif br0 tap0
(tap1 eth0只需替换掉tap0即可)

让网桥获得IP:dhclient br0
(如果您想开机就能配置好环境则需要写好启动脚本,放到开机启动项里面)
然后就可以开启虚拟机 了,我这里用ISO代替硬盘启动了:
启动代码:kvm -cdrom -8.iso -m 512 -net nic,macaddr=52:54:00:12:34:78 -net tap,ifname=tap1,script=no -localtime

其他类同,记住一定要指定不同的mac值,如果不知 定将会得到相同的IP,就不能通信了,本人在这个问题上费了不少时间。
阅读(1511) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

安何2010-05-19 21:21:34