1.安装CentOS7.2,选择GUI的服务器版
请参考:

2.一些背景知识
请参考:

KVM 全称是 Kernel-Based Virtual Machine。也就是说 KVM 是基于 Linux 内核实现的。KVM有一个内核模块叫 kvm.ko,只用于管理虚拟 CPU 和内存。而 IO 的虚拟化,比如存储和网络设备由 Linux 内核和 Qemu 来实现。作为一个 Hypervisor,KVM 本身只关注虚拟机调度和内存管理这两个方面。IO 外设的任务交给 Linux 内核和 Qemu。

Libvirt 是 KVM 的管理工具。其实,Libvirt 除了能管理 KVM 这种 Hypervisor,还能管理 Xen,VirtualBox 等。Libvirt 包含 3 个东西:后台 daemon 程序 libvirtd、API 库和命令行工具 virsh。libvirtd是服务程序,接收和处理 API 请求;API 库使得其他人可以开发基于 Libvirt 的高级工具,比如 virt-manager,是图形化的 KVM 管理工具;virsh 是 KVM 命令行工具。

3.安装kvm和libvirt

查看内核模块中是否含有kvm

lsmod | grep kvm

kvm windows嵌套设置 kvm的组件_kvm

查看cpu是否支持虚拟化

egrep -c ‘(vmx|svm)’ /proc/cpuinfo

kvm windows嵌套设置 kvm的组件_centos_02


结果有值,说明支持

安装qemu-kvm
yum install -y qemu-kvm
安装libvirt
yum install -y libvirt
安装virt-install
yum install -y virt-install
安装virt-manager
yum install -y virt-manager

4.安装虚拟机

执行virt-manager打开管理界面

点击new,创建一个新的虚拟机

kvm windows嵌套设置 kvm的组件_kvm_03

选择导入镜像

kvm windows嵌套设置 kvm的组件_centos_04


选择镜像。镜像可以提前拷贝到宿主机的/var/lib/libvirt/images文件夹下面,这是 KVM 默认查找镜像文件的地方。cirros 是一个很小的 linux 镜像,非常适合测试用,大家可以到 http://download.cirros-cloud.net/ 下载。

kvm windows嵌套设置 kvm的组件_外网_05

为虚拟机分配CPU和内存

kvm windows嵌套设置 kvm的组件_外网_06

设置虚拟机名称

kvm windows嵌套设置 kvm的组件_centos_07

点击完成,弹出的控制台有报错

kvm windows嵌套设置 kvm的组件_kvm windows嵌套设置_08

解决如下:Display Spice-Spice Server-Type 由 Spice server 改为 VNC server

kvm windows嵌套设置 kvm的组件_API_09

关闭后,重新启动

kvm windows嵌套设置 kvm的组件_kvm windows嵌套设置_10

通过virsh list命令,可以查看运行的虚拟机

kvm windows嵌套设置 kvm的组件_kvm windows嵌套设置_11

5.配置连接外网
在Host机器上创建bridge br0
brctl addbr br0
将br0设为up
ip link set br0 up
br0设置IP
ifconfig br0 192.168.57.1/24

设置虚拟机网卡Bridge name 为 br0

kvm windows嵌套设置 kvm的组件_外网_12

重新启动虚拟机,并设置虚拟机IP为 192.168.57.100

kvm windows嵌套设置 kvm的组件_kvm_13

要想访问外网,在宿主机上设置NAT,并且enable ip forwarding,可
以ping通外网网关。
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eno16777984 -j MASQUERADE

ping 192.168.57.1–网关

kvm windows嵌套设置 kvm的组件_kvm_14

ping 11.11.175.57–宿主机

kvm windows嵌套设置 kvm的组件_外网_15

ping 11.11.175.34–外网地址

kvm windows嵌套设置 kvm的组件_kvm_16

抓包查看数据流向

tshark -i eno16777984 icmp

kvm windows嵌套设置 kvm的组件_kvm_17