热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Debian6.0系统安装KVM虚拟机并设置桥接网络

环境:Win7中安装WMWare8.0;WMWare中安装Debian6.0;Debian中安装qemu-kvm;qemu-kvm中安装Gentoo(如下图所示)桥接:桥接可以让GuestOS(KVM中的OS)和HostOS(此处是Debian)位于同一局域网内,并且可以和局域网内其他PC相互通信。一.加载kvm

环境:Win 7 中安装WMWare 8.0; WMWare 中安装Debian 6.0;Debian中安装qemu-kvm; qemu-kvm中安装Gentoo (如下图所示)

桥接:桥接可以让Guest OS (KVM中的OS)和Host OS(此处是Debian)位于同一局域网内,并且可以和局域网内其他PC相互通信。

一. 加载kvm模块

# modprobe kvm
# modprobe kvm_amd   #intel CPU 是 kvm_intel

由于实验环境是WMWare,硬件(CPU)是虚拟化出来的,所以下面这条命令会出错:

不管了,无视此错误,直接跳过 !

二. 安装qemu工具

# apt-get install qemu-kvm    #如下图所示

安装过程结束时报错了,继续无视跳过!(qemu 是 KVM 在用户空间到管理工具,不安装qemu-kvm则无法使用相关命令)

三. 安装桥接网络的工具

# apt-get install bridge-utils
# apt-get install uml-utilities  (命令#tunctl要使用)

四. 配置网络

# vi /etc/network/interfaces
#编辑文件内容如下
auto lo
iface lo inet loopback
auto br0
iface br0 inet static #dhcp
bridge_ports eth0
address 192.168.1.39
netmask 255.255.255.0
gateway 192.168.1.6
#bridge_stp     off
#bridge_maxwait 0
#bridge_fd      0   (不知道这三行有何用,直接注释掉了)

五. restart the network(重启网络看看OK不?)

# /etc/init.d/networking restart

如果和下图差不多,那就OK了 



六. 加载TUN/TAP模块并设置桥接口
# modprobe tun
# tunctl   #创建虚拟网卡tapX (X代表数字0,1,2…本文使用的是tap0)
# brctl addif br0 tap0   #将上一步创建的 tapX 加入网桥 br0
# ifconfig tap0 promisc up    #启用tapX 并设置为promisc 模式
下图是Debian的详细网络情况


七. 创建虚拟硬盘,安装系统
#kvm-img create disk.img 4G  #真实系统(非虚拟机中)可能是qemu-img命令
#kvm -cdrom xp.iso -hda disk.img -boot d #无网络“开机”并从xp.iso启动,安装系统
或者使用下条命令联网安装系统,非dhcp需配置网络:IP,DNS,Gateway...
#kvm -cdrom xp.iso -hda disk.img -net nic,macaddr=00:00:00:00:00:01 -net tap,ifname=tap0,script=no,downscript=no -boot d

接下来就进入安装界面了,这里不再赘述,需要自己配置网络:IP,DNS,Gateway... (下图是我的kvm启动界面)

进入kvm虚拟机(这里是Gentoo ),配置网络后可以联网(见下图,192.168.1.6是我Win 7 系统IP,整个宿舍其它PC的网关)


OK,在KVM虚拟机Gentoo中已经可以ping通baidu.com, 大功告成 !

八. 用以安装了系统的disk.img启动虚拟机,并启用桥接网络
#kvm -net nic,macaddr=00:00:00:00:00:01 -net tap,ifname=tap0,script=no,downscript=no disk.img

注:tapX对应于第6步创建的tapX, 如需创建多台guest OS,重复步骤6,7,8 即可。qemu-kvm 参数较多,如后台运行虚拟机,用vnc远程连接等方法请参考响应文档,例如man

总结:以前听人说过虚拟机中不可以继续虚拟机,后来google了下说是可以,今天证明了确实可以!只不过是在WMWare中KVM罢了


推荐阅读
  • 使用DataGridViewComboBoxColumn实现数据绑定与操作
    本文详细介绍如何在DataGridView中使用DataGridViewComboBoxColumn来加载、选择和保存数据库中的数据,提供具体的实现步骤和示例代码。 ... [详细]
  • 使用Adobe Illustrator打造独特的家族徽章:牡鹿图腾设计教程
    本文详细介绍了一种基于《权力的游戏》灵感,运用Adobe Illustrator创作独特家族图腾——牡鹿徽章的方法。本教程不仅展示了具体的步骤,还提供了多种技巧,帮助读者创作出既具个人特色又符合设计原则的作品。 ... [详细]
  • 本文详细介绍了如何通过 `vue.config.js` 文件配置 Vue CLI 的打包和代理设置,包括开发服务器配置、跨域处理以及生产环境下的代码压缩和资源压缩。 ... [详细]
  • 重构:优化现有代码设计(第二版)笔记
    本文介绍了重构的基本概念,通过具体示例展示了如何提炼函数以处理过长的代码段,并探讨了多种重构技术,如分阶段重构、封装变量等。 ... [详细]
  • 深入理解FastDFS
    FastDFS是一款高效、简洁的分布式文件系统,广泛应用于互联网应用中,用于处理大量用户上传的文件,如图片、视频等。本文探讨了FastDFS的设计理念及其如何通过独特的架构设计提高性能和可靠性。 ... [详细]
  • 首先说一下,这是我在CSDN上的第一个文章,其实这个账号早在几年前就申请了,不过当时只是为了下载一个资源,而且也不怎么懂信息技术相关的领域,后来就再也没怎么动过,直到今天我才开始使用这个账号 ... [详细]
  • 本文针对公司项目中普遍存在的IE浏览器兼容性问题,特别是IE9及以下版本,提出了具体的解决方案,确保用户在这些旧版浏览器中也能顺利实现图片上传预览功能。 ... [详细]
  • 本文提供了一套详细的步骤,指导用户如何通过科学上网方法注册一个美国地区的Apple ID,包括设置地区、语言及完成注册的具体操作。 ... [详细]
  • 本文详细介绍了ESP8266的串行通信特性,包括其硬件FIFO和额外缓存机制,以及如何配置和使用NodeMCU上的多个串行端口。 ... [详细]
  • OpenWrt 是一款高度可定制的嵌入式 Linux 发行版,广泛应用于无线路由器等领域,拥有超过百个预装软件包。本文详细探讨如何在 OpenWrt 上通过 Luci 构建自定义模块,以扩展其功能。 ... [详细]
  • Python作为一种广泛使用的高级编程语言,以其简洁的语法、强大的功能和丰富的库支持著称。本文将详细介绍Python的主要特点及其在现代软件开发中的应用。 ... [详细]
  • Xcode 快捷键与实用技巧
    在iOS开发过程中,熟练掌握Xcode的快捷键可以显著提升工作效率,减少不必要的鼠标操作,让开发者更加专注于代码编写。本文将介绍一些常用的Xcode快捷键及技巧,帮助开发者提高开发效率。 ... [详细]
  • 今天我在操作Git时遇到了一个问题,即我的仓库进入了分离的HEAD状态,这与之前讨论过的‘即使本地有更改,git push仍显示所有内容最新’的问题类似。 ... [详细]
  • UnityNGUIScrollView苹果式滑动
    又回来写博客了,这回已经开始上班了,所以就发一发工作中解决的难题吧。单个展示Panel(苹果式)以前对UI的滑动组件很烦心,不是很会用,这回项目要求写一个类似于苹果的文件滑动效果, ... [详细]
  • 实现‘点击恢复’功能 - Tap-to-Resume Feature in SpriteKit
    了解如何在应用程序从非活动状态返回时,在SpriteKit游戏中添加一个‘点击恢复’的文字提示。 ... [详细]
author-avatar
倔强的石头二虎
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有