CN104407913A - 一种单网卡虚拟机实现双线接入的方法 - Google Patents
一种单网卡虚拟机实现双线接入的方法 Download PDFInfo
- Publication number
- CN104407913A CN104407913A CN201410637725.1A CN201410637725A CN104407913A CN 104407913 A CN104407913 A CN 104407913A CN 201410637725 A CN201410637725 A CN 201410637725A CN 104407913 A CN104407913 A CN 104407913A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- network
- address
- packet
- net
- 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.)
- Granted
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-5FAB3FADtel代表电信,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-5FAB3FADtel代表电信,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连接到公网网,可同时配置多个公网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的数据包,并且不把内网的数据包转发到外网。
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 true CN104407913A (zh) | 2015-03-11 |
CN104407913B 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) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635312A (zh) * | 2016-01-25 | 2016-06-01 | 株洲南车时代电气股份有限公司 | 基于WinCE系统单网卡实现多局域网络通信的方法 |
CN105635332A (zh) * | 2015-12-21 | 2016-06-01 | 国云科技股份有限公司 | 一种多虚拟机共用单外网ip的方法 |
CN105721630A (zh) * | 2016-03-24 | 2016-06-29 | 国云科技股份有限公司 | 一种虚拟机共用宿主机ip提供外网服务的方法 |
WO2016179950A1 (zh) * | 2015-05-12 | 2016-11-17 | 中兴通讯股份有限公司 | 互联网协议ip地址的分配方法及装置 |
CN107301083A (zh) * | 2017-06-16 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种创建OpenStack虚拟机方法及OpenStack虚拟机系统 |
CN107360033A (zh) * | 2017-07-25 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种网络资源管理的方法和装置 |
WO2017215483A1 (zh) * | 2016-06-14 | 2017-12-21 | 中兴通讯股份有限公司 | 一种组网系统、网络共享方法和系统 |
CN107741874A (zh) * | 2017-10-12 | 2018-02-27 | 武汉中地数码科技有限公司 | 一种gis云虚拟机自动创建方法及系统 |
CN110113211A (zh) * | 2019-05-10 | 2019-08-09 | 深圳市智微智能科技开发有限公司 | 实现Android广告机双网段的方法、系统、广告机及存储介质 |
CN112671939A (zh) * | 2020-08-17 | 2021-04-16 | 紫光云技术有限公司 | 一种区分nat删除和nat解绑弹性公网ip的方法 |
CN114070789A (zh) * | 2021-11-16 | 2022-02-18 | 上海思询信息科技有限公司 | 一种基于OpenStack实现外部网络多线接入的方法 |
CN115277726A (zh) * | 2022-05-30 | 2022-11-01 | 浪潮软件集团有限公司 | 一种双网络的集群数据传输方法及系统 |
Citations (5)
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动态管理方法 |
-
2014
- 2014-11-12 CN CN201410637725.1A patent/CN104407913B/zh active Active
Patent Citations (5)
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动态管理方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302839B (zh) * | 2015-05-12 | 2020-06-26 | 中兴通讯股份有限公司 | 互联网协议ip地址的分配方法及装置 |
WO2016179950A1 (zh) * | 2015-05-12 | 2016-11-17 | 中兴通讯股份有限公司 | 互联网协议ip地址的分配方法及装置 |
CN106302839A (zh) * | 2015-05-12 | 2017-01-04 | 中兴通讯股份有限公司 | 互联网协议ip地址的分配方法及装置 |
CN105635332A (zh) * | 2015-12-21 | 2016-06-01 | 国云科技股份有限公司 | 一种多虚拟机共用单外网ip的方法 |
CN105635312B (zh) * | 2016-01-25 | 2019-03-22 | 株洲南车时代电气股份有限公司 | 基于WinCE系统单网卡实现多局域网络通信的方法 |
CN105635312A (zh) * | 2016-01-25 | 2016-06-01 | 株洲南车时代电气股份有限公司 | 基于WinCE系统单网卡实现多局域网络通信的方法 |
CN105721630A (zh) * | 2016-03-24 | 2016-06-29 | 国云科技股份有限公司 | 一种虚拟机共用宿主机ip提供外网服务的方法 |
CN107508845A (zh) * | 2016-06-14 | 2017-12-22 | 中兴通讯股份有限公司 | 一种组网系统、网络共享方法和系统 |
CN107508845B (zh) * | 2016-06-14 | 2021-07-06 | 中兴通讯股份有限公司 | 一种组网系统、网络共享方法和系统 |
WO2017215483A1 (zh) * | 2016-06-14 | 2017-12-21 | 中兴通讯股份有限公司 | 一种组网系统、网络共享方法和系统 |
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云虚拟机自动创建方法及系统 |
CN107741874A (zh) * | 2017-10-12 | 2018-02-27 | 武汉中地数码科技有限公司 | 一种gis云虚拟机自动创建方法及系统 |
CN110113211A (zh) * | 2019-05-10 | 2019-08-09 | 深圳市智微智能科技开发有限公司 | 实现Android广告机双网段的方法、系统、广告机及存储介质 |
CN112671939A (zh) * | 2020-08-17 | 2021-04-16 | 紫光云技术有限公司 | 一种区分nat删除和nat解绑弹性公网ip的方法 |
CN114070789A (zh) * | 2021-11-16 | 2022-02-18 | 上海思询信息科技有限公司 | 一种基于OpenStack实现外部网络多线接入的方法 |
CN115277726A (zh) * | 2022-05-30 | 2022-11-01 | 浪潮软件集团有限公司 | 一种双网络的集群数据传输方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104407913B (zh) | 2017-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104407913A (zh) | 一种单网卡虚拟机实现双线接入的方法 | |
CN103812704B (zh) | 一种面向虚拟机的公网ip动态管理方法 | |
CN103997414B (zh) | 生成配置信息的方法和网络控制单元 | |
CN104486192A (zh) | 一种虚拟网络隔离方法 | |
CN102307246B (zh) | 基于云计算的虚拟机间安全通信保护系统 | |
CN104468368B (zh) | 配置bgp邻居的方法及装置 | |
WO2015096737A1 (zh) | 一种控制网络设备自动开局的方法、设备及系统 | |
US20110292946A1 (en) | Virtualization Platform | |
CN104468746A (zh) | 一种适用于云平台的分布式虚拟网络实现方法 | |
CN106209553A (zh) | 报文处理方法、设备及系统 | |
CN102137001B (zh) | 交换路由信息的方法、设备和系统 | |
CN105407140A (zh) | 一种网络化测试系统的计算资源虚拟化系统及方法 | |
CN106911779A (zh) | 一种云平台虚拟机获取ip方法及装置 | |
EP3576347B1 (en) | Network device snapshots | |
CN105635332A (zh) | 一种多虚拟机共用单外网ip的方法 | |
CN105227466B (zh) | 通信处理方法和装置 | |
CN101951325A (zh) | 基于自动发现的网络终端配置系统及其配置方法 | |
CN104125128A (zh) | Linux软桥支持VLAN的方法 | |
CN104506403B (zh) | 一种支持多级隔离的虚拟网络管理方法 | |
CN107547403B (zh) | 报文转发方法、协助方法、装置、控制器及主机 | |
CN103731308A (zh) | 一种虚拟机公网管理方法 | |
CN102984202B (zh) | 一种穿越NAT设备实现Telnet网管的系统与方法 | |
CN107733717B (zh) | 一种云平台移动式运维的网络配置方法 | |
CN107017998B (zh) | 用于实现cgn柔性备份的方法和系统 | |
CN103141072B (zh) | Ip地址获取方法及网络接入设备 |
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 |