CN111327720A - 一种网络地址转换方法、装置、网关设备及存储介质 - Google Patents

一种网络地址转换方法、装置、网关设备及存储介质 Download PDF

Info

Publication number
CN111327720A
CN111327720A CN202010108741.7A CN202010108741A CN111327720A CN 111327720 A CN111327720 A CN 111327720A CN 202010108741 A CN202010108741 A CN 202010108741A CN 111327720 A CN111327720 A CN 111327720A
Authority
CN
China
Prior art keywords
eip
instance
address
data packet
port number
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
Application number
CN202010108741.7A
Other languages
English (en)
Other versions
CN111327720B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010108741.7A priority Critical patent/CN111327720B/zh
Publication of CN111327720A publication Critical patent/CN111327720A/zh
Application granted granted Critical
Publication of CN111327720B publication Critical patent/CN111327720B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2557Translation policies or rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请公开了一种目的地址转换方法、装置、网关设备及存储介质,涉及计算机网络技术。具体实现方案为:接收公网设备发送的IP访问数据包;按照管理服务器预先绑定的弹性公网网际互连协议地址EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的虚拟私有云VPC中的云服务器的IP地址和端口号;将IP访问数据包中的目的IP地址转换为云服务器的IP地址;将IP访问数据包中的目的端口号转换为云服务器的端口号;并将转换后的IP访问数据包发送至云服务器。本申请实施例可以实现网关设备支持目的网络地址转换,从而可以将公网IP映射给云服务器中的云计算实例使用。

Description

一种网络地址转换方法、装置、网关设备及存储介质
技术领域
本申请涉及计算机应用技术领域,进一步涉及计算机网络技术,尤其是一种网络地址转换方法、装置、网关设备及存储介质。
背景技术
网络地址转换(Network Address Translation,简称NAT)网关为私有网络提供访问因特网服务,可以使多台云服务器共享公网IP资源访问因特网。具体地,NAT网关可以绑定弹性公网网际互连协议地址(Elastic IP Address,简称EIP)实例及共享带宽,为云服务器实现从内网地址到公网地址的多对一或多对多的地址转换服务。即,内网地址要访问公网地址上的服务时(如网页访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对该内部地址进行地址转换,将内部地址的私有IP转换为公网的公有IP,这里将私有IP转换为公网IP的转换过程称为源地址转换(Source Network Address Translation,简称SNAT),主要用于内部共享IP访问外部。
当内部地址需要提供对外服务时(如对外发布网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关设备替代内部服务来接收外部的连接,然后在网关设备内部做地址转换,此转换过程称为目的网络地址转换(Destination Network Address Translation,简称DNAT),主要用于内部服务对外发布。但是现有的NAT网关不支持目的网络地址转换,无法将NAT网关上的公网IP映射给VPC(Virtual Private Cloud,简称虚拟私有云)中的云服务器中的云计算实例使用,如果想要使云计算实例能够提供互联网服务,那么就需要另外购买负载均衡产品实现该场景。
发明内容
有鉴于此,本申请提出实施例提供一种网络地址转换方法、装置、网关设备及存储介质,可以实现网关设备支持目的网络地址转换,从而可以将公网IP映射给云服务器中的云计算实例使用。
第一方面,本申请实施例提供了一种网络地址转换方法,应用于网关设备,所述方法包括:
接收公网设备发送的IP访问数据包;其中,所述IP访问数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:所述公网设备的IP地址、所述网关设备的目的IP地址、所述公网设备的端口号和所述网关设备的端口号;
按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出所述IP访问数据包对应的VPC中的云服务器的IP地址和端口号;
将所述IP访问数据包中的目的IP地址转换为所述云服务器的IP地址;将所述IP访问数据包中的目的端口号转换为所述云服务器的端口号;
将转换后的IP访问数据包发送至所述云服务器。
上述申请中的一个实施例具有如下优点或有益效果:上述实施例可以按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号;并将IP访问数据包中的目的IP地址转换为云服务器的IP地址,从而达到对实现网关设备支持目的网络地址转换目的。而在现有的网络地址转换方法中,现有的NAT网关不支持目的网络地址转换,无法将NAT网关上的公网IP映射给云服务器中的云计算实例使用,如果想要使云计算实例能够提供互联网服务,那么就需要另外购买负载均衡产品实现该场景。因为本申请采用了预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则的技术手段,克服了现有的NAT网关不支持目的网络地址转换的技术问题,进而达到了实现网关设备支持目的网络地址转换,从而可以将公网IP映射给云服务器中的云计算实例使用的技术效果。
在上述实施例中,所述方法还包括:
接收所述云服务器发送的IP返回数据包;其中,所述IP返回数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:所述云服务器的IP地址、所述网关设备的IP地址、所述云服务器的端口号和所述网关设备的端口号;
按照预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出所述IP返回数据包对应的公网设备的IP地址和端口号;
将所述IP返回数据包中的源IP地址转换为所述网关设备的IP地址;将所述IP返回数据包的源端口号转换为所述网关设备的端口号;
将转换后的IP返回数据包发送所述公网设备。
上述申请中的一个实施例具有如下优点或有益效果:上述实施例可以按照预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP返回数据包对应的公网设备的IP地址和端口号;将IP返回数据包中的源IP地址转换为网关设备的IP地址;将IP返回数据包的源端口号转换为网关设备的端口号,从而达到对实现网关设备支持目的网络地址转换目的。而在现有的网络地址转换方法中,现有的NAT网关不支持目的网络地址转换,无法将NAT网关上的公网IP映射给云服务器中的云计算实例使用,如果想要使云计算实例能够提供互联网服务,那么就需要另外购买负载均衡产品实现该场景。因为本申请采用了预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则的技术手段,克服了现有的NAT网关不支持目的网络地址转换的技术问题,进而达到了实现网关设备支持目的网络地址转换,从而可以将公网IP映射给云服务器中的云计算实例使用的技术效果。
在上述实施例中,在所述接收公网设备发送的IP访问数据包之前,所述方法还包括:
定期向所述管理服务器发送心跳数据包;接收所述管理服务器返回的响应数据包;
将所述响应数据包中携带的EIP实例与预先保存的EIP实例进行对比,确定出所述响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例;
根据所述响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例,在所述预先保存的EIP实例中绑定或者解绑所述存在差异的EIP实例。
上述申请中的一个实施例具有如下优点或有益效果:网关设备通过定期向管理服务器发送心跳包,可以实现网关设备与管理服务器中绑定的EIP实例同步,从而达到管理服务器对网关设备进行管理的目的。
在上述实施例中,所述方法还包括:
根据所述存在差异的EIP实例,在所述响应数据包中获取所述存在差异的EIP实例的类型;
根据所述存在差异的EIP实例的类型,在预先设置的IP数据表中添加或者修改或者删除各个EIP实例对应的网络地址转换规则;其中,所述类型包括:SNAT和DNAT。
上述申请中的一个实施例具有如下优点或有益效果:网关设备通过在预先设置的IP数据表中添加或者修改或者删除各个EIP实例对应的网络地址转换规则,可以实现网关设备与管理服务器中绑定的EIP实例同步,从而达到管理服务器对网关设备进行管理的目的。
在上述实施例中,所述方法还包括:
若在所述预先设置的IP数据表中添加成功或者修改成功或者删除成功各个EIP实例对应的网络地址转换规则,则在内存中更新所述预先设置的IP数据表的状态信息。
上述申请中的一个实施例具有如下优点或有益效果:网关设备在预先设置的IP数据表中添加成功或者修改成功或者删除成功各个EIP实例对应的网络地址转换规则之后,通过更新预先设置的IP数据表的状态信息,在下一次心跳时可以通知管理服务器,网关设备是否添加成功或者修改成功或者删除成功,从而达到管理服务器对网关设备进行管理的目的。
第二方面,本申请还提供了一种网络地址转换装置,所述装置包括:接收模块、确定模块、转换模块和发送模块;其中,
所述接收模块,用于接收公网设备发送的IP访问数据包;其中,所述IP访问数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:所述公网设备的IP地址、所述网关设备的目的IP地址、所述公网设备的端口号和所述网关设备的端口号;
所述确定模块,用于按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出所述IP访问数据包对应的VPC中的云服务器的IP地址和端口号;
所述转换模块,用于将所述IP访问数据包中的目的IP地址转换为所述云服务器的IP地址;将所述IP访问数据包中的目的端口号转换为所述云服务器的端口号;
所述发送模块,用于将转换后的IP访问数据包发送至所述云服务器。
在上述实施例中,所述接收模块,还用于接收所述云服务器发送的IP返回数据包;其中,所述IP返回数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:所述云服务器的IP地址、所述网关设备的IP地址、所述云服务器的端口号和所述网关设备的端口号;
所述确定模块,还用于按照预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出所述IP返回数据包对应的公网设备的IP地址和端口号;
所述转换模块,还用于将所述IP返回数据包中的源IP地址转换为所述网关设备的IP地址;将所述IP返回数据包的源端口号转换为所述网关设备的端口号;
所述发送模块,还用于将转换后的IP返回数据包发送所述公网设备。
在上述实施例中,所述发送模块,还用于定期向所述管理服务器发送心跳数据包;
所述接收模块,还用于接收所述管理服务器返回的响应数据包;所述响应数据包中携带的EIP实例与预先保存的EIP实例进行对比,确定出所述响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例;根据所述响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例,在所述预先保存的EIP实例中绑定或者解绑所述存在差异的EIP实例。
在上述实施例中,所述接收模块,还用于根据所述存在差异的EIP实例,在所述响应数据包中获取所述存在差异的EIP实例的类型;根据所述存在差异的EIP实例的类型,在预先设置的IP数据表中添加或者修改或者删除各个EIP实例对应的网络地址转换规则;其中,所述类型包括:SNAT和DNAT。
在上述实施例中,所述接收模块,还用于若在所述预先设置的IP数据表中添加成功或者修改成功或者删除成功各个EIP实例对应的网络地址转换规则,则在内存中更新所述预先设置的IP数据表的状态信息。
第三方面,本申请实施例提供了一种网关设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请任意实施例所述的网络地址转换方法。
第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请任意实施例所述的网络地址转换方法。
上述申请中的一个实施例具有如下优点或有益效果:本申请提出的网络地址转换方法、装置、网关设备及存储介质,先接收公网设备发送的IP访问数据包;其中,该IP访问数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:公网设备的IP地址、网关设备的目的IP地址、公网设备的端口号和网关设备的端口号;然后按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号;再将IP访问数据包中的目的IP地址转换为云服务器的IP地址;最后将IP访问数据包中的目的端口号转换为云服务器的端口号;并将转换后的IP访问数据包发送至云服务器。也就是说,本申请可以按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号;并将IP访问数据包中的目的IP地址转换为云服务器的IP地址,从而达到对实现网关设备支持目的网络地址转换目的。而在现有的网络地址转换方法中,现有的NAT网关不支持目的网络地址转换,无法将NAT网关上的公网IP映射给云服务器中的云计算实例使用,如果想要使云计算实例能够提供互联网服务,那么就需要另外购买负载均衡产品实现该场景。因为本申请采用了预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则的技术手段,克服了现有的NAT网关不支持目的网络地址转换的技术问题,进而达到了实现网关设备支持目的网络地址转换,从而可以将公网IP映射给云服务器中的云计算实例使用的技术效果;并且,本申请实施例的技术方案实现简单方便、便于普及,适用范围更广。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例一提供的网络地址转换方法的流程示意图;
图2是本申请实施例二提供的网络地址转换方法的流程示意图;
图3是本申请实施例三提供的网络地址转换装置的结构示意图;
图4是用来实现本申请实施例的网络地址转换方法的网关设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
实施例一
图1是本申请实施例一提供的网络地址转换方法的流程示意图,该方法可以由网络地址转换装置或者网关设备来执行,该装置或者网关设备可以由软件和/或硬件的方式实现,该装置或者网关设备可以集成在任何具有网络通信功能的智能设备中。如图1所示,网络地址转换方法可以包括以下步骤:
S101、接收公网设备发送的IP访问数据包;其中,该IP访问数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:公网设备的IP地址、网关设备的目的IP地址、公网设备的端口号和网关设备的端口号。
在本申请的具体实施例中,网关设备可以接收公网设备发送的IP访问数据包;其中,该IP访问数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:公网设备的IP地址、网关设备的目的IP地址、公网设备的端口号和网关设备的端口号。在本申请的技术方案中,公有IP地址:也叫全局地址,是指合法的IP地址,它是由网络信息中心(NetworkInformation Center,简称NIC)或者网络服务提供商(Internet Service Provider,简称ISP)分配的地址,对外代表一个或多个内部的局部地址,是全球统一的可寻址的地址。私有IP地址:也叫内部地址,属于非注册地址,专门为组织机构内部使用。互联网数字分配机构(The Internet Assigned Numbers Authority,简称IANA)保留了三个范围的IP地址作为私有IP地址:10.0.0.0至10.255.255.255;172.16.0.0至172.16.255.255;192.168.0.0至192.168.255.255。
S102、按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号。
在本申请的具体实施例中,网关设备可以按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号。具体地,网关设备可以定期向管理服务器发送心跳数据包;接收管理服务器返回的响应数据包;将响应数据包中携带的EIP实例与预先保存的EIP实例进行对比,确定出响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例;再根据响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例,在预先保存的EIP实例中绑定或者解绑存在差异的EIP实例。在本步骤中,网关设备可以根据预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号。
较佳地,在本申请的具体实施例中,网关设备还可以根据存在差异的EIP实例,在响应数据包中获取存在差异的EIP实例的类型;然后根据存在差异的EIP实例的类型,在预先设置的IP数据表中添加或者修改或者删除各个EIP实例对应的网络地址转换规则;其中,该类型包括:SNAT和DNAT两种。
S103、将IP访问数据包中的目的IP地址转换为云服务器的IP地址;将IP访问数据包中的目的端口号转换为云服务器的端口号。
在本申请的具体实施例中,网关设备可以将IP访问数据包中的目的IP地址转换为云服务器的IP地址;将IP访问数据包中的目的端口号转换为云服务器的端口号。具体地,网关设备可以将查找出的云服务器的IP地址替换掉网关设备的目的IP地址;将云服务器的端口号替换掉网关设备的端口号。
S104、将转换后的IP访问数据包发送至云服务器。
在本申请的具体实施例中,网关设备还可以接收云服务器发送的IP返回数据包;其中,IP返回数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:云服务器的IP地址、网关设备的IP地址、云服务器的端口号和网关设备的端口号;然后按照预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP返回数据包对应的公网设备的IP地址和端口号;再将IP返回数据包中的源IP地址转换为网关设备的IP地址;将IP返回数据包的源端口号转换为网关设备的端口号;并将转换后的IP返回数据包发送公网设备。
目的网络地址转换适用于内网的某些服务器需要为外网提供某些服务的情况。例如内网服务器群(IP地址分别为:10.1.1.1,10.1.1.2,10.1.1.3等)需要为外网提供网页服务,当外网设备访问内网时,所发送的数据包的目的IP地址为10.1.1.127,端口号为:80,当该数据包到达内网连接的路由器时,路由器查找NAT路由表,网关设备通过修改目的IP地址和端口号,将外网的数据包平均发送到不同的主机上(10.1.1.1,10.1.1.2,10.1.1.3等),这样就实现了负载均衡。
本申请实施例提出的网络地址转换方法,先接收公网设备发送的IP访问数据包;其中,该IP访问数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:公网设备的IP地址、网关设备的目的IP地址、公网设备的端口号和网关设备的端口号;然后按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号;再将IP访问数据包中的目的IP地址转换为云服务器的IP地址;最后将IP访问数据包中的目的端口号转换为云服务器的端口号;并将转换后的IP访问数据包发送至云服务器。也就是说,本申请可以按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号;并将IP访问数据包中的目的IP地址转换为云服务器的IP地址,从而达到对实现网关设备支持目的网络地址转换目的。而在现有的网络地址转换方法中,现有的NAT网关不支持目的网络地址转换,无法将NAT网关上的公网IP映射给云服务器中的云计算实例使用,如果想要使云计算实例能够提供互联网服务,那么就需要另外购买负载均衡产品实现该场景。因为本申请采用了预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则的技术手段,克服了现有的NAT网关不支持目的网络地址转换的技术问题,进而达到了实现网关设备支持目的网络地址转换,从而可以将公网IP映射给云服务器中的云计算实例使用的技术效果;并且,本申请实施例的技术方案实现简单方便、便于普及,适用范围更广。
实施例二
图2是本申请实施例二提供的网络地址转换方法的流程示意图。如图3所示,网络地址转换方法可以包括以下步骤:
S201、定期向管理服务器发送心跳数据包;接收管理服务器返回的响应数据包。
在本申请的具体实施例中,网关设备可以定期向管理服务器发送心跳数据包;接收管理服务器返回的响应数据包。具体地,网关设备向管理服务器发送的心跳数据包中可以包括预先设置的IP数据表的状态信息。该IP数据包的状态信息可以包括:更新成功或者更新失败。管理服务器在接收到网关设备发送的心跳数据包之后,可以根据该心跳数据包中携带的IP数据表的状态信息进行相应的操作。例如,当该心跳数据包中携带的IP数据表的状态信息是更新成功时,管理服务器可以向网关设备返回响应数据包,该响应数据包中可以携带管理服务器当前绑定的EIP实例以及各个EIP实例对应的网络地址转换规则;当该心跳数据包中携带的IP数据表的状态信息是更新失败时,管理服务器可以执行触发报警的操作。
S202、将响应数据包中携带的EIP实例与预先保存的EIP实例进行对比,确定出响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例。
在本申请的具体实施例中,网关设备可以将响应数据包中携带的EIP实例与预先保存的EIP实例进行对比,确定出响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例。具体地,响应数据包中携带的EIP实例与预先保存的EIP实例之间存在的差异可以包括以下三种情况:第一种情况:响应数据包中携带的EIP实例比网关设备预先保存的EIP实例有增加;表示管理服务器绑定了新的EIP实例,这时需要网关设备也要绑定这些新的EIP实例,从而保持与管理服务器同步。第二种情况:响应数据包中携带的EIP实例比网关设备预先保存的EIP实例有减少;表示管理服务器解绑了以前绑定的EIP实例,这时需要网关设备也要解绑这些以前绑定的EIP实例,从而保持与管理服务器同步。第三种情况:响应数据包中携带的EIP实例比网关设备预先保存的EIP实例有改变;表示管理服务器更新了以前绑定的EIP实例,这时需要网关设备也要更新这些以前绑定的EIP实例,从而保持与管理服务器同步。
具体地,在本申请的具体实施例中,管理服务器绑定EIP实例的方法,可以包括以下步骤:1)接收用户通过前端网页发送的EIP绑定请求;2)验证EIP绑定请求中携带的令牌Token是否合法;若合法,则执行步骤3);否则,则向用户返回Token不合法的错误信息;3)检测EIP绑定请求中携带的网关设备的编码(Identity document,简称ID)在预先保存的网关设备的ID列表中是否存在;若存在,则执行步骤4);否则,向用户返回网关设备的ID不存在的错误信息;4)检测EIP绑定请求中携带的行为标识是否为绑定EIP的标识bind_eips,若是,则执行步骤5);否则,跳转到与action对应的处理逻辑;5)在预先保存的网关设备的ID列表中获取该网关设备的ID的状态,若该网关设备的ID的状态为:“增加中”或者“更新中”或者“删除中”或者“配置中”或者“开始中”或者“重新启动中”状态,则向用户返回与各个状态对应的错误信息,若该网关设备的ID的状态为除上述状态以外的其他状态,则执行步骤6);具体地,状态“增加中”可以表示为building;“更新中”可以表示为updating;“删除中”可以表示为deleting;“配置中”可以表示为configuring;“开始中”可以表示为starting;“重新启动中”可以表示为rebooting;6)检测EIP绑定请求中携带的EIP实例列表中的各个IP地址是否为合法的IP地址;若EIP实例列表中的任意一个IP地址均为合法的IP地址,则在预先保存的网关设备的ID列表中将该网关设备的ID的状态设置为configuring;否则,向用户返回IP地址不合法的错误信息;7)调用EIP服务的API接口,获取该网关设备的ID对应的至少一个EIP实例,若EIP绑定请求中携带的EIP实例列表中的各个IP地址在获取到的EIP实例中分别存在,则向用户返回IP地址存在的错误信息;否则,执行步骤8);8)通过调用网络服务组件的更新端口的接口给网关设备添加新的固定的IP和不固定的IP;其中,固定的IP可以表示为fixed IP;不固定的IP可以表示为floating IP;网络服务组件可以是Neutron;Neutron可以将关联DNAT功能的建模放在模型Floating IP中,与该模型密切相关的字段包括:路由ID(router_id)、固定的IP(fixed ip)、不固定的IP(floating ip)、端口ID(portid)、编号(id);其中,router_id的类型是字符型string,该字段的描述是:实现FloatingIP的Router ID;fixed ip的类型是string,该字段的描述是:与Floating IP关联的IP地址;floating ip的类型是string,该字段的描述是:Floating IP地址;port id的类型是string,该字段的描述是:路由设备上占用fixed ip的端口号;id的类型是string,该字段的描述是:Floating IP的ID;9)将各个EIP实例和fixed IP、floating IP的对应信息以及各个EIP实例的类型保存至数据库中;10)接收网关设备发送的心跳数据包,若该心跳数据包中携带更新成功的标识,则在预先保存的网关设备的ID列表中将该网关设备的ID的状态更新为活跃状态active;如果该心跳数据包中携带更新失败的标识,则在预先保存的网关设备的ID列表中将该网关设备的ID的状态更新为错误状态error。
具体地,在本申请的具体实施例中,网关设备绑定EIP实例的方法,可以包括以下步骤:1)定期向管理服务器发送心跳数据包,接收管理服务器返回的响应数据包,若响应数据包中携带的该网关设备的EIP实例与预先保存的EIP实例相同,则等待下一个周期向管理服务器发送心跳数据包;否则,执行步骤2);2)通过IP命令给网关设备的网卡增加对应的IP地址;3)将响应数据包中携带的该网关设备的EIP实例划分为两部分:SNAT和DNAT;4)根据各个EIP实例的类型,在预先设置的IP数据表中添加与其对应的网络转换规则;5)若更新完成,更新内存中的状态信息,在下次心跳包中带上更新成功的标识;6)若更新失败,则在下一个周期发送的心跳数据包中携带错误信息通知管理服务器,由管理服务器来决定如何做,大部分情况下只需要打印错误信息触发报警即可。
具体地,在本申请的具体实施例中,管理服务器解绑EIP实例的方法,可以包括以下步骤:1)接收用户通过前端网页发送的EIP解绑请求;2)验证EIP解绑定请求中携带的Token是否合法;若合法,则执行步骤3);否则,则向用户返回Token不合法的错误信息;3)检测EIP解绑请求中携带的网关设备的ID在预先保存的网关设备的ID列表中是否存在;若存在,则执行步骤4);否则,向用户返回网关设备的ID不存在的错误信息;4)检测EIP解绑请求中携带的action是否为解绑EIP的标识unbind_eips,若是,则执行步骤5);否则,跳转到与action对应的处理逻辑;5)在预先保存的网关设备的ID列表中获取该网关设备的ID的状态,若该网关设备的ID的状态为:building或者updating或者deleting或者configuring或者starting或者rebooting,则向用户返回与各个状态对应的错误信息,若该网关设备的ID的状态为除上述状态以外的其他状态,则执行步骤6);6)检测EIP解绑定请求中携带的EIP实例列表中的各个IP地址是否为合法的IP地址;若EIP实例列表中的任意一个IP地址均为合法的IP地址,则在预先保存的网关设备的ID列表中将该网关设备的ID的状态设置为configuring;否则,向用户返回IP地址不合法的错误信息;7)调用EIP服务的应用程序编程接口(Application Programming Interface,简称API),获取该网关设备的ID对应的各个EIP实例,若EIP解绑请求中携带的EIP实例列表中的任意一个IP地址在获取到的EIP实例中不存在,则向用户返回IP地址不存在的错误信息;否则,执行步骤8);8)通过调用Neutron的更新端口的接口给网关设备移除对应的源IP地址和目的PI地址,这里的源IP地址可以是fixed IP;目的IP地址可以是floating IP;9)在数据库中移除各个EIP实例和fixed ip、floating ip的对应信息;10)接收网关设备发送的心跳数据包,若该心跳数据包中携带更新成功的标识,则在预先保存的网关设备的ID列表中将该网关设备的ID的状态更新为active;如果该心跳数据包中携带更新失败的标识,则在预先保存的网关设备的ID列表中将该网关设备的ID的状态更新为error。
具体地,在本申请的具体实施例中,网关设备解绑EIP实例的方法,可以包括以下步骤:定期向管理服务器发送心跳数据包,接收管理服务器返回的响应数据包,若响应数据包中携带的该网关设备的EIP实例与预先保存的EIP实例相同,则等待下一个周期向管理服务器发送心跳数据包;否则,执行步骤2);2)通过IP命令给网关设备的网卡删除对应的IP地址;3)将响应数据包中携带的该网关设备的EIP实例划分为两部分:SNAT和DNAT;4)根据各个EIP实例的类型,在预先设置的IP数据表中删除与其对应的网络转换规则;5)若更新完成,更新内存中的状态信息,在下一次心跳包中带上更新成功的标识;6)若更新失败,则在下一次发送的心跳数据包中携带错误信息通知管理服务器,由管理服务器来决定如何做,大部分情况下只需要打印错误信息触发报警即可。
具体地,在本申请的具体实施例中,管理服务器创建网络地址转换规则的方法,可以包括以下步骤:1)接收用户通过前端网页发送的规则创建请求;2)验证规则创建请求中携带的Token是否合法;若合法,则执行步骤3);否则,则向用户返回Token不合法的错误信息;3)检测规则创建请求中携带的网关设备的ID在预先保存的网关设备的ID列表中是否存在;若存在,则执行步骤4);否则,向用户返回网关设备的ID不存在的错误信息;4)检测规则创建请求中携带的action是否为创建DNAT规则的标识creat_dnat_rules,若是,则执行步骤5);否则,跳转到与action对应的处理逻辑;5)查询数据库,判断指定的EIP实例是否是动态网络地址转换规则EIP(简称DNAT_eip);如果不是的话,返回给用户与其对应的错误信息;如果是的话,执行步骤6);6)更新数据库,在下一次接收到网关设备发送的心跳数据包时进行返回。
具体地,在本申请的具体实施例中,网关设备创建网络地址转换规则的方法,可以包括以下步骤:1)定期向管理服务器发送心跳数据包,接收管理服务器返回的响应数据包,若响应数据包中携带的该网关设备的EIP实例与预先保存的EIP实例相同,则等待下一个周期向管理服务器发送心跳数据包;否则,执行步骤2);2)通过调用命令在指定的IP数据包的数据链中增加网络地址转换规则;3)更新完成后,更新内存的状态信息,在下一个周期发送的心跳数据包中携带上述增加的网络地址转换规则;4)若更新失败,则在下一次发送的心跳数据包中携带错误信息通知管理服务器,由管理服务器来决定如何做,大部分情况下只需要打印错误信息触发报警即可。
具体地,在本申请的具体实施例中,管理服务器修改网络地址转换规则的方法,可以包括以下步骤:1)接收用户通过前端网页发送的规则修改请求;2)验证规则修改请求中携带的Token是否合法;若合法,则执行步骤3);否则,则向用户返回Token不合法的错误信息;3)检测规则修改请求中携带的网关设备的ID在预先保存的网关设备的ID列表中是否存在;若存在,则执行步骤4);否则,向用户返回网关设备的ID不存在的错误信息;4)检测规则修改请求中携带的action是否为更新DNAT规则的标识update_dnat_rules,若是,则执行步骤5);否则,跳转到与action对应的处理逻辑;5)查询数据库,判断指定的EIP实例是否是DNAT_eip;如果不是的话,返回给用户与其对应的错误信息;如果是的话,执行步骤6);6)更新数据库,在下一次接收到网关设备发送的心跳数据包时进行返回。
具体地,在本申请的具体实施例中,网关设备修改网络地址转换规则的方法,可以包括以下步骤:1)定期向管理服务器发送心跳数据包,接收管理服务器返回的响应数据包,若响应数据包中携带的该网关设备的EIP实例与预先保存的EIP实例相同,则等待下一个周期向管理服务器发送心跳数据包;否则,执行步骤2);2)通过调用命令在指定的IP数据包的数据链中更新网络地址转换规则;3)更新完成后,更新内存的状态信息,在下一个周期发送的心跳数据包中携带上述更新的网络地址转换规则;4)若更新失败,则在下一次发送的心跳数据包中携带错误信息通知管理服务器,由管理服务器来决定如何做,大部分情况下只需要打印错误信息触发报警即可。
具体地,在本申请的具体实施例中,管理服务器删除网络地址转换规则的方法,可以包括以下步骤:1)接收用户通过前端网页发送的规则删除请求;2)验证规则删除请求中携带的Token是否合法;若合法,则执行步骤3);否则,则向用户返回Token不合法的错误信息;3)检测规则删除请求中携带的网关设备的ID在预先保存的网关设备的ID列表中是否存在;若存在,则执行步骤4);否则,向用户返回网关设备的ID不存在的错误信息;4)检测规则删除请求中携带的action是否为删除DNAT规则的标识delete_dnat_rules,若是,则执行步骤5);否则,跳转到与action对应的处理逻辑;5)查询数据库,判断指定的EIP实例是否是DNAT_eip;如果不是的话,返回给用户与其对应的错误信息;如果是的话,执行步骤6);6)更新数据库,在下一次接收到网关设备发送的心跳数据包时进行返回。
具体地,在本申请的具体实施例中,网关设备删除网络地址转换规则的方法,可以包括以下步骤:1)定期向管理服务器发送心跳数据包,接收管理服务器返回的响应数据包,若响应数据包中携带的该网关设备的EIP实例与预先保存的EIP实例相同,则等待下一个周期向管理服务器发送心跳数据包;否则,执行步骤2);2)通过调用命令在指定的IP数据包的数据链中删除网络地址转换规则;3)更新完成后,更新内存的状态信息,在下一个周期发送的心跳数据包中携带更新成功的标识;4)若更新失败,则在下一次发送的心跳数据包中携带错误信息通知管理服务器,由管理服务器来决定如何做,大部分情况下只需要打印错误信息触发报警即可。
S203、根据响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例,在预先保存的EIP实例中绑定或者解绑存在差异的EIP实例。
在本申请的具体实施例中,网关设备可以根据响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例,在预先保存的EIP实例中绑定或者解绑存在差异的EIP实例。具体地,具体地,响应数据包中携带的EIP实例与预先保存的EIP实例之间存在的差异可以包括以下三种情况:第一种情况:响应数据包中携带的EIP实例比网关设备预先保存的EIP实例有增加;表示管理服务器绑定了新的EIP实例,这时需要网关设备也要绑定这些新的EIP实例,从而保持与管理服务器同步。第二种情况:响应数据包中携带的EIP实例比网关设备预先保存的EIP实例有减少;表示管理服务器解绑了以前绑定的EIP实例,这时需要网关设备也要解绑这些以前绑定的EIP实例,从而保持与管理服务器同步。第三种情况:响应数据包中携带的EIP实例比网关设备预先保存的EIP实例有改变;表示管理服务器更新了以前绑定的EIP实例,这时需要网关设备也要更新这些以前绑定的EIP实例,从而保持与管理服务器同步。
S204、接收公网设备发送的IP访问数据包;其中,该IP访问数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:公网设备的IP地址、网关设备的目的IP地址、公网设备的端口号和网关设备的端口号。
在本申请的具体实施例中,网关设备可以接收公网设备发送的IP访问数据包;其中,该IP访问数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:公网设备的IP地址、网关设备的目的IP地址、公网设备的端口号和网关设备的端口号。具体地,网关设备向管理服务器发送的心跳数据包中可以包括预先设置的IP数据表的状态信息。该IP数据包的状态信息可以包括:更新成功或者更新失败。管理服务器在接收到网关设备发送的心跳数据包之后,可以根据该心跳数据包中携带的IP数据表的状态信息进行相应的操作。
S205、按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号。
在本申请的具体实施例中,网关设备可以按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号。具体地,网关设备可以定期向管理服务器发送心跳数据包;接收管理服务器返回的响应数据包;将响应数据包中携带的EIP实例与预先保存的EIP实例进行对比,确定出响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例;再根据响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例,在预先保存的EIP实例中绑定或者解绑存在差异的EIP实例。在本步骤中,网关设备可以根据预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号。
S206、将IP访问数据包中的目的IP地址转换为云服务器的IP地址;将IP访问数据包中的目的端口号转换为云服务器的端口号。
在本申请的具体实施例中,网关设备可以将IP访问数据包中的目的IP地址转换为云服务器的IP地址;将IP访问数据包中的目的端口号转换为云服务器的端口号;并将转换后的IP访问数据包发送至云服务器。具体地,网关设备可以将查找出的云服务器的IP地址替换掉网关设备的目的IP地址;将云服务器的端口号替换掉网关设备的端口号。
S207、将转换后的IP访问数据包发送至云服务器。
本申请实施例提出的网络地址转换方法,先接收公网设备发送的IP访问数据包;其中,该IP访问数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:公网设备的IP地址、网关设备的目的IP地址、公网设备的端口号和网关设备的端口号;然后按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号;再将IP访问数据包中的目的IP地址转换为云服务器的IP地址;最后将IP访问数据包中的目的端口号转换为云服务器的端口号;并将转换后的IP访问数据包发送至云服务器。也就是说,本申请可以按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号;并将IP访问数据包中的目的IP地址转换为云服务器的IP地址,从而达到对实现网关设备支持目的网络地址转换目的。而在现有的网络地址转换方法中,现有的NAT网关不支持目的网络地址转换,无法将NAT网关上的公网IP映射给云服务器中的云计算实例使用,如果想要使云计算实例能够提供互联网服务,那么就需要另外购买负载均衡产品实现该场景。因为本申请采用了预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则的技术手段,克服了现有的NAT网关不支持目的网络地址转换的技术问题,进而达到了实现网关设备支持目的网络地址转换,从而可以将公网IP映射给云服务器中的云计算实例使用的技术效果;并且,本申请实施例的技术方案实现简单方便、便于普及,适用范围更广。
实施例三
图3是本申请实施例三提供的网络地址转换装置的结构示意图。如图3所示,所述装置300包括:接收模块301、确定模块302、转换模块303和发送模块304;其中,
所述接收模块301,用于接收公网设备发送的IP访问数据包;其中,所述IP访问数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:所述公网设备的IP地址、所述网关设备的目的IP地址、所述公网设备的端口号和所述网关设备的端口号;
所述确定模块302,用于按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出所述IP访问数据包对应的VPC中的云服务器的IP地址和端口号;
所述转换模块303,用于将所述IP访问数据包中的目的IP地址转换为所述云服务器的IP地址;将所述IP访问数据包中的目的端口号转换为所述云服务器的端口号;
所述发送模块304,用于将转换后的IP访问数据包发送至所述云服务器。
进一步的,所述接收模块301,还用于接收所述云服务器发送的IP返回数据包;其中,所述IP返回数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:所述云服务器的IP地址、所述网关设备的IP地址、所述云服务器的端口号和所述网关设备的端口号;
所述确定模块302,还用于按照预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出所述IP返回数据包对应的公网设备的IP地址和端口号;
所述转换模块303,还用于将所述IP返回数据包中的源IP地址转换为所述网关设备的IP地址;将所述IP返回数据包的源端口号转换为所述网关设备的端口号;
所述发送模块304,还用于将转换后的IP返回数据包发送所述公网设备。
进一步的,所述发送模块304,还用于定期向所述管理服务器发送心跳数据包;
所述接收模块301,还用于接收所述管理服务器返回的响应数据包;所述响应数据包中携带的EIP实例与预先保存的EIP实例进行对比,确定出所述响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例;根据所述响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例,在所述预先保存的EIP实例中绑定或者解绑所述存在差异的EIP实例。
进一步的,所述接收模块301,还用于根据所述存在差异的EIP实例,在所述响应数据包中获取所述存在差异的EIP实例的类型;根据所述存在差异的EIP实例的类型,在预先设置的IP数据表中添加或者修改或者删除各个EIP实例对应的网络地址转换规则;其中,所述类型包括:SNAT和DNAT。
进一步的,所述接收模块301,还用于若在所述预先设置的IP数据表中添加成功或者修改成功或者删除成功各个EIP实例对应的网络地址转换规则,则在内存中更新所述预先设置的IP数据表的状态信息。
上述网络地址转换装置可执行本申请任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请任意实施例提供的网络地址转换方法。
实施例四
根据本申请的实施例,本申请还提供了一种网关设备和一种可读存储介质。
如图4所示,是根据本申请实施例的网络地址转换方法的网关设备的框图。网关设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。网关设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图4所示,该网关设备包括:一个或多个处理器401、存储器402,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在网关设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个网关设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图4中以一个处理器401为例。
存储器402即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的网络地址转换方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的网络地址转换方法。
存储器402作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的网络地址转换方法对应的程序指令/模块(例如,附图3所示的接收模块301、确定模块302、转换模块303和发送模块304)。处理器401通过运行存储在存储器402中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的网络地址转换方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据网络地址转换方法的网关设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至网络地址转换方法的网关设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
网络地址转换方法的网关设备还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。
输入装置403可接收输入的数字或字符信息,以及产生与网络地址转换方法的网关设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置404可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,先接收公网设备发送的IP访问数据包;其中,该IP访问数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:公网设备的IP地址、网关设备的目的IP地址、公网设备的端口号和网关设备的端口号;然后按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号;再将IP访问数据包中的目的IP地址转换为云服务器的IP地址;最后将IP访问数据包中的目的端口号转换为云服务器的端口号;并将转换后的IP访问数据包发送至云服务器。也就是说,本申请可以按照管理服务器预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出IP访问数据包对应的VPC中的云服务器的IP地址和端口号;并将IP访问数据包中的目的IP地址转换为云服务器的IP地址,从而达到对实现网关设备支持目的网络地址转换目的。而在现有的网络地址转换方法中,现有的NAT网关不支持目的网络地址转换,无法将NAT网关上的公网IP映射给云服务器中的云计算实例使用,如果想要使云计算实例能够提供互联网服务,那么就需要另外购买负载均衡产品实现该场景。因为本申请采用了预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则的技术手段,克服了现有的NAT网关不支持目的网络地址转换的技术问题,进而达到了实现网关设备支持目的网络地址转换,从而可以将公网IP映射给云服务器中的云计算实例使用的技术效果;并且,本申请实施例的技术方案实现简单方便、便于普及,适用范围更广。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (12)

1.一种网络地址转换方法,其特征在于,应用于网关设备,所述方法包括:
接收公网设备发送的IP访问数据包;其中,所述IP访问数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:所述公网设备的IP地址、所述网关设备的目的IP地址、所述公网设备的端口号和所述网关设备的端口号;
按照管理服务器预先绑定的弹性公网网际互连协议地址EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出所述IP访问数据包对应的虚拟私有云VPC中的云服务器的IP地址和端口号;
将所述IP访问数据包中的目的IP地址转换为所述云服务器的IP地址;将所述IP访问数据包中的目的端口号转换为所述云服务器的端口号;
将转换后的IP访问数据包发送至所述云服务器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述云服务器发送的IP返回数据包;其中,所述IP返回数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:所述云服务器的IP地址、所述网关设备的IP地址、所述云服务器的端口号和所述网关设备的端口号;
按照预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出所述IP返回数据包对应的公网设备的IP地址和端口号;
将所述IP返回数据包中的源IP地址转换为所述网关设备的IP地址;将所述IP返回数据包的源端口号转换为所述网关设备的端口号;
将转换后的IP返回数据包发送所述公网设备。
3.根据权利要求1所述的方法,其特征在于,在所述接收公网设备发送的IP访问数据包之前,所述方法还包括:
定期向所述管理服务器发送心跳数据包;接收所述管理服务器返回的响应数据包;
将所述响应数据包中携带的EIP实例与预先保存的EIP实例进行对比,确定出所述响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例;
根据所述响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例,在所述预先保存的EIP实例中绑定或者解绑所述存在差异的EIP实例。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述存在差异的EIP实例,在所述响应数据包中获取所述存在差异的EIP实例的类型;
根据所述存在差异的EIP实例的类型,在预先设置的IP数据表中添加或者修改或者删除各个EIP实例对应的网络地址转换规则;其中,所述类型包括:源网络地址转换SNAT和目的网络地址转换DNAT。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若在所述预先设置的IP数据表中添加成功或者修改成功或者删除成功各个EIP实例对应的网络地址转换规则,则在内存中更新所述预先设置的IP数据表的状态信息。
6.一种网络地址转换的装置,其特征在于,所述装置包括:接收模块、确定模块、转换模块和发送模块;其中,
所述接收模块,用于接收公网设备发送的IP访问数据包;其中,所述IP访问数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:所述公网设备的IP地址、所述网关设备的目的IP地址、所述公网设备的端口号和所述网关设备的端口号;
所述确定模块,用于按照管理服务器预先绑定的弹性公网网际互连协议地址EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出所述IP访问数据包对应的虚拟私有云VPC中的云服务器的IP地址和端口号;
所述转换模块,用于将所述IP访问数据包中的目的IP地址转换为所述云服务器的IP地址;将所述IP访问数据包中的目的端口号转换为所述云服务器的端口号;
所述发送模块,用于将转换后的IP访问数据包发送至所述云服务器。
7.根据权利要求6所述的装置,其特征在于:
所述接收模块,还用于接收所述云服务器发送的IP返回数据包;其中,所述IP返回数据包的源IP地址、目的IP地址、源端口号和目的端口号分别为:所述云服务器的IP地址、所述网关设备的IP地址、所述云服务器的端口号和所述网关设备的端口号;
所述确定模块,还用于按照预先绑定的EIP实例以及预先创建的各个EIP实例对应的网络地址转换规则,确定出所述IP返回数据包对应的公网设备的IP地址和端口号;
所述转换模块,还用于将所述IP返回数据包中的源IP地址转换为所述网关设备的IP地址;将所述IP返回数据包的源端口号转换为所述网关设备的端口号;
所述发送模块,还用于将转换后的IP返回数据包发送所述公网设备。
8.根据权利要求6所述的装置,其特征在于:
所述发送模块,还用于定期向所述管理服务器发送心跳数据包;
所述接收模块,还用于接收所述管理服务器返回的响应数据包;所述响应数据包中携带的EIP实例与预先保存的EIP实例进行对比,确定出所述响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例;根据所述响应数据包中携带的EIP实例与预先保存的EIP实例之间存在差异的EIP实例,在所述预先保存的EIP实例中绑定或者解绑所述存在差异的EIP实例。
9.根据权利要求8所述的装置,其特征在于:
所述接收模块,还用于根据所述存在差异的EIP实例,在所述响应数据包中获取所述存在差异的EIP实例的类型;根据所述存在差异的EIP实例的类型,在预先设置的IP数据表中添加或者修改或者删除各个EIP实例对应的网络地址转换规则;其中,所述类型包括:源网络地址转换SNAT和目的网络地址转换DNAT。
10.根据权利要求9所述的装置,其特征在于:
所述接收模块,还用于若在所述预先设置的IP数据表中添加成功或者修改成功或者删除成功各个EIP实例对应的网络地址转换规则,则在内存中更新所述预先设置的IP数据表的状态信息。
11.一种网关设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的方法。
CN202010108741.7A 2020-02-21 2020-02-21 一种网络地址转换方法、装置、网关设备及存储介质 Active CN111327720B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010108741.7A CN111327720B (zh) 2020-02-21 2020-02-21 一种网络地址转换方法、装置、网关设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010108741.7A CN111327720B (zh) 2020-02-21 2020-02-21 一种网络地址转换方法、装置、网关设备及存储介质

Publications (2)

Publication Number Publication Date
CN111327720A true CN111327720A (zh) 2020-06-23
CN111327720B CN111327720B (zh) 2022-11-29

Family

ID=71167110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010108741.7A Active CN111327720B (zh) 2020-02-21 2020-02-21 一种网络地址转换方法、装置、网关设备及存储介质

Country Status (1)

Country Link
CN (1) CN111327720B (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111866124A (zh) * 2020-07-17 2020-10-30 北京金山云网络技术有限公司 访问网页页面的方法、装置、服务器和机器可读存储介质
CN112015544A (zh) * 2020-06-30 2020-12-01 苏州浪潮智能科技有限公司 一种k8s集群的负载均衡方法、装置、设备及存储介质
CN112243036A (zh) * 2020-10-21 2021-01-19 北京首都在线科技股份有限公司 PaaS服务的数据处理方法及装置、设备、存储介质
CN112532760A (zh) * 2020-11-20 2021-03-19 南京英诺森软件科技有限公司 一种nat网关的高安全性技术系统
CN112671939A (zh) * 2020-08-17 2021-04-16 紫光云技术有限公司 一种区分nat删除和nat解绑弹性公网ip的方法
CN113225405A (zh) * 2021-02-25 2021-08-06 紫光云技术有限公司 一种公有云平台下nat暂停和开启操作的方法、电子设备
CN113572867A (zh) * 2021-09-26 2021-10-29 北京海誉动想科技股份有限公司 通信方法与装置
CN113890865A (zh) * 2021-10-21 2022-01-04 展讯通信(上海)有限公司 数据包转发方法和设备
CN114039949A (zh) * 2021-12-24 2022-02-11 上海观安信息技术股份有限公司 云服务浮动ip绑定方法及系统
CN114553823A (zh) * 2022-02-28 2022-05-27 联想(北京)有限公司 访问控制方法和电子设备
CN114584606A (zh) * 2022-04-29 2022-06-03 阿里云计算有限公司 端云通信方法及设备
CN114615233A (zh) * 2022-03-11 2022-06-10 展讯半导体(成都)有限公司 数据传输方法、装置及系统、网关设备、终端设备及介质
CN114679428A (zh) * 2022-04-07 2022-06-28 上海数禾信息科技有限公司 在nat规则上新增eip的方法、装置、计算机设备和存储介质
CN114760292A (zh) * 2020-12-25 2022-07-15 广东飞企互联科技股份有限公司 一种面向服务发现与注册的方法及装置
CN114785612A (zh) * 2022-05-10 2022-07-22 深信服科技股份有限公司 一种云平台管理方法、装置、设备及介质
CN114826969A (zh) * 2022-03-17 2022-07-29 阿里巴巴(中国)有限公司 网络连通性检查方法、装置、设备及存储介质
CN114915420A (zh) * 2022-03-03 2022-08-16 阿里巴巴(中国)有限公司 用于云桌面的通信方法及系统
CN115225634A (zh) * 2022-06-17 2022-10-21 北京百度网讯科技有限公司 虚拟网络下的数据转发方法、装置及计算机程序产品
CN115426313A (zh) * 2022-08-31 2022-12-02 中电云数智科技有限公司 一种基于ovn虚机网络的nat优化装置和方法
CN115499411A (zh) * 2022-09-21 2022-12-20 北京百度网讯科技有限公司 一种网络穿透系统、方法、装置及电子设备
CN115499338A (zh) * 2022-11-15 2022-12-20 阿里云计算有限公司 数据处理方法、设备、介质及云网络观测系统
CN115834291A (zh) * 2022-11-16 2023-03-21 中国联合网络通信集团有限公司 分布式内网服务数据获取方法、装置、设备及存储介质
WO2023138032A1 (zh) * 2022-01-24 2023-07-27 华为云计算技术有限公司 一种地址空间推荐方法、装置及相关设备
CN117544424A (zh) * 2024-01-09 2024-02-09 万洲嘉智信息科技有限公司 基于泛在联接的多协议智慧园区管控平台
WO2024078427A1 (zh) * 2022-10-09 2024-04-18 华为云计算技术有限公司 一种无服务器函数配置系统、方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050002547A (ko) * 2003-06-30 2005-01-07 주식회사 케이티 포트번호제어를 통한 공중망과 연결된 사설 ip망 간피어투피어 통신 방법
CN104618243A (zh) * 2015-02-28 2015-05-13 华为技术有限公司 路由方法、装置及系统、网关调度方法及装置
CN107959654A (zh) * 2016-10-14 2018-04-24 北京金山云网络技术有限公司 一种数据传输方法、装置及混合云系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050002547A (ko) * 2003-06-30 2005-01-07 주식회사 케이티 포트번호제어를 통한 공중망과 연결된 사설 ip망 간피어투피어 통신 방법
CN104618243A (zh) * 2015-02-28 2015-05-13 华为技术有限公司 路由方法、装置及系统、网关调度方法及装置
CN107959654A (zh) * 2016-10-14 2018-04-24 北京金山云网络技术有限公司 一种数据传输方法、装置及混合云系统

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015544A (zh) * 2020-06-30 2020-12-01 苏州浪潮智能科技有限公司 一种k8s集群的负载均衡方法、装置、设备及存储介质
CN111866124A (zh) * 2020-07-17 2020-10-30 北京金山云网络技术有限公司 访问网页页面的方法、装置、服务器和机器可读存储介质
CN112671939A (zh) * 2020-08-17 2021-04-16 紫光云技术有限公司 一种区分nat删除和nat解绑弹性公网ip的方法
CN112243036A (zh) * 2020-10-21 2021-01-19 北京首都在线科技股份有限公司 PaaS服务的数据处理方法及装置、设备、存储介质
CN112532760A (zh) * 2020-11-20 2021-03-19 南京英诺森软件科技有限公司 一种nat网关的高安全性技术系统
CN114760292A (zh) * 2020-12-25 2022-07-15 广东飞企互联科技股份有限公司 一种面向服务发现与注册的方法及装置
CN114760292B (zh) * 2020-12-25 2023-07-21 广东飞企互联科技股份有限公司 一种面向服务发现与注册的方法及装置
CN113225405A (zh) * 2021-02-25 2021-08-06 紫光云技术有限公司 一种公有云平台下nat暂停和开启操作的方法、电子设备
CN113572867A (zh) * 2021-09-26 2021-10-29 北京海誉动想科技股份有限公司 通信方法与装置
CN113890865A (zh) * 2021-10-21 2022-01-04 展讯通信(上海)有限公司 数据包转发方法和设备
CN114039949A (zh) * 2021-12-24 2022-02-11 上海观安信息技术股份有限公司 云服务浮动ip绑定方法及系统
CN114039949B (zh) * 2021-12-24 2024-03-26 上海观安信息技术股份有限公司 云服务浮动ip绑定方法及系统
WO2023138032A1 (zh) * 2022-01-24 2023-07-27 华为云计算技术有限公司 一种地址空间推荐方法、装置及相关设备
CN114553823A (zh) * 2022-02-28 2022-05-27 联想(北京)有限公司 访问控制方法和电子设备
CN114915420A (zh) * 2022-03-03 2022-08-16 阿里巴巴(中国)有限公司 用于云桌面的通信方法及系统
CN114915420B (zh) * 2022-03-03 2024-04-26 阿里巴巴(中国)有限公司 用于云桌面的通信方法及系统
CN114615233A (zh) * 2022-03-11 2022-06-10 展讯半导体(成都)有限公司 数据传输方法、装置及系统、网关设备、终端设备及介质
CN114615233B (zh) * 2022-03-11 2023-08-04 展讯半导体(成都)有限公司 数据传输方法、装置及系统、网关设备、终端设备及介质
CN114826969B (zh) * 2022-03-17 2024-02-06 阿里巴巴(中国)有限公司 网络连通性检查方法、装置、设备及存储介质
CN114826969A (zh) * 2022-03-17 2022-07-29 阿里巴巴(中国)有限公司 网络连通性检查方法、装置、设备及存储介质
CN114679428A (zh) * 2022-04-07 2022-06-28 上海数禾信息科技有限公司 在nat规则上新增eip的方法、装置、计算机设备和存储介质
CN114584606A (zh) * 2022-04-29 2022-06-03 阿里云计算有限公司 端云通信方法及设备
CN114785612A (zh) * 2022-05-10 2022-07-22 深信服科技股份有限公司 一种云平台管理方法、装置、设备及介质
CN115225634A (zh) * 2022-06-17 2022-10-21 北京百度网讯科技有限公司 虚拟网络下的数据转发方法、装置及计算机程序产品
CN115225634B (zh) * 2022-06-17 2023-10-20 北京百度网讯科技有限公司 虚拟网络下的数据转发方法、装置及计算机程序产品
CN115426313A (zh) * 2022-08-31 2022-12-02 中电云数智科技有限公司 一种基于ovn虚机网络的nat优化装置和方法
CN115426313B (zh) * 2022-08-31 2023-08-18 中电云数智科技有限公司 一种基于ovn虚机网络的nat优化装置和方法
CN115499411B (zh) * 2022-09-21 2023-07-21 北京百度网讯科技有限公司 一种网络穿透系统、方法、装置及电子设备
CN115499411A (zh) * 2022-09-21 2022-12-20 北京百度网讯科技有限公司 一种网络穿透系统、方法、装置及电子设备
WO2024078427A1 (zh) * 2022-10-09 2024-04-18 华为云计算技术有限公司 一种无服务器函数配置系统、方法及装置
CN115499338B (zh) * 2022-11-15 2023-09-29 阿里云计算有限公司 数据处理方法、设备、介质及云网络观测系统
CN115499338A (zh) * 2022-11-15 2022-12-20 阿里云计算有限公司 数据处理方法、设备、介质及云网络观测系统
CN115834291A (zh) * 2022-11-16 2023-03-21 中国联合网络通信集团有限公司 分布式内网服务数据获取方法、装置、设备及存储介质
CN115834291B (zh) * 2022-11-16 2024-04-09 中国联合网络通信集团有限公司 分布式内网服务数据获取方法、装置、设备及存储介质
CN117544424A (zh) * 2024-01-09 2024-02-09 万洲嘉智信息科技有限公司 基于泛在联接的多协议智慧园区管控平台
CN117544424B (zh) * 2024-01-09 2024-03-15 万洲嘉智信息科技有限公司 基于泛在联接的多协议智慧园区管控平台

Also Published As

Publication number Publication date
CN111327720B (zh) 2022-11-29

Similar Documents

Publication Publication Date Title
CN111327720B (zh) 一种网络地址转换方法、装置、网关设备及存储介质
US9935920B2 (en) Virtualization gateway between virtualized and non-virtualized networks
CN113141386B (zh) 私有网络中Kubernetes集群的接入方法、装置、设备和介质
US8336047B2 (en) Provisioning virtual resources using name resolution
US9424144B2 (en) Virtual machine migration to minimize packet loss in virtualized network
US10917460B2 (en) Distributed load-balancing for software defined networks
US20130091261A1 (en) Defining And Managing Virtual Networks In Multi-Tenant Virtualized Data Centers
US20210092158A1 (en) Method, apparatus, device, terminal, and medium for defending against attacking behavior
US11709853B2 (en) Database-based management method, platform, electronic device and storage medium
CN111866092B (zh) 消息传输的方法、装置、电子设备和可读存储介质
CN111770176B (zh) 流量调度方法及装置
CN111698346A (zh) 一种专线网络地址转换方法、装置、专线网关及存储介质
CN111770211B (zh) 一种snat方法、装置、电子设备及存储介质
US10243920B1 (en) Internet protocol address reassignment between virtual machine instances
CN111966471B (zh) 访问方法、装置、电子设备及计算机存储介质
US11210347B2 (en) Object search with pagination and non-duplicates support
CN110536283B (zh) 终端标识获取方法、装置、电子设备和介质
CN110650215A (zh) 边缘网络的函数执行方法及装置
US10791088B1 (en) Methods for disaggregating subscribers via DHCP address translation and devices thereof
CN113726902B (zh) 微服务的调用方法、系统、服务器、设备和存储介质
CN111092876B (zh) 多主机系统、电子设备、存储介质、用于多主机系统的信息处理方法及装置
US11997015B2 (en) Route updating method and user cluster
CN113098919B (zh) 一种节点间连通方法、装置、电子设备和存储介质
CN111835857B (zh) 用于访问数据的方法和装置
US20240048484A1 (en) Route updating method and user cluster

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant