CN104407913B - 一种单网卡虚拟机实现双线接入的方法 - Google Patents

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

Info

Publication number
CN104407913B
CN104407913B CN201410637725.1A CN201410637725A CN104407913B CN 104407913 B CN104407913 B CN 104407913B CN 201410637725 A CN201410637725 A CN 201410637725A CN 104407913 B CN104407913 B CN 104407913B
Authority
CN
China
Prior art keywords
virtual machine
address
network
net
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410637725.1A
Other languages
English (en)
Other versions
CN104407913A (zh
Inventor
莫佩红
杨松
莫展鹏
季统凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201410637725.1A priority Critical patent/CN104407913B/zh
Publication of CN104407913A publication Critical patent/CN104407913A/zh
Application granted granted Critical
Publication of CN104407913B publication Critical patent/CN104407913B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

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

Claims (5)

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用于虚拟机公网通信,通过在br0上创建一对虚拟网络接口,并且给每个虚拟网络接口配置一个公有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的数据包,并且不把内网的数据包转发到外网。
CN201410637725.1A 2014-11-12 2014-11-12 一种单网卡虚拟机实现双线接入的方法 Active CN104407913B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410637725.1A CN104407913B (zh) 2014-11-12 2014-11-12 一种单网卡虚拟机实现双线接入的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410637725.1A CN104407913B (zh) 2014-11-12 2014-11-12 一种单网卡虚拟机实现双线接入的方法

Publications (2)

Publication Number Publication Date
CN104407913A CN104407913A (zh) 2015-03-11
CN104407913B true CN104407913B (zh) 2017-09-22

Family

ID=52645546

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410637725.1A Active CN104407913B (zh) 2014-11-12 2014-11-12 一种单网卡虚拟机实现双线接入的方法

Country Status (1)

Country Link
CN (1) CN104407913B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302839B (zh) * 2015-05-12 2020-06-26 中兴通讯股份有限公司 互联网协议ip地址的分配方法及装置
CN105635332A (zh) * 2015-12-21 2016-06-01 国云科技股份有限公司 一种多虚拟机共用单外网ip的方法
CN105635312B (zh) * 2016-01-25 2019-03-22 株洲南车时代电气股份有限公司 基于WinCE系统单网卡实现多局域网络通信的方法
CN105721630A (zh) * 2016-03-24 2016-06-29 国云科技股份有限公司 一种虚拟机共用宿主机ip提供外网服务的方法
CN107508845B (zh) * 2016-06-14 2021-07-06 中兴通讯股份有限公司 一种组网系统、网络共享方法和系统
CN107301083A (zh) * 2017-06-16 2017-10-27 郑州云海信息技术有限公司 一种创建OpenStack虚拟机方法及OpenStack虚拟机系统
CN107360033A (zh) * 2017-07-25 2017-11-17 郑州云海信息技术有限公司 一种网络资源管理的方法和装置
CN107741874B (zh) * 2017-10-12 2021-05-14 武汉中地数码科技有限公司 一种gis云虚拟机自动创建方法及系统
CN110113211A (zh) * 2019-05-10 2019-08-09 深圳市智微智能科技开发有限公司 实现Android广告机双网段的方法、系统、广告机及存储介质
CN112671939B (zh) * 2020-08-17 2022-07-05 紫光云技术有限公司 一种区分nat删除和nat解绑弹性公网ip的方法
CN114070789B (zh) * 2021-11-16 2023-04-11 上海思询信息科技有限公司 一种基于OpenStack实现外部网络多线接入的方法
CN115277726A (zh) * 2022-05-30 2022-11-01 浪潮软件集团有限公司 一种双网络的集群数据传输方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1274198A2 (de) * 2001-07-04 2003-01-08 Siemens Aktiengesellschaft Verfahren und Anordnung zur Konfiguration eines Kommunikationsverbundes
EP1455483A3 (en) * 2003-03-06 2011-01-05 Microsoft Corporation Virtual network topology generation
CN102664972A (zh) * 2012-05-11 2012-09-12 中科方德软件有限公司 一种虚拟网络中地址映射方法和装置
CN103731308A (zh) * 2013-12-29 2014-04-16 国云科技股份有限公司 一种虚拟机公网管理方法
CN103812704A (zh) * 2014-02-25 2014-05-21 国云科技股份有限公司 一种面向虚拟机的公网ip动态管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1274198A2 (de) * 2001-07-04 2003-01-08 Siemens Aktiengesellschaft Verfahren und Anordnung zur Konfiguration eines Kommunikationsverbundes
EP1455483A3 (en) * 2003-03-06 2011-01-05 Microsoft Corporation Virtual network topology generation
CN102664972A (zh) * 2012-05-11 2012-09-12 中科方德软件有限公司 一种虚拟网络中地址映射方法和装置
CN103731308A (zh) * 2013-12-29 2014-04-16 国云科技股份有限公司 一种虚拟机公网管理方法
CN103812704A (zh) * 2014-02-25 2014-05-21 国云科技股份有限公司 一种面向虚拟机的公网ip动态管理方法

Also Published As

Publication number Publication date
CN104407913A (zh) 2015-03-11

Similar Documents

Publication Publication Date Title
CN104407913B (zh) 一种单网卡虚拟机实现双线接入的方法
CN103812704B (zh) 一种面向虚拟机的公网ip动态管理方法
CN102664972B (zh) 一种虚拟网络中地址映射方法和装置
CN103346981B (zh) 虚拟交换方法、相关装置和计算机系统
US9264403B2 (en) Virtualization platform
CN104486192B (zh) 一种虚拟网络隔离方法
CN104468368B (zh) 配置bgp邻居的方法及装置
US20160072762A1 (en) Network Access Method and Device for Equipment
CN105635332A (zh) 一种多虚拟机共用单外网ip的方法
CN107005471A (zh) 通用客户驻地设备
CN105446662B (zh) 一种业务割接方法、存储控制装置及存储设备
CN103026660A (zh) 网络策略配置方法、管理设备以及网络管理中心设备
CN105407140A (zh) 一种网络化测试系统的计算资源虚拟化系统及方法
CN106383736B (zh) 端口扩展方法和装置
CN106712988A (zh) 一种虚拟网络管理方法及装置
CN106911779A (zh) 一种云平台虚拟机获取ip方法及装置
CN102857510B (zh) 访问控制列表acl表项下发方法和装置
CN111556110B (zh) 一种用于私有云系统的不同物理业务网络自动化适配方法
CN105721630A (zh) 一种虚拟机共用宿主机ip提供外网服务的方法
CN103905312B (zh) IPv6/IPv4协议翻译网关及数据报文处理方法
CN103716181A (zh) 一种在网关设备路由模式下lan_wan虚拟通道的实现方法
CN108833472B (zh) 云主机的连接建立系统
CN106998338A (zh) 一种实现vnf部署的方法及装置
CN109936490A (zh) 基于VXLAN和OpenFlow的虚拟家庭网络共享方法及系统
CN104506403A (zh) 一种支持多级隔离的虚拟网络管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 523808 19th Floor, Cloud Computing Center, Chinese Academy of Sciences, No. 1 Kehui Road, Songshan Lake Hi-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee after: G-Cloud Technology Co., Ltd.

Address before: 523808 No. 14 Building, Songke Garden, Songshan Lake Science and Technology Industrial Park, Dongguan City, Guangdong Province

Patentee before: G-Cloud Technology Co., Ltd.

CP02 Change in the address of a patent holder