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

Linux系统中KVM虚拟机如何设置网络桥接

一、配置网桥1.备份相关网络脚本文件,以便将来参考和恢复#cp/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-eth0.bak2.定位到/etc/sysconfig/network-scripts/目录#cd/e
一、配置网桥
1. 备份相关网络脚本文件,以便将来参考和恢复
   # cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak

2. 定位到/etc/sysconfig/network-scripts/目录
   # cd /etc/sysconfig/network-scripts/

3. 创建网桥
   # cp ifcfg-eth0 ifcfg-br0

4. 编辑ifcfg-br0文件
    首先在# vi /etc/sysconfig/network 中加入下面一行:
        GATEWAY=你的网关(例如10.60.58.254)
   1).  如果你的网卡配有静态IP地址,你将会有一个类似的脚本文件original ifcfg-eth0:
       DEVICE=eth0
       TYPE=Ethernet
       OnBOOT=yes
       BOOTPROTO=static
       MACADDR=00:0F:1F:7F:47:27
       IPADDR=10.60.56.90
       PREFIX=24

    下面根据original network script file,configure the new "ifcfg-eth0" and "ifcfg-br0" script files。

    the new ifcfg-eth0's contents:
       DEVICE=eth0
       TYPE=Ethernet
       OnBOOT=yes
       #BOOTPROTO=static
       MACADDR=00:0F:1F:7F:47:27    #(本来是MACADDR,不能变为HWADDR)
       #IPADDR=10.60.56.90
       #PREFIX=24
       NM_COnTROLLED=no                #(该行不能省略,也不能为yes)
       BRIDGE=br0

    The new ifcfg-br0's contents:
       DEVICE=br0
       TYPE=Bridge
       NM_COnTROLLED=no                #(该行不能省略)
       OnBOOT=yes
       BOOTPROTO=static
       #MACADDR=00:0F:1F:7F:47:27
       IPADDR=10.60.56.90
       PREFIX=24

    2). 如果你的网卡配有动态IP address,your original network script file should look similar to the following example:

       DEVICE=eth0
       BOOTPROTO=dhcp
       HWADDR=00:14:5E:C2:1E:40
       OnBOOT=yes

    The new network script file "ifcfg-eth0" includes:
       DEVICE=eth0
       TYPE=Ethernet
       HWADDR=00:14:5E:C2:1E:40
       OnBOOT=yes
       NM_COnTROLLED=no
       BRIDGE=br0

    (The new network script file for network card (eth0), which is the same as the example for the static IP address scenario.)

    The new network script file "ifcfg-br0" includes:
       DEVICE=br0
       TYPE=Bridge
       NM_COnTROLLED=no
       BOOTPROTO=dhcp
       OnBOOT=yes

5. Restart the network to verify that the configuration works
   # service network restart

   现在可以试一试,能连上网络了,和配置网桥之前一样。

6. You can also see this bridge by running the following command:
   # brctl show
    bridge name    bridge id                         STP enabled    interfaces
    br0                    8000.000f1f7f4727        no                     eth0
    virbr0               8 000.52540052cb44     yes                   virbr0-nic

二、安装配置虚拟机
在这里,我们使用libvirt的virt-install命令安装虚拟机。
准备工作:# yum install qemu-kvm virt-manager virt-viewer  python-virtinst 和 # yum groupinstall 'Virtualization'

安装配置虚拟机可以分为两种情况,一是在配置br0之前安装的虚拟系统,二是在配置br0之后安装的虚拟系统。
下面我们先讲解后者。在配置br0之后安装虚拟系统:
1. 首先,创建一个镜像文件
# qemu-img create -f raw /path/to/xxx-kvmx.img 6G

2. 安装:
    # virt-install --name kvm2 --vcpus 2 --ram 1000 --disk /var/lib/libvirt/images/share/CentOS-kvm1.img --network bridge:br0 -c /path/to/CentOS-6.4-x86_64-bin-DVD1.iso
对参数简单介绍:
       --name:         VM的名字是kvm2,自动生成的配置文件是kvm2.xml;
       --vcpus:         虚拟cpu个数是2;
       --ram:            虚拟内存是1000MB;
       --disk:            虚拟镜像文件(虚拟磁盘);
       --network:      使用前面配置的桥接网络br0;
       -c或--cdrom:  安装源文件是xxx-xxx-version.iso;
    以上参数势必需要有的。
    启动安装会自动打开virt-viewer图形界面,会自动生成/etc/libvirt/qemu/kvm2.xml配置文件。

     如果在配置br0之前采用默认网络安装的虚拟系统(centos_share),想要使用桥接网络上网,那么进行以下修改:
1‘. # vi /etc/libvirt/qemu/centos_share.xml
    修改前:
        ......
                #####有待修改
             
                  ####有待修改
             
             


       
        ......
   修改后:
        ......
                ####将network修改为bridge
             
                      ####network='default'修改为bridge='br0'
             
             

       
        ......

2‘. 修改完成,保存退出后,执行命令# virsh define /etc/libvirt/qemu/centos_share.xml。

    进行到此处,kvm官网和IBM配置文档,还有一些博客都认为虚拟机已经可以上网了! 但是我试了很多次,做了许多细节修改,虚拟系统还是不能两连通外网;最好的情况是,主机和虚拟系统可以互联。

    于是我费了很大的努力:做了以下修改后,虚拟机终于可以上网了。
3. 最后进行虚拟机系统网络的配置:
    # cat /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    HWADDR=52:54:00:CB:25:FD  ##此硬件地址是虚拟系统安装过程中,自动生成的
    TYPE=Ethernet
    #UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
    OnBOOT=yes
    IPADDR=10.60.xx.xx  ###***
    GATEWAY=10.60.xx.254
    NETMASK=255.255.255.0
4. 保存退出!
    # service network restart

    到达此处,我的虚拟机成功连通外网了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

注意:如果你的网络需要使用代理上网,那么你的代理服务器必须允许###***处的IPADDR网络地址通过代理服务器访问外网。否则,在浏览器浏览网页时会发生Access denied的问题!错误如下:
当尝试读取以下网址(URL)时: [url]http://www.sina.com.cn/[/url]
发生了下列的错误:

Access Denied.
访问拒绝
Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.
当前的存取控制设定禁止您的请求被接受http://bcaiw.fcgqts.gov.cn,如果您觉得这是错误的,请与您网路服务的提供者联系。
本缓存服务器管理员:root。
--------------------------------------------------------------------------------
Generated xxx, 4 xxx 2013 05:47:16 GMT by zjupry5.zju.edu.cn (squid/2.5.STABLE5-20040426)

###############################################################################################
我的解决的方法是选择一个代理服务器允许的IP地址。


推荐阅读
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文详细探讨了 Django 的 ORM(对象关系映射)机制,重点介绍了其如何通过 Python 元类技术实现数据库表与 Python 类的映射。此外,文章还分析了 Django 中各种字段类型的继承结构及其与数据库数据类型的对应关系。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 离线环境下的Python及其第三方库安装指南
    在项目开发中,有时会遇到电脑只能连接内网或完全无法联网的情况。本文将详细介绍如何在这种环境下安装Python及其所需的第三方库,确保开发工作的顺利进行。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文详细介绍了在Android 8.x中,GMS认证新增的CTS和VTS测试,特别是如何在VTS环境下测试GSI版本。文章涵盖了详细的测试环境配置和具体操作步骤。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • CentOS系统安装与配置常见问题及解决方案
    本文详细介绍了在CentOS系统安装过程中遇到的常见问题及其解决方案,包括Vi编辑器的操作、图形界面的安装、网络连接故障排除等。通过本文,读者可以更好地理解和解决这些常见问题。 ... [详细]
author-avatar
聪VS霞_539
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有