书签 分享 收藏 举报 版权申诉 / 16

一种单网卡虚拟机实现双线接入的方法.pdf

  • 上传人:Y948****062
  • 文档编号:1895466
  • 上传时间:2018-07-21
  • 格式:PDF
  • 页数:16
  • 大小:4.22MB
  • 摘要
    申请专利号:

    CN201410637725.1

    申请日:

    2014.11.12

    公开号:

    CN104407913A

    公开日:

    2015.03.11

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F9/455申请日:20141112|||公开

    IPC分类号:

    G06F9/455

    主分类号:

    G06F9/455

    申请人:

    国云科技股份有限公司

    发明人:

    莫佩红; 杨松; 莫展鹏; 季统凯

    地址:

    523808广东省东莞市松山湖科技产业园区松科苑14号楼

    优先权:

    专利代理机构:

    广东莞信律师事务所44332

    代理人:

    余伦

    PDF完整版下载: PDF下载
    内容摘要

    本发明涉及云计算技术领域,特别是指一种单网卡虚拟机实现双线接入的方法。本发明先在宿主机配置操作系统内核参数,允许IP转发;然后在宿主机中配置两张网卡,一张网卡桥接到网桥br1,并给其配置私有IP,用于创建虚拟机;另一张网卡接外网的交换机,并桥接到br0,但不配置IP,用于分配虚拟机公有IP;虚拟机创建成功以后,给其分配一个私有IP;虚拟机需要双线接入时,在br0网桥上配置一对公有IP,并以虚拟机的id来标记br0的虚拟网络接口,使用NAT映射规则,把一对公有IP分别都映射到虚拟机的私有IP;不需要双线接入时,将对应这台虚拟机的NAT映射规则删除。本发明能在单网卡环境下实现虚拟机双线网络的接入;可以用于虚拟机的网络接入。

    权利要求书

    权利要求书
    1.  一种单网卡虚拟机实现双线接入的方法,其特征在于:
    所述的方法包括如下步骤:
    步骤1:配置宿主机的操作系统内核参数,设置为允许IP转发;
    步骤2:在宿主机中配置两张网卡,一张网卡桥接到网桥br1,br1配置私有IP,用br1创建虚拟机;另一张网卡接外网的交换机,并桥接到br0,但br0不配置IP,用于分配虚拟机公有IP;
    步骤3:创建虚拟机,分配给其一个私有IP;
    步骤4:在宿主机的br0网桥上配置一对公有IP,并以虚拟机的id来标记br0的虚拟网络接口;
    步骤5:使用NAT映射规则,将一对公有IP分别都映射到虚拟机的私有IP;
    步骤6:双网线接入结束,若不需要双网线接入,则执行步骤7;
    步骤7:把宿主机上对应的虚拟机NAT映射删除。

    2.  根据权利要求1所述的单网卡虚拟机实现双线接入的方法,其特征在于:所述宿主机的两张网卡分别桥接到br1和br0,其中br1作为桥接网卡连接到虚拟机的内网,用于作为虚拟机的网桥,br0连接到公网网,可同时配置多个公网IP,这种情况下,每个IP会建立一个虚拟网络接口,使用不同的标识。

    3.  根据权利要求1所述的单网卡虚拟机实现双线接入的方法,其特征在于:所述的NAT映射,即Network Address Translation(网络地址转换),是将IP数据包头中的IP地址转换为另一个IP地址的过程;
    所述使用NAT映射规则指的是在br0接收到公网的数据包时把数据包中的 目的地址转换成相对应的虚拟机的内网IP地址,同时在br0接收到虚拟机向外发送的数据包时,把数据包中的源地址转换成相对应的公网IP地址。

    4.  根据权利要求2所述的单网卡虚拟机实现双线接入的方法,其特征在于:所述的NAT映射,即Network Address Translation(网络地址转换),是将IP数据包头中的IP地址转换为另一个IP地址的过程;
    所述使用NAT映射规则指的是在br0接收到公网的数据包时把数据包中的目的地址转换成相对应的虚拟机的内网IP地址,同时在br0接收到虚拟机向外发送的数据包时,把数据包中的源地址转换成相对应的公网IP地址。

    5.  根据权利要求1至4任一项所述的单网卡虚拟机实现双线接入的方法,其特征在于:所述删除NAT映射规则指的是取消对地址的转换,不再接收来自公网IP的数据包,并且不把内网的数据包转发到外网。

    说明书

    说明书一种单网卡虚拟机实现双线接入的方法
    技术领域
    本发明涉及云计算技术领域,特别是指一种单网卡虚拟机实现双线接入的方法。
    背景技术
    在国内,电信网和网通网不能很好地进行互联是一个现实存在的问题,采用设置镜像服务器的方式成本又比较高,因此,通常主机都会采用双线接入的方式,在虚拟机中实现双线接入一般都会采用双网卡双网桥的方式,这种方法实现的双线接入,有如下的弊端:
    1、宿主机安装的两张网卡都用在虚拟网络上,要进行内部管理就必须要安装第三张网卡,这会加大云平台在硬件上的费用;
    2、虚拟拟机的两张网卡的数据转发需要由虚拟机的使用者或应用的管理者负责管理,这是与具体业务无关的额外的工作,势必会提高应用管理者的维护工作难度,加大虚拟机管理者的工作量。
    3、当不需要双线接入时,需进行虚拟机网卡的拆卸,重启虚拟机,造成应用中断,影响具体业务的日常生产。
    为了增强双线接入的适用性,提升虚拟机使用者/管理者在虚拟机网络管理的效率,并且也能更大幅度地节约云平台硬件上的费用,需要一种只在宿主机配置两张网卡,就能同时满足双线接入和内部管理的需求,并且在虚拟机内部只需一张虚拟机网卡,增加映射规则,双线接入就立即生效的方法。
    发明内容
    本发明解决的技术问题在于提供单网卡虚拟机实现双线接入的方法,解决了电信网和网通网不能很好地进行互联,采用设置镜像服务器的方式成本又比较高,采用在虚拟机中实现双网卡双网桥的方式,又势必会提高应用管理者的维护工作难度,加大虚拟机管理者的工作量等问题。
    本发明解决上述技术问题的技术方案是:
    所述的方法包括如下步骤:
    步骤1:配置宿主机的操作系统内核参数,设置为允许IP转发;
    步骤2:在宿主机中配置两张网卡,一张网卡桥接到网桥br1,br1配置私有IP,用br1创建虚拟机;另一张网卡接外网的交换机,并桥接到br0,但br0不配置IP,用于分配虚拟机公有IP;
    步骤3:创建虚拟机,分配给其一个私有IP;
    步骤4:在宿主机的br0网桥上配置一对公有IP,并以虚拟机的id来标记br0的虚拟网络接口;
    步骤5:使用NAT映射规则,将一对公有IP分别都映射到虚拟机的私有IP;
    步骤6:双网线接入结束,若不需要双网线接入,则执行步骤7;
    步骤7:把宿主机上对应的虚拟机NAT映射删除。
    所述宿主机的两张网卡分别桥接到br1和br0,其中br1作为桥接网卡连接到虚拟机的内网,用于作为虚拟机的网桥,br0连接到公网网,可同时配置多个公网IP,这种情况下,每个IP会建立一个虚拟网络接口,使用不同的标识。
    所述的NAT映射,即Network Address Translation(网络地址转换),是将IP数据包头中的IP地址转换为另一个IP地址的过程;
    所述使用NAT映射规则指的是在br0接收到公网的数据包时把数据包中的目的地址转换成相对应的虚拟机的内网IP地址,同时在br0接收到虚拟机向外发送的数据包时,把数据包中的源地址转换成相对应的公网IP地址。
    所述删除NAT映射规则指的是取消对地址的转换,不再接收来自公网IP的数据包,并且不把内网的数据包转发到外网。
    本发明的方法是适用性很强的方法,需要双线接入时,只需要增加映射规则,规则立即生效,不需要双线接入时,删除规则也是马上生效,而且不需要进行虚拟网卡的拆卸,免去重启虚拟机的麻烦。本发明的方法只需要两张网卡既可以满足双线接入和内部管理的需求,节省费用;本发明的方法提供的虚拟机只有一张虚拟网卡,减轻虚拟机使用者或应用管理者在虚拟网络管理上的工作量。
    附图说明
    下面结合附图对本发明进一步说明:
    图1为本发明方法流程图;
    图2为本发明方法逻辑架构图。
    具体实施方式
    见附图1、2所示,本发明首先:配置宿主机的操作系统内核参数,设置为允许IP转发。具体配置如下:
    配置/etc/sysctl.conf文件:
    net.ipv4.ip_forward=1
    配置完后,执行sysctl-p命令,立即生效
    第二步:在宿主机中配置两张网卡,一张网卡桥接到网桥br1,br1配置私有IP,用br1创建虚拟机;另一张网卡接外网的交换机,并桥接到br0,但br0不配置IP,用于分配虚拟机公有IP;
    第三步:创建虚拟机完成后,分配给其一个私有IP。设置虚拟机内网IP,是通过在DNSmasq配置文件里将一个私有IP和一个MAC地址绑定存储,DNSmasq进程向虚拟机发送IP信息,用DHCP配置的虚拟机就能自动获取DNSmasq进程发送过来的IP信息,从而获得私有IP。具体实现代码如下:



    第四步:双线接入时,在br0网桥上配置一对公有IP,并以虚拟机的id来标记br0的虚拟网络接口。实现代码如下:



    说明:现假设虚拟机A目前的内网ip为10.10.10.10,虚拟机id为i-5FAB3FADtel代表电信,cnc代表网通
    要将电信外网ip 20.251.48.99分配给虚拟机A使用,配置如下:
    #ifconfig br0:i-5FAB3FAD-tel 20.251.48.99/24 up#在br0分配一个电信IP要将网通外网ip 122.251.48.99分配给虚拟机A使用,配置如下:
    #ifconfig br0:i-5FAB3FAD-cnc 122.251.48.99/24 up#在br0分配一个网通IP
    第五步:使用NAT映射规则,把一对公有IP分别都映射到虚拟机的私有IP。
    具体实现代码如下:


    build(ElasticIp elasticIp)方法如上述第四步具体实现代码所示,是通过执行build.sh脚本来完成标记br0的虚拟网络接口以及建立内外网IP映射关系。
    /usr/share/gTunnel/elasticIp/build.sh脚本中建立内外网IP映射关系的规则如下:
    iptables-A PREROUTING-t nat-d$2-jDNAT--to$3
    iptables-tnat-A POSTROUTING-s$3!-d$7-jSNAT--to-source$2
    说明:现假设虚拟机A目前的内网ip为10.10.10.10,虚拟机id为i-5FAB3FAD tel代表电信,cnc代表网通
    要将电信外网ip 20.251.48.99分配给虚拟机A使用,映射关系如下:
    #iptables-A PREROUTING-t nat-d 20.251.48.99 -j DNAT--to 10.10.10.10
    #iptables-A POSTROUTING-t nat -j SNAT-s 10.10.10.10--to20.251.48.99
    要将电信外网ip 122.251.48.99分配给虚拟机A使用,映射关系如下:
    #iptables-APREROUTING-t nat-d 122.251.48.99-jDNAT--to 10.10.10.10#iptables-A POSTROUTING-t nat -j SNAT-s 10.10.10.10--to122.251.48.99
    最后,若要取消双线接入,执行删除映射规则即可立即生效,实现代码如下:



    说明:现假设虚拟机A目前的内网ip为10.10.10.10,虚拟机id为i-5FAB3FAD tel代表电信,cnc代表网通
    要将电信外网ip 20.251.48.99释放:
    #ifconfig br0:i-5FAB3FAD-tel down
    #iptables-D PREROUTING-t nat-d 20.251.48.99-j DNAT--to 10.10.10.10
    #iptables-D POSTROUTING-t nat-j SNAT-s 10.10.10.10--to20.251.48.99
    要将电信外网ip 122.251.48.99释放:
    #ifconfig br0:i-5FAB3FAD-cnc down
    #iptables-D PREROUTING-t nat-d 122.251.48.99-j DNAT--to 10.10.10.10
    #iptables-D POSTROUTING-t nat-j SNAT-s 10.10.10.10--to122.251.48.99。

    关 键  词:
    一种 网卡 虚拟机 实现 双线 接入 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种单网卡虚拟机实现双线接入的方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1895466.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1