CN115442328A - 一种网络地址转换方法、装置、网关、介质和设备 - Google Patents
一种网络地址转换方法、装置、网关、介质和设备 Download PDFInfo
- Publication number
- CN115442328A CN115442328A CN202210925264.2A CN202210925264A CN115442328A CN 115442328 A CN115442328 A CN 115442328A CN 202210925264 A CN202210925264 A CN 202210925264A CN 115442328 A CN115442328 A CN 115442328A
- Authority
- CN
- China
- Prior art keywords
- address
- destination
- port
- public network
- private network
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2517—Translation of Internet protocol [IP] addresses using port numbers
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地址、第一目的IP地址和随机源端口;判断所述第一目的IP地址是否存在于公网访问记录中,若是,则根据所述公网访问记录中所述第一目的IP地址对应的第二目的端口,将所述随机源端口转换为所述第二目的端口,并将所述私网IP地址转换为第二目的IP地址。通过上述方法,可以实现将随机源端口转换为第二目的端口。避免了随机源端口在预设转换表项中无法匹配的情况,从而实现了私网中服务器主动访问曾经访问过的公网中客户端。
Description
技术领域
本申请涉及网络通信技术领域,尤其涉及一种网络地址转换方法、装置、网关、介质和设备。
背景技术
随着互联网技术的发展和网络中客户端的逐渐增多,IPv4地址逐渐枯竭,成为制约网络技术发展的重要因素。
现有技术中,主要通过网络地址转换技术(network address translation,NAT)实现IPv4地址中公有地址的复用,以此来减少对公有地址的占用。具体来讲,NAT把私有地址转换为公有地址,可以实现多个私有地址对应一个公有地址,以此来节省宝贵的公有地址资源。NAT包括端口地址转换技术(port address translation,PAT)和源地址转换技术(source address translation,SAT)等。其中,PAT可以将私网中服务器的IP地址和端口号转换为公有地址和公开端口号,实现对私网中服务器的隐藏。从而来避免来自公网的对私网中服务器的恶意攻击。但是在这种方式中,私网中服务器仅能基于公网中客户端的访问被动回复。在私网中服务器主动访问公网时,生成的源端口是随机的,而PAT转换表项中的转换关系是在保证安全性的前提下预先设定的,无法查找到源端口对应的公开端口,进而也就无法将私网中服务器的私有地址转换为公有地址,无法实现私网中服务器对公网的主动访问。
基于此,目前亟需一种网络地址转换方法、装置、网关、介质和设备,用于在保证私网中服务器安全性的同时,实现私网中服务器对公网的主动访问。
发明内容
一种网络地址转换方法、装置、网关、介质和设备,用于在保证私网中服务器安全性的同时,实现私网中服务器对公网的主动访问。
第一方面,本申请实施例提供一种网络地址转换方法,所述方法包括:获取私网访问报文,所述私网访问报文中包括私网IP地址、第一目的IP地址和随机源端口;所述私网访问报文用于所述私网中服务器访问所述公网中客户端;所述私网IP地址为所述私网中服务器的私有地址;所述第一目的IP地址为所述公网中客户端的IP地址;所述随机源端口是所述私网中服务器访问所述公网中的客户端时随机产生的;判断所述第一目的IP地址是否存在于公网访问记录中,若是,则根据所述公网访问记录中所述第一目的IP地址对应的第二目的端口,将所述随机源端口转换为所述第二目的端口,并将所述私网IP地址转换为第二目的IP地址;所述公网访问记录是通过合法的公网访问报文生成的公网IP地址和私网端口的对应关系。
通过上述方法,仅需要判断私网访问报文中的第一目的IP地址是否存在于公网访问记录中,就可以根据公网访问记录中记录的第一目的IP地址对应的第二目的端口,将随机源端口转换为第二目的端口。避免了随机源端口在预设转换表项中无法匹配的情况,从而实现了私网中服务器主动访问曾经访问过的公网中客户端。在保证私网中服务器安全性的同时,提高了端口地址转换功能的兼容度。
一种可能的实现方式中,所述公网访问记录是通过合法的公网访问报文生成的公网IP地址和私网端口的对应关系,包括:获取公网访问报文,所述访问报文中包括公网IP地址、第二目的IP地址和第二目的端口;所述公网访问报文用于所述公网中的客户端访问所述私网中服务器;从预设转换表项中查询是否存在与所述第二目的IP地址对应的私网IP地址和与所述第二目的端口对应的私网端口;若是,则在所述公网访问记录中记录所述公网IP地址和所述私网端口的对应关系,所述私网端口为所述私网中服务器的隐藏端口,多个私网IP地址对应所述第二目的IP地址。
通过上述方式,可以实现在下次私网中的服务器需要主动访问记录下的这个公网IP地址时,查询到与这个公网IP地址对应的私网端口,从而可以将生成的随机源端口转换成有记录的私网端口,那么就可以在预设转化表项中查询到与这个私网端口对应的第二目的端口,从而将随机源端口转换成第二目的端口,使得私网中的服务器以合法的方式访问公网。
一种可能的实现方式中,判断所述第一目的IP地址是否存在于公网访问记录中,若否,则将所述私网访问报文丢弃。
在上述方式中,公网访问记录中不存在第一目的IP地址,则说明,公网中的第一目的IP地址没有访问过私网中的各个服务器,公网访问记录中没有记录,因此,也就无法找到与第一目的IP地址对应的私网端口,进而将随机产生的端口转换成与第一目的IP地址对应的私网端口,也就无法在预设转换表项中找到一个可以转换的公开端口。最终导致无法访问公网中的第一目的IP地址,只能将私网访问报文丢弃,以此禁止私网中的服务器访问公网,保证私网中服务器的安全性,以及,确保公网中客户端的隐私不被侵犯。
一种可能的实现方式中,获取公网访问报文之前,还包括:判断获取所述公网访问报文的接口是否开启端口地址转换功能;若是,则获取公网访问报文;若否,则将所述公网访问报文丢弃。
由于网关中有众多接口,需要确保获取公网访问报文的接口开启了端口转换功能才可以执行上述网络地址转换以及生成公网访问记录,如果没有开启端口地址转换功能,则只能将公网访问报文丢弃,由此来保证网络传输的秩序。
一种可能的实现方式中,根据所述公网访问记录中所述第一目的IP地址对应的第二目的端口,将所述随机源端口转换为所述第二目的端口,包括:基于端口地址转换功能根据所述公网访问记录中所述第一目的IP地址对应的第二目的端口,将所述随机源端口转换为所述第二目的端口。
通过上述方式,可以确保网关中接口的功能和要实现的地址转换方式的一致性,而端口地址转换功能本身可以将私网中服务器的IP地址和端口隐藏起来,避免公网中恶意流量的直接冲击,保证私网中服务器的安全性。
第二方面,本申请实施例提供一种网络地址转换装置,包括:获取模块,用于获取私网访问报文,所述私网访问报文中包括私网IP地址、第一目的IP地址和随机源端口;所述私网访问报文用于所述私网中服务器访问所述公网中客户端;所述私网IP地址为所述私网中服务器的私有地址;所述第一目的IP地址为所述公网中客户端的IP地址;所述随机源端口是所述私网中服务器访问所述公网中的客户端时随机产生的;
转换模块,用于判断所述第一目的IP地址是否存在于公网访问记录中,若是,则根据所述公网访问记录中所述第一目的IP地址对应的第二目的端口,将所述随机源端口转换为所述第二目的端口,并将所述私网IP地址转换为第二目的IP地址;所述公网访问记录是通过合法的公网访问报文生成的公网IP地址和私网端口的对应关系。
一种可能的实现方式中,所述获取模块还用于:获取公网访问报文,所述访问报文中包括公网IP地址、第二目的IP地址和第二目的端口;所述公网访问报文用于所述公网中的客户端访问所述私网中服务器;
所述装置还包括查询模块,用于从预设转换表项中查询是否存在与所述第二目的IP地址对应的私网IP地址和与所述第二目的端口对应的私网端口;若是,则在所述公网访问记录中记录所述公网IP地址和所述私网端口的对应关系,所述私网端口为所述私网中服务器的隐藏端口,多个私网IP地址对应所述第二目的IP地址。
一种可能的实现方式中,所述转换模块还用于,判断所述第一目的IP地址是否存在于公网访问记录中,若否,则将所述私网访问报文丢弃。
一种可能的实现方式中,所述转换模块还用于,判断获取所述公网访问报文的接口是否开启端口地址转换功能;若是,则获取公网访问报文;若否,则将所述公网访问报文丢弃。
一种可能的实现方式中,所述转换模块具体用于,基于端口地址转换功能根据所述公网访问记录中所述第一目的IP地址对应的第二目的端口,将所述随机源端口转换为所述第二目的端口。
第三方面,本申请实施例提供一种网关,用于执行上述第一方面中任一项方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序被运行时,执行上述第一方面中任一项方法。
第五方面,本申请实施例提供一种计算设备,包括:存储器,用于存储程序指令;处理器,用于调用存储器中存储的程序指令,按照获得的程序执行上述第一方面中任一项设计中的方法。
第六方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在处理器上运行时,实现如上述第一方面中任一项设计中的方法。
上述第二方面至第六方面的有益效果,具体可参照上述第一方面任一项设计可达到的有益效果,此处不再一一赘述。
附图说明
图1示例性示出本申请实施例提供的一种场景架构示意图;
图2示例性示出本申请实施例提供的一种网络访问的流程示意图;
图3示例性示出本申请实施例提供的一种访问报文示意图;
图4示例性示出本申请实施例提供的一种网络地址转换方法的流程示意图;
图5示例性示出本申请实施例提供的一种私网访问报文示意图;
图6示例性示出本申请实施例提供的一种公网访问记录生成的方法示意图;
图7示例性地示出本申请实施例提供的一种网络地址转换装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在如今的互联网环境中,主要使用网际协议版本4地址(Internet Protocolversion 4,IPv4),但是它的数目是有限的,从0.0.0.0-255.255.255.255,仅有2564个。随着互联网技术的发展和网络中客户端的逐渐增多,IPv4地址逐渐枯竭,成为制约网络技术发展的重要因素。尽管网际协议版本6地址(Internet Protocol version 6,IPv6)可以从根本上解决IPv4地址空间不足问题,但目前众多网络设备和网络应用大多是基于IPv4的,因此在IPv6广泛应用之前,一些过渡技术的使用是解决这个问题最主要的技术手段。
IPv4地址中分为公有地址和私有地址。公有地址(Public address)由因特网信息中心(Internet Network Information Center,Inter NIC)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。这些组织机构,通过公有地址直接访问因特网。私有地址(Private address)属于非注册地址,专门为特定组织机构的私有局域网使用。私有地址的字段包括如下表一所示的字段:
表一
A类 | 10.0.0.0--10.255.255.255 |
B类 | 172.16.0.0--172.31.255.255 |
C类 | 192.168.0.0--192.168.255.255 |
由表一可知,私有地址有17890817个。
私有地址不能出现在公网中,也就是运营商网络中,运营商设备检测到源地址为私有地址会直接丢弃。因此,私网中的服务器要想访问公网需要使用一个路由装置或者防火墙装置在私网出口处,把私有地址转换为公有地址。
目前,在私网的出口网关处,可以通过路由装置或者防火墙装置使用网络地址转换技术(Network Address Translation,NAT)将私有地址转化为合法的公有地址。
图1示例性示出本申请实施例提供的一种场景架构示意图,如图1所示,私网和公网之间通过网关连接。私网可以是某些组织或机构的局域网,如电信内部的局域网。在私网中包括多个服务器或者终端,私网为每个服务器或者终端分配私有地址,以服务器为例,服务器与IP地址的对应关系可以如下表二所示:
表二
服务器 | 私有地址 |
服务器1 | 10.10.1.0 |
服务器2 | 10.10.1.1 |
服务器3 | 10.10.1.2 |
服务器4 | 10.10.1.3 |
服务器5 | 10.10.1.4 |
服务器6 | 10.10.1.5 |
服务器7 | 10.10.1.6 |
服务器8 | 10.10.1.7 |
在网关处,需要将上述私有地址转换为公有地址才可以实现私网中各个服务器和公网之间的通信。
基于上述场景架构,网络地址技术主要包括如下几种类型:
类型一:目的地址转换技术(Destination Network Address Translation,NAT),即一个私有地址对应一个公有地址,具体如下表三所示:
表三
服务器 | 私有地址 | 公有地址 |
服务器1 | 10.10.1.0 | 152.0.0.0 |
服务器2 | 10.10.1.1 | 152.0.0.1 |
服务器3 | 10.10.1.2 | 152.0.0.2 |
服务器4 | 10.10.1.3 | 152.0.0.3 |
服务器5 | 10.10.1.4 | 152.0.0.4 |
服务器6 | 10.10.1.5 | 152.0.0.5 |
服务器7 | 10.10.1.6 | 152.0.0.6 |
服务器8 | 10.10.1.7 | 152.0.0.7 |
从表三中可以看出,每个服务器对应一个私有地址,网关在将私有地址转换的时候,不同的私有地址转换为不同的公有地址。以服务器1为例,服务器1的私有地址为10.10.1.0,在和外网通信时转换为152.0.0.0,以这个地址访问公网,反之,公网中的客户端通过与服务器对应的公有地址链接到网关,在网关处将公有地址转换为私有地址,进而可以访问私网中的服务器。由此这种转换方式可以实现私网服务器和公网的双向访问。但是,这种方式会占用较多的公有地址资源,加剧目前IPv4地址资源的枯竭。并且使私网服务器直接暴露在公网中,容易受到公网中恶意流量的攻击,不利于私网中服务器的数据安全。
类型二:SAT,即多个私有地址对应一个公有地址,具体如下表四所示:
表四
服务器 | 私有地址 | 公有地址 |
服务器1 | 10.10.1.0 | 152.0.0.0 |
服务器2 | 10.10.1.1 | 152.0.0.0 |
服务器3 | 10.10.1.2 | 152.0.0.0 |
服务器4 | 10.10.1.3 | 152.0.0.0 |
服务器5 | 10.10.1.4 | 152.0.0.0 |
服务器6 | 10.10.1.5 | 152.0.0.0 |
服务器7 | 10.10.1.6 | 152.0.0.0 |
服务器8 | 10.10.1.7 | 152.0.0.0 |
从表四中可以看出,每个服务器对应一个私有地址,网关在私有地址转换的时候,不同的私有地址转换为同一个公有地址。服务器1~服务器8对应的公有地址均为152.0.0.0,通过这种方式,可以节省公有地址资源。但是,这种方式中仅能实现私网中服务器向公网访问,公网中的客户端通过公有地址仅能链接到私网的网关,此时,由于一个公网地址对应多个私有地址,因此无法得知具体访问哪一个服务器,无法实现公网向私网方向的访问。
类型三:PAT,即使用一个合法公网地址,以不同的端口号与不同的私有地址相对应,也就是“私有地址+隐藏端口”与“公有地址+公开端口”之间的转换,具体如下表五所示:
表五
服务器 | 私有地址+隐藏端口 | 公有地址+公开端口 |
服务器1 | 10.10.1.0:80 | 152.0.0.0:1000 |
服务器2 | 10.10.1.1:81 | 152.0.0.0:1001 |
服务器3 | 10.10.1.2:82 | 152.0.0.0:1002 |
服务器4 | 10.10.1.3:83 | 152.0.0.0:1003 |
服务器5 | 10.10.1.4:84 | 152.0.0.0:1004 |
服务器6 | 10.10.1.5:85 | 152.0.0.0:1005 |
服务器7 | 10.10.1.6:86 | 152.0.0.0:1006 |
服务器8 | 10.10.1.7:87 | 152.0.0.0:1007 |
从表五中可以看出,每个服务器对应一个私有地址和一个隐藏端口,网关在私有地址转换的时候,不同的私有地址转换为同一个公有地址和不同的公开端口。以服务器1为例,服务器1的私有地址+隐藏端口为10.10.1.0:80,对应的公有地址+公开端口为152.0.0.0:1000。公网中的客户端需要访问服务器1时,通过152.0.0.0:1000链接到网关,在网关处将152.0.0.0:1000转换为10.10.1.0:80,即可访问服务器1。
其中,端口为网关的端口,端口的协议类型可以为传输控制协议(TransmissionControl Protocol,TCP)类型的端口,也可以为用户数据报协议(User DatagramProtocol,UDP)类型的端口,无论是TCP类型的端口还是UDP类型的端口,均有2的16次方个不同的端口号,即端口号的范围为0~65535。
通过上述类型三的地址转换方式可以将内网中服务器的IP地址和端口号隐藏起来,不直接暴露在公网中,可以避免公网中的恶意流量对私网中服务器的攻击,保证私网中服务器数据的安全性。
下面结合图1详细论述上述类型三中公网中的客户端访问私网中服务器的流程。图2示例性示出本申请实施例提供的一种网络访问的流程示意图,如图2所示,该流程包括:
步骤201,公网中客户端向网关发送访问报文。
图3示例性示出本申请实施例提供的一种访问报文示意图,如图3所示,访问报文中包括源IP地址(客户端的IP地址)、目的IP地址(私网公布的公有地址)、目的端口号等。源IP地址即为公网中客户端的IP地址,源IP地址必须是一个公有地址,才能在互联网中进行传输,否则就会被丢弃。目的IP地址即为私网公布的公有地址,用来告知公网中的客户端访问私网中服务器时使用什么样的IP地址,如众所周知的百度的IP地址为202.108.22.5。同样的,目的端口也是私网公布的供公网中的客户端访问特定服务器的端口,这是与服务器对应的公开端口号,特定服务器可以为用户提供特定的服务,如数据库的服务器可以供移动网络的用户查询话费账单、话费余额等。目的IP地址和目的端口号共同组成一个私网中的服务器面对公网的标识。此外,如图3所示,访问报文中还可以包括源端口号、目的端口协议类型(TCP/UDP)。
步骤202,网关根据预设转换表项将访问报文中的目的IP地址转换为与服务器对应的私有IP地址,将目的端口号转换为与服务器对应的隐藏端口号。
其中,预设转换表项可以参照表5所示。需要说明的是,预设转换表项是预先存储在网关的存储区中的,在私网中服务器建立时,就已经设置好与服务器的私有地址和隐藏端口对应的公有地址和公开端口。也就是说,只有在预设转换表项中查找到对应关系,才可以完成目的IP地址和目的端口号的转换。
示例性地,可以将预设转换表项存储在网关的硬盘区,网关在检测到访问报文中的目的IP地址之后,就将包含目的IP地址的这一行从硬盘区发送到内存区,在内存区为这一行设置留存时间。比如可以将留存时间设置为60s,在这60s中,可以连续接收目的IP地址相同的访问报文,60s之后,若仍然有目的IP地址相同的访问报文产生,在重新将包含目的IP地址的这一行从硬盘区发送到内存区。通过上述方式,可以减少网关内存的占用,从而使地址转换可以获取到更多的处理器资源,提高地址转换的效率。
步骤203,网关根据转换之后的服务器对应的私有IP地址和与服务器对应的隐藏端口号,将访问报文发送至对应的服务器。
步骤204,服务器将回复报文发送至网关。回复报文中包括:服务器的私有IP地址、服务器的隐藏端口、客户端的IP地址、端口协议类型等。
步骤205,网关根据预设转换表项将回复报文中的服务器私有IP地址转换为与服务器对应的公有IP地址,将服务器的隐藏端口号转换为公开端口号。
步骤206,网关基于公有IP地址和公开端口号,将回复报文通过互联网发送至客户端。
上述过程是私网中的服务器基于公网中客户端的访问进行回复的过程。在这个过程中,服务器在获取隐藏端口时,可以根据客户端访问的公开端口对应的隐藏端口获取隐藏端口,由此,可以在预设转换表项中查找到,进而能够将服务器的隐藏端口转换为私网的公开端口,实现对公网中客户端的回复。
但是在私网中服务器主动访问公网中客户端的场景中,由于没有访问报文中公开端口对应的隐藏端口信息,因此,服务器在获取隐藏端口时,是随机生成的,对于TCP或UDP协议类型的端口而言,端口的数目众多,而预设转换表项中的隐藏端口的对应关系是有限的,所以,在预设转换表项中无法获得与隐藏端口对应的公开端口。因此,网关通过查询预设转换表项,就无法将隐藏端口转换成公开端口、将私有地址转换为公有地址。也就无法实现对公网中客户端的主动访问。
基于此,本申请实施例提供了一种网络地址转换方法,用于实现私网中服务器对公网中客户端的主动访问。
基于图1中的场景架构,图4示例性示出本申请实施例提供的一种网络地址转换方法的流程示意图。如图4所示,所述方法包括:
步骤401,网关获取私网访问报文。私网访问报文用于私网中服务器访问公网中客户端。
图5示例性示出本申请实施例提供的一种私网访问报文示意图,如图5所示,私网访问报文中包括:私网IP地址,在私网访问公网时为源IP地址;第一目的IP地址,为公网中客户端的IP地址;随机源端口,是私网中服务器访问公网中客户端时随机产生的一种隐藏端口,对公网是不公开的,即在端口协议为TCP或者UDP时,一共可以有65535种可能的端口号,即从0-65535。在预设转换表项中,仅有有限个隐藏的端口有与之对应的公开端口。如表五所示的预设转换表项中仅有80、81、82、83、84、85、86、87、88这8个端口号可以转换为公开端号。
以服务器2为例,在服务器2需要访问公网中的客户端时,其访问报文中的内容可以为:10.10.1.0:95,查询如图5所示的预设转换表项,没有与之对应的公有地址+公开端口号,此时,服务器2就无法访问公网或公网中的客户端。
步骤402,网关判断第一目的IP地址是否存在于公网访问记录中,若是,则执行步骤403,若否,则执行步骤404;公网访问记录是通过合法的公网访问报文生成的公网IP地址和私网端口的对应关系。
图6示例性示出本申请实施例提供的一种公网访问记录生成的方法示意图。如图6所示,所述方法包括:
步骤601,网关获取公网访问报文,访问报文中包括公网IP地址、第二目的IP地址和第二目的端口;公网访问报文用于公网中的客户端访问私网中的服务器。
公网访问报文的内容可以参照图3所示。公网IP地址即为公网中的客户端或者服务器的IP地址,可以通过上述的类型一、类型二、类型三种任意一种方式转换而来的,也可以是客户端本来的共有地址,无需进行转换。公网中的客户端根据公网访问报文访问私网中的服务器的过程可以参照上述图2所示。
步骤602,网关从预设转换表项中查询是否存在与第二目的IP地址对应的私网IP地址和与第二目的端口对应的私网端口;若是,则在公网访问记录中记录公网IP地址和私网端口的对应关系;所述私网端口为所述私网中服务器的隐藏端口;多个私网IP地址对应所述第二目的IP地址。
如表5所示的预设转换表项,第二目的IP地址及维护公有地址,第二目的端口即为公开端口,如果在预设转换表项中查询到了与第二目的IP地址对应的私网IP地址和与第二目的端口对应的私网端口,则说明,访问报文中的第二目的IP地址和第二端口是合法的,私网中的服务器允许公网中的客户端通过第二目的IP地址和第二端口访问。
示例性地,可以将访问报文中的公网IP地址和私网端口的对应关系记录在公网访问记录中,由此,可以实现,在下次私网中的服务器需要主动访问记录下的这个公网IP地址时,可以查询到与这个公网IP地址对应的私网端口,从而可以将生成的随机源端口转换成有记录的私网端口,那么就一定可以在预设转化表项中查询到与这个私网端口对应的第二目的端口,从而就可以将随机源端口转换成第二目的端口,具体的转换过程见如下步骤403所示。
步骤403,网关根据公网访问记录中第一目的IP地址对应的第二目的端口,将随机源端口转换为第二目的端口,并将私网IP地址转换为第二目的IP地址,如图4所示。
下面以一个具体的示例说明上述步骤601和602。例如,公网中的客户端199.7.8.5访问私网中的服务器2时,访问报文中的第二目的地址为152.0.0.0,第二目的端口为1001,查询预设转换表项表五,可以查询到与第二目的地址152.0.0.0对应的私网IP地址为10.10.1.1,与第二目的端口1001对应的私网端口为81,则将公网IP地址199.7.8.5和私网端口为81的对应关系记录在公网访问记录中。在服务器2主动访问公网中的客户端199.7.8.5时,查询公网访问记录,可以把随机生成的端口转换为对应的私网端口81,之后私网的访问报文即为10.10.1.1:81,在预设转换表项中,就可以查询到,即转换为可以进入公网的152.0.0.0:1001。
步骤404,网关将私网访问报文丢弃。
在上述步骤402中,如果网关判断第一目的IP地址不存在于公网访问记录中,则说明,公网中的第一目的IP地址没有访问过私网中的各个服务器,公网访问记录中没有记录,因此,也就无法找到与第一目的IP地址对应的私网端口,无法将随机产生的端口转换成与第一目的IP地址对应的私网端口,也就无法在预设转换表项中找到一个可以转换的公开端口。最终导致无法访问公网中的第一目的IP地址,只能将私网访问报文丢弃。
通过上述步骤401-404,仅需要判断私网访问报文中的第一目的IP地址是否存在于公网访问记录中,就可以根据公网访问记录中记录的第一目的IP地址对应的第二目的端口,将随机源端口转换为第二目的端口。避免了随机源端口在预设转换表项中无法匹配的情况,从而实现了私网中服务器主动访问曾经访问过的公网中客户端。在保证私网中服务器安全性的同时,提高了端口地址转换功能的兼容度。
一种可能的实现方式中,在上述步骤601中,获取公网访问报文之前,还需要判断获取所述公网访问报文的接口是否开启端口地址转换功能;若是,则获取公网访问报文;若否,则将所述公网访问报文丢弃。
在上述方式中,由于网关中有众多接口,需要确保获取公网访问报文的接口开启了端口转换功能才可以执行上述步骤601-602,如果,没有开启端口地址转换功能,则只能将公网访问报文丢弃。
另一种可能的实现方式中,在上述步骤401中,在获取私网访问报文之前,也需要判断获取私网访问报文的接口是否开启端口地址转换功能,若是,才可以执行上述步骤401-404,否则,需要将私网访问报文丢弃。
在上述步骤403中,基于端口地址转换功能根据公网访问记录中第一目的IP地址对应的第二目的端口,将随机源端口转换为第二目的端口。
通过上述步骤,可以确保网关中接口的功能和要实现的地址转换方式的一致性,而端口地址转换功能本身可以将私网中服务器的IP地址和端口隐藏起来,避免公网中恶意流量的直接冲击,保证私网中服务器的安全性。
基于相同的技术构思,本申请实施例还提供了一种网络地址转换装置。图6示例性地示出本申请实施例提供的一种网络地址转换装置示意图,该装置可以执行前述的网络地址转换方法,如图7所示,该装置包括:
获取模块701,用于获取私网访问报文,所述私网访问报文中包括私网IP地址、第一目的IP地址和随机源端口;所述私网访问报文用于所述私网中服务器访问所述公网中客户端;所述私网IP地址为所述私网中服务器的私有地址;所述第一目的IP地址为所述公网中客户端的IP地址;所述随机源端口是所述私网中服务器访问所述公网中的客户端时随机产生的;
转换模块702,用于判断所述第一目的IP地址是否存在于公网访问记录中,若是,则根据所述公网访问记录中所述第一目的IP地址对应的第二目的端口,将所述随机源端口转换为所述第二目的端口,并将所述私网IP地址转换为第二目的IP地址;所述公网访问记录是通过合法的公网访问报文生成的公网IP地址和私网端口的对应关系。
一种可能的实现方式中,所述获取模块701还用于:获取公网访问报文,所述访问报文中包括公网IP地址、第二目的IP地址和第二目的端口;所述公网访问报文用于所述公网中的客户端访问所述私网中服务器;
所述装置还包括查询模块703,用于从预设转换表项中查询是否存在与所述第二目的IP地址对应的私网IP地址和与所述第二目的端口对应的私网端口;若是,则在所述公网访问记录中记录所述公网IP地址和所述私网端口的对应关系,所述私网端口为所述私网中服务器的隐藏端口,多个私网IP地址对应所述第二目的IP地址。
一种可能的实现方式中,所述转换模块702还用于,判断所述第一目的IP地址是否存在于公网访问记录中,若否,则将所述私网访问报文丢弃。
一种可能的实现方式中,所述转换模块702还用于,判断获取所述公网访问报文的接口是否开启端口地址转换功能;若是,则获取公网访问报文;若否,则将所述公网访问报文丢弃。
一种可能的实现方式中,所述转换模块702具体用于,基于端口地址转换功能根据所述公网访问记录中所述第一目的IP地址对应的第二目的端口,将所述随机源端口转换为所述第二目的端口。
基于相同的技术构思,本发明实施例还提供了一种网关,用于执行如图2、图4和图6所示意的方法。
基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如图2、图4和图6所示意的方法。
基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,当所述计算机程序产品在处理器上运行时,实现如图2、图4和图6所示意的方法。
基于相同的技术构思,本发明实施例还提供了一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现如图2、图4和图6所示意的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种网络地址转换方法,其特征在于,所述方法包括:
获取私网访问报文,所述私网访问报文中包括私网IP地址、第一目的IP地址和随机源端口;所述私网访问报文用于所述私网中服务器访问所述公网中客户端;所述私网IP地址为所述私网中服务器的私有地址;所述第一目的IP地址为所述公网中客户端的IP地址;所述随机源端口是所述私网中服务器访问所述公网中的客户端时随机产生的;
判断所述第一目的IP地址是否存在于公网访问记录中,若是,则根据所述公网访问记录中所述第一目的IP地址对应的第二目的端口,将所述随机源端口转换为所述第二目的端口,并将所述私网IP地址转换为第二目的IP地址;所述公网访问记录是通过合法的公网访问报文生成的公网IP地址和私网端口的对应关系。
2.如权利要求1所述的方法,其特征在于,所述公网访问记录是通过合法的公网访问报文生成的公网IP地址和私网端口的对应关系,包括:
获取公网访问报文,所述访问报文中包括公网IP地址、第二目的IP地址和第二目的端口;所述公网访问报文用于所述公网中的客户端访问所述私网中服务器;
从预设转换表项中查询是否存在与所述第二目的IP地址对应的私网IP地址和与所述第二目的端口对应的私网端口;若是,则在所述公网访问记录中记录所述公网IP地址和所述私网端口的对应关系,所述私网端口为所述私网中服务器的隐藏端口,多个私网IP地址对应所述第二目的IP地址。
3.如权利要求1所述的方法,其特征在于,判断所述第一目的IP地址是否存在于公网访问记录中,若否,则将所述私网访问报文丢弃。
4.如权利要求2所述的方法,其特征在于,获取公网访问报文之前,还包括:
判断获取所述公网访问报文的接口是否开启端口地址转换功能;
若是,则获取公网访问报文;
若否,则将所述公网访问报文丢弃。
5.如权利要求4所述的方法,其特征在于,根据所述公网访问记录中所述第一目的IP地址对应的第二目的端口,将所述随机源端口转换为所述第二目的端口,包括:
基于端口地址转换功能根据所述公网访问记录中所述第一目的IP地址对应的第二目的端口,将所述随机源端口转换为所述第二目的端口。
6.一种网络地址转换装置,其特征在于,所述装置包括:
获取模块,用于获取私网访问报文,所述私网访问报文中包括私网IP地址、第一目的IP地址和随机源端口;所述私网访问报文用于所述私网中服务器访问所述公网中客户端;所述私网IP地址为所述私网中服务器的私有地址;所述第一目的IP地址为所述公网中客户端的IP地址;所述随机源端口是所述私网中服务器访问所述公网中的客户端时随机产生的;
转换模块,用于判断所述第一目的IP地址是否存在于公网访问记录中,若是,则根据所述公网访问记录中所述第一目的IP地址对应的第二目的端口,将所述随机源端口转换为所述第二目的端口,并将所述私网IP地址转换为第二目的IP地址;所述公网访问记录是通过合法的公网访问报文生成的公网IP地址和私网端口的对应关系。
7.如权利要求6所述的装置,其特征在于,
所述获取模块还用于:获取公网访问报文,所述访问报文中包括公网IP地址、第二目的IP地址和第二目的端口;所述公网访问报文用于所述公网中的客户端访问所述私网中服务器;
所述装置还包括查询模块,用于从预设转换表项中查询是否存在与所述第二目的IP地址对应的私网IP地址和与所述第二目的端口对应的私网端口;若是,则在所述公网访问记录中记录所述公网IP地址和所述私网端口的对应关系,所述私网端口为所述私网中服务器的隐藏端口,多个私网IP地址对应所述第二目的IP地址。
8.一种网关,其特征在于,所述网关用于执行如权利要求1至5中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被运行时,执行如权利要求1至5中任一项所述的方法。
10.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至5任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210925264.2A CN115442328B (zh) | 2022-08-03 | 2022-08-03 | 一种网络地址转换方法、装置、网关、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210925264.2A CN115442328B (zh) | 2022-08-03 | 2022-08-03 | 一种网络地址转换方法、装置、网关、介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115442328A true CN115442328A (zh) | 2022-12-06 |
CN115442328B CN115442328B (zh) | 2023-06-02 |
Family
ID=84243494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210925264.2A Active CN115442328B (zh) | 2022-08-03 | 2022-08-03 | 一种网络地址转换方法、装置、网关、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115442328B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1474570A (zh) * | 2002-08-10 | 2004-02-11 | 华为技术有限公司 | 在数据传输过程中对地址转换用户的访问进行记录的方法 |
CN101141420A (zh) * | 2007-09-05 | 2008-03-12 | 杭州华三通信技术有限公司 | 私网与公网进行数据通信的方法及系统 |
CN101599899A (zh) * | 2009-07-06 | 2009-12-09 | 杭州华三通信技术有限公司 | 网络地址转换设备支持多种组网的访问方法及设备 |
US20110019682A1 (en) * | 2008-04-03 | 2011-01-27 | Huawei Technologies Co., Ltd. | Method, media gateway and media gateway controller for maintaining nat address mapping table |
CN102957754A (zh) * | 2011-08-22 | 2013-03-06 | 中国电信股份有限公司 | 运营级网络地址转换方法、设备及网络系统 |
CN105657077A (zh) * | 2014-11-13 | 2016-06-08 | 中国移动通信集团公司 | 一种网络地址转换穿越方法和网络地址转换设备 |
CN111131544A (zh) * | 2019-12-26 | 2020-05-08 | 杭州迪普科技股份有限公司 | 一种实现nat穿越的方法 |
CN112040029A (zh) * | 2020-11-04 | 2020-12-04 | 武汉绿色网络信息服务有限责任公司 | Nat转换方法、装置、计算机设备及存储介质 |
CN112104761A (zh) * | 2020-08-20 | 2020-12-18 | 广东网堤信息安全技术有限公司 | 一种nat地址转换的方法 |
CN112333298A (zh) * | 2020-12-01 | 2021-02-05 | 武汉绿色网络信息服务有限责任公司 | 报文传输方法、装置、计算机设备及存储介质 |
-
2022
- 2022-08-03 CN CN202210925264.2A patent/CN115442328B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1474570A (zh) * | 2002-08-10 | 2004-02-11 | 华为技术有限公司 | 在数据传输过程中对地址转换用户的访问进行记录的方法 |
CN101141420A (zh) * | 2007-09-05 | 2008-03-12 | 杭州华三通信技术有限公司 | 私网与公网进行数据通信的方法及系统 |
US20110019682A1 (en) * | 2008-04-03 | 2011-01-27 | Huawei Technologies Co., Ltd. | Method, media gateway and media gateway controller for maintaining nat address mapping table |
CN101599899A (zh) * | 2009-07-06 | 2009-12-09 | 杭州华三通信技术有限公司 | 网络地址转换设备支持多种组网的访问方法及设备 |
CN102957754A (zh) * | 2011-08-22 | 2013-03-06 | 中国电信股份有限公司 | 运营级网络地址转换方法、设备及网络系统 |
CN105657077A (zh) * | 2014-11-13 | 2016-06-08 | 中国移动通信集团公司 | 一种网络地址转换穿越方法和网络地址转换设备 |
CN111131544A (zh) * | 2019-12-26 | 2020-05-08 | 杭州迪普科技股份有限公司 | 一种实现nat穿越的方法 |
CN112104761A (zh) * | 2020-08-20 | 2020-12-18 | 广东网堤信息安全技术有限公司 | 一种nat地址转换的方法 |
CN112040029A (zh) * | 2020-11-04 | 2020-12-04 | 武汉绿色网络信息服务有限责任公司 | Nat转换方法、装置、计算机设备及存储介质 |
CN112333298A (zh) * | 2020-12-01 | 2021-02-05 | 武汉绿色网络信息服务有限责任公司 | 报文传输方法、装置、计算机设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
"\"slow-port-exhaustion Dos attack on virtual network using port address translation\"", 《2018 SIXTH INTERNATIONAL SYMPOSIUM ON COMPUTING AND NETWORKING》 * |
张波;: ""基于端口映射NAT网络方案分析与实施"", 《软件工程师》 * |
郭慧;: "双向NAT技术的实现", 电脑开发与应用, no. 01 * |
高腾飞;陈俊强;: "基于分布式架构的NAT模块设计与实现", 光通信研究, no. 05 * |
Also Published As
Publication number | Publication date |
---|---|
CN115442328B (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9825911B1 (en) | Security policy check based on communication establishment handshake packet | |
US6457061B1 (en) | Method and apparatus for performing internet network address translation | |
US6801528B2 (en) | System and method for dynamic simultaneous connection to multiple service providers | |
EP2253124B1 (en) | Method and apparatus for communication of data packets between local networks | |
US7792995B2 (en) | Accessing data processing systems behind a NAT enabled network | |
CN109688100B (zh) | Nat穿透方法、装置、设备及存储介质 | |
US8406232B2 (en) | 4to6 network stack for IPv4 applications | |
US8578468B1 (en) | Multi-factor client authentication | |
Ullrich et al. | {IPv6} Security: Attacks and Countermeasures in a Nutshell | |
CN109525684B (zh) | 报文转发方法和装置 | |
US11570689B2 (en) | Methods, systems, and computer readable media for hiding network function instance identifiers | |
CN108040134A (zh) | 一种dns透明代理的方法及装置 | |
CN111786869B (zh) | 一种服务器之间的数据传输方法及服务器 | |
CN110012118B (zh) | 一种提供网络地址转换nat服务的方法及控制器 | |
EP4049425B1 (en) | Email security in a multi-tenant email service | |
CN113472817A (zh) | 一种大规模IPSec的网关接入方法、装置及电子设备 | |
US9819641B2 (en) | Method of and a processing device handling a protocol address in a network | |
CN113381906A (zh) | 基于政企系统业务的限制性外网访问测试方法 | |
CN111131448B (zh) | ADSL Nat的运维管理的边缘管理方法、边缘端代理设备及计算机可读存储介质 | |
CN112104761A (zh) | 一种nat地址转换的方法 | |
US10855651B2 (en) | Method and device for efficiently using IPv4 public address | |
CN109413224B (zh) | 报文转发方法和装置 | |
US20230269216A1 (en) | Communication method and apparatus | |
AU2019257538B2 (en) | Systems and methods for providing a ReNAT communications environment | |
CN115442328B (zh) | 一种网络地址转换方法、装置、网关、介质和设备 |
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 |