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

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

【技术实现步骤摘要】

本专利技术涉及云计算
,特别是指一种单网卡虚拟机实现双线接入的方法
技术介绍
在国内,电信网和网通网不能很好地进行互联是一个现实存在的问题,采用设置镜像服务器的方式成本又比较高,因此,通常主机都会采用双线接入的方式,在虚拟机中实现双线接入一般都会采用双网卡双网桥的方式,这种方法实现的双线接入,有如下的弊端: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$3iptables-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--to<本文档来自技高网...
一种单网卡虚拟机实现双线接入的方法

【技术保护点】
一种单网卡虚拟机实现双线接入的方法,其特征在于:所述的方法包括如下步骤:步骤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映射删除。

【技术特征摘要】
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所述的单网卡虚拟机实现双线接入的方法,其...

【专利技术属性】
技术研发人员:莫佩红杨松莫展鹏季统凯
申请(专利权)人:国云科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1