`
ruijf
  • 浏览: 71498 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

构建KVM虚拟机NAT网络

 
阅读更多

现在的虚拟化架构越来越普遍了。最近摸索了下centos下如何构建KVM虚拟机NAT网络,在此记录下点滴。

1.硬件检测

KVM虚拟机需要CPU支持虚拟化技术。Intel的叫vmx,AMD的叫svm.

cat /proc/cpuinfo|grep svm

 

2.安装kvm内核

yum groupinstall KVM -y

安装完后载入确认

modprobe kvm-amd

lsmod|grep kvm

 

3.配置VNC
/etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"

/etc/init.d/libvirtd start

 

4.安装虚拟机:

virt-install --name os_11 --hvm --ram 512 --vcpus 2 --disk path=/opt/vms/os_11.img,size=20 --network network:default --accelerate --vnc --vncport=5911 --os-variant rhel5.4 --cdrom /root/ubuntu-11.04-server-amd64.iso -d
然后用VNC连接5911端口开始安装

 

5.克隆虚拟机:
virt-clone -o os_11 -n os_12 -f  /data/vm/os_12.img

virt-clone -o os_11 -n os_13 -f  /data/vm/os_13.img

修改虚拟机配置文件/etc/libvirt/qemu/os_12.xml的vnc端口

<domain type='kvm'>
  <name>os_12</name>
  <uuid>3aab5774-1810-9c67-4b97-24c9c9db071f</uuid>
  <memory>524288</memory>
  <currentMemory>524288</currentMemory>
  <vcpu>2</vcpu>
  <os>
    <type arch='x86_64' machine='rhel5.4.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'>
    <timer name='pit' tickpolicy='delay'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/opt/vms/os_12.img'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' unit='0'/>
    </disk>
    <controller type='ide' index='0'/>
    <interface type='network'>
      <mac address='FE:16:36:5E:54:30'/>
      <source network='default'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5912' autoport='no' keymap='en-us'/>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
    </video>
  </devices>
</domain>

 

 

6.启动虚拟机(ubuntu 11.04):

virsh start os_11

virsh start os_12

virsh start os_13

 

7.查看virbr0的网段,默认192.168.122.1

vnc连接虚拟机设置os_11 IP:192.168.122.11

vnc连接虚拟机设置os_12 IP:192.168.122.12

vnc连接虚拟机设置os_13 IP:192.168.122.13

网卡配置文件:

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.122.11
        netmask 255.255.255.0
        network 192.168.122.0
        broadcast 192.168.122.255
        gateway 192.168.122.1

 

 

8.此时应该可以ssh到虚拟机了,并且虚拟机上也能上网了。

 

9.注意问题

  (1)确认安装libvirtd,virsh等相关依赖

  (2)在物理机上需要配置允许IP转发:

  echo 1 > /proc/sys/net/ipv4/ip_forward ,

  vi /etc/sysctl.conf  修改net.ipv4.ip_forward = 1

  (3)启用iptables服务,需要进行ip转发,重新设置ip转发用virsh net-start default,我的配置如下:

#iptables -L -vn
Chain INPUT (policy ACCEPT 1181K packets, 492M bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           udp dpt:53 
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           tcp dpt:53 
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           udp dpt:67 
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           tcp dpt:67 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   39 12560 ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24    state RELATED,ESTABLISHED 
   56  3833 ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0           
    0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable 
    0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable 

Chain OUTPUT (policy ACCEPT 953K packets, 48M bytes)
 pkts bytes target     prot opt in     out     source               destination  

 

 

 (4)虚拟机的配置文件在/etc/libvirt/qemu/中,可以修改xml调整虚拟机的配置

 

分享到:
评论

相关推荐

    云计算基础架构-KVM服务创建虚拟机.pptx

    创建KVM虚拟机的过程分为几个关键步骤: 1. **环境规划**:在开始之前,我们需要规划虚拟机的节点。例如,可以设定一个名为“KVM”的节点,该节点将运行在IP地址192.168.100.10的CentOS 7.2操作系统上。确保关闭...

    网络游戏-虚拟机网络通信实现方法和虚拟机监控器以及物理主机.zip

    综上所述,虚拟机技术在网络游戏中扮演着重要角色,其网络通信机制、虚拟机监控器的功能以及虚拟机与物理主机的互动,共同构建了一个高效、灵活且可靠的网络游戏运行环境。理解和掌握这些知识点,对于网络游戏的开发...

    KVM配置及Openstack kvm优化

    网络环境的配置是关键,通常采用桥接模式,让虚拟机直接接入物理网络,或者使用NAT模式为虚拟机提供网络访问。 描述中的"KVM配置命令"涉及诸多方面,例如创建虚拟机、设定内存、分配CPU、挂载磁盘等。使用`virsh`...

    kvm虚拟化技术部署文档

    这个网络对应的物理接口称为virbr0,其IP地址作为所有连接到default网络的KVM虚拟机的默认网关。 KVM虚拟化的网络配置非常灵活,可以设置桥接模式、NAT模式或路由模式,以满足不同场景的需求。例如,桥接模式可以让...

    KVM虚拟化技术 实战与原理解析

    而网络配置则可能涉及到桥接、NAT或者虚拟网络接口卡等不同的网络模型。 在性能优化方面,KVM允许管理员对虚拟机进行CPU、内存、存储和网络等资源的分配与调整。通过调整虚拟机的资源配额,可以有效地控制虚拟机的...

    Mastering KVM Virtualization,Second Edition

    8. **网络虚拟化**:阐述KVM中的网络模型,如桥接、NAT和Open vSwitch的使用,以及虚拟网络服务的实现。 9. **容器与KVM的结合**:比较KVM虚拟机和容器的区别,以及如何在KVM环境中部署和管理Docker或Kubernetes等...

    麒麟V10安装虚拟机.doc

    - **配置网络**:设置虚拟机的网络连接方式,可以选择桥接模式,使得虚拟机可以直接接入物理网络,或者使用NAT模式,通过主机共享网络。 5. **安装过程**: - **启动虚拟机**:启动创建的虚拟机,进入麒麟V10的...

    RHEL6下KVM的安装

    以上步骤覆盖了在 RHEL6 下安装 KVM 的完整过程,包括环境搭建、远程管理配置、虚拟机创建与管理以及网络配置等方面的内容。这些步骤能够帮助用户快速上手 KVM 虚拟化技术,充分利用其提供的强大功能来构建和管理...

    KVM虚拟化技术基础与实践课件.zip

    - 管理网络:设置网络桥接、NAT、端口转发等,以满足不同网络需求。 - 存储管理:挂载、迁移、备份和恢复虚拟磁盘。 - 性能监控:通过`virt-top`或`virsh domstats`命令查看虚拟机的资源使用情况。 **4. 虚拟机迁移...

    大二下学期KVM虚拟化实践与编程实验报告.zip

    配置网络,可以选择桥接模式或者NAT模式,以便虚拟机连接到外部网络。 4. **启动第一个虚拟机**:创建虚拟机配置文件,定义CPU数量、内存大小、磁盘大小等参数。使用qemu-img工具创建虚拟硬盘镜像,然后通过virsh...

    电信设备-一种KVM虚拟化服务系统及其数据通信方法.zip

    这通常借助于QEMU(Quick Emulator)的一部分——libvirt库来实现,libvirt提供了一套API和工具,用于管理和配置KVM虚拟机及网络。 为了实现高效的数据通信,KVM还引入了vhost技术。vhost直接将虚拟机的网络I/O绑定...

    KVM虚拟化技术基础与实践.zip

    第二章“KVM环境搭建”详述了如何在Linux系统上安装和配置KVM,包括安装必要的软件包,如qemu-kvm、libvirt等,以及设置网络配置,如桥接网络、NAT网络和路由网络。同时,本章可能还涵盖了如何创建和管理虚拟机的...

    KVM实战:原理、进阶与性能调优.pdf

    构建KVM环境(第3章)涉及硬件系统的配置、宿主机操作系统的安装、KVM以及QEMU的编译安装、客户机的安装和启动。 KVM管理工具(第4章)的介绍比较全面,涵盖了libvirt、virsh、virt-manager、virt-viewer、virt-...

    如何创建多个虚拟机(通用)

    这将引导你通过一系列向导步骤,包括选择操作系统类型(如Windows、Linux、macOS等)、设定内存大小、分配磁盘空间、设置网络连接方式(桥接、NAT、仅主机模式)等。 **步骤5:安装操作系统** 为虚拟机选择或提供...

    kvm-systemd:使用 systemd 运行 KVM 的一些实用程序

    3. **网络配置**:设置网络桥接或NAT,确保虚拟机的网络通信,并可以使用systemd-networkd进行网络服务管理。 总之,将KVM与systemd结合使用,不仅简化了虚拟机的管理,提升了运维效率,还增强了系统的稳定性和安全...

    KVM安装与配置[参考].pdf

    **KVM(Kernel-based ...以上是KVM虚拟化环境的基本构建和管理过程,涵盖了从安装到配置网络,再到启动和管理虚拟机的关键步骤。通过熟练掌握这些技能,你可以在单个物理服务器上高效地运行多个独立的操作系统实例。

    openmediavault-kvm:kvm的openmediavault插件

    在openmediavault-kvm插件的帮助下,用户无需专业知识就能轻松配置和管理KVM虚拟机。 在JavaScript方面,openmediavault-kvm的界面和交互主要由JavaScript驱动。JavaScript是一种广泛应用于Web开发的脚本语言,尤其...

    KVM-OpenVZ虚拟化和使用Proxmox-VE进行云计算.doc

    - **网络管理**:Proxmox VE提供了网络桥接和网络地址转换(NAT)功能,确保虚拟机能够正确接入和路由网络流量。 - **资源管理**:可以对虚拟机的CPU、内存、磁盘空间等资源进行分配和限制,确保系统整体性能和稳定...

    20级网络三班 2018120074高豪楠.docx

    通过以上步骤,你将能够在本地环境中构建一个基于KVM的虚拟化平台,其中包含两台使用cirros操作系统的虚拟机,它们通过桥接网络与物理网络相连。这个环境对于学习和测试网络配置、操作系统行为或者软件部署等场景...

Global site tag (gtag.js) - Google Analytics