CN110798538B - Nat地址分配方法及装置 - Google Patents
Nat地址分配方法及装置 Download PDFInfo
- Publication number
- CN110798538B CN110798538B CN201910981514.2A CN201910981514A CN110798538B CN 110798538 B CN110798538 B CN 110798538B CN 201910981514 A CN201910981514 A CN 201910981514A CN 110798538 B CN110798538 B CN 110798538B
- Authority
- CN
- China
- Prior art keywords
- nat
- nat address
- address
- predefined
- pool
- 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
Links
Images
Classifications
-
- 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/50—Address allocation
- H04L61/5061—Pools of 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/2557—Translation policies or rules
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种NAT地址分配方法及装置,该方法包括:在获得申请NAT策略信息后,判断历史NAT策略信息中是否存在满足预定义NAT地址分配条件的NAT地址;在确定历史NAT策略信息中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息和预定义NAT地址分配条件,从历史NAT策略信息中获得NAT地址;在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,根据申请NAT策略信息和预定义NAT地址分配条件,从NAT地址池中获得NAT地址,所述NAT地址池中包括多个NAT地址。本发明可分配NAT地址,效率高,准确率高,NAT地址复用程度高。
Description
技术领域
本发明涉及通信领域,尤其涉及一种NAT地址分配方法及装置。
背景技术
目前,网络工程师在进行NAT分配时,一般采用EXCEL表格记录要分配的地址,需要使用时,从EXCEL表格中人工选择地址,这种方式存在效率低,易出错等问题,无法实现NAT地址最大程度的复用,从而造成了NAT地址浪费。
发明内容
本发明实施例提出了一种NAT地址分配方法,可自动分配NAT地址,效率高,准确率高,NAT地址的复用程度高,该方法包括:
在获得申请NAT策略信息后,判断历史NAT策略信息中是否存在满足预定义NAT地址分配条件的NAT地址;
在确定历史NAT策略信息中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息和预定义NAT地址分配条件,从历史NAT策略信息中获得NAT地址;
在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,根据申请NAT策略信息和预定义NAT地址分配条件,从NAT地址池中获得NAT地址,所述NAT地址池中包括多个NAT地址。
本发明实施例提出了一种NAT地址分配装置,可自动分配NAT地址,效率高,准确率高,NAT地址的复用程度高,该装置包括:
判断模块,用于在获得申请NAT策略信息后,判断历史NAT策略信息中是否存在满足预定义NAT地址分配条件的NAT地址;
第一分配模块,用于在确定历史NAT策略信息中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息和预定义NAT地址分配条件,从历史NAT策略信息中获得NAT地址;
第二分配模块,用于在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,根据申请NAT策略信息和预定义NAT地址分配条件,从NAT地址池中获得NAT地址,所述NAT地址池中包括多个NAT地址。
本发明实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述NAT地址分配方法。
本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述NAT地址分配方法的计算机程序。
在本发明实施例中,在获得申请NAT策略信息后,判断历史NAT策略信息中是否存在满足预定义NAT地址分配条件的NAT地址;在确定历史NAT策略信息中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息和预定义NAT地址分配条件,从历史NAT策略信息中获得NAT地址;在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,根据申请NAT策略信息和预定义NAT地址分配条件,从NAT地址池中获得NAT地址,所述NAT地址池中包括多个NAT地址。以上步骤均可自动执行,无需人工操作,效率高,且避免了人工出错,准确率高;从历史NAT策略信息中获得NAT地址的过程,实现了对历史NAT策略信息中已有NAT地址的复用,避免了已有NAT地址的浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中NAT地址分配方法的流程图;
图2为本发明实施例提出的NAT地址分配方法的详细流程图;
图3为本发明实施例提出的NAT地址分配装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
图1为本发明实施例中NAT地址分配方法的流程图,如图1所示,该方法包括:
步骤101,在获得申请NAT策略信息后,判断历史NAT策略信息中是否存在满足预定义NAT地址分配条件的NAT地址;
步骤102,在确定历史NAT策略信息中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息和预定义NAT地址分配条件,从历史NAT策略信息中获得NAT地址;
步骤103,在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,根据申请NAT策略信息和预定义NAT地址分配条件,从NAT地址池中获得NAT地址,所述NAT地址池中包括多个NAT地址。
在本发明实施例中,在获得申请NAT策略信息后,判断历史NAT策略信息中是否存在满足预定义NAT地址分配条件的NAT地址;在确定历史NAT策略信息中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息和预定义NAT地址分配条件,从历史NAT策略信息中获得NAT地址;在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,根据申请NAT策略信息和预定义NAT地址分配条件,从NAT地址池中获得NAT地址,所述NAT地址池中包括多个NAT地址。以上步骤均可自动执行,无需人工操作,效率高,且避免了人工出错,准确率高;从历史NAT策略信息中获得NAT地址的过程,实现了对历史NAT策略信息中已有NAT地址的复用,避免了已有NAT地址的浪费。
具体实施时,在步骤101中,判断历史NAT(Network Address Translation,网络地址转换)策略信息中是否存在满足预定义NAT地址分配条件的NAT地址,预定义NAT地址分配条件可以根据实际应用场景确定,预定义NAT地址分配条件的作用域,可以按照实际使用进行划分,可以是某个设备,也可以是某组设备。预定义NAT地址分配条件可以涉及业务***、安全域、接口、IP网段、应用等。另外,NAT分为SNAT和DNAT,因此,针对SNAT和DNAT的分配条件也不同。
在一实施例中,根据申请NAT策略信息和预定义NAT地址分配条件,从历史NAT策略信息中获得NAT地址,包括:
根据预定义NAT地址分配条件,比对申请NAT策略信息和历史NAT策略信息,根据比对结果,从历史NAT策略信息中获得满足预定义NAT地址分配条件的多个NAT地址;
从所述多个NAT地址中确定一个NAT地址。
下面给出几个预定义NAT地址分配条件的示例。
示例一:
<natType>snat</natType>
<src>ip</src>
<dst>interface</dst>
上述为SNAT采用源地址和出接口表示的预定义NAT地址分配条件,针对的是1对1模式,该NAT分配条件可表示成:对于1对1模式的SNAT,在第一流量的源地址和出接口与第二流量的源地址和出接口一致时,第一流量可复用第二流量中的NAT地址。在本发明实施例中,第一流量可以为申请NAT策略信息,第二流量可以为历史NAT策略信息,即从历史NAT策略信息中获得满足预定义NAT地址分配条件的多个NAT地址,然后从所述多个NAT地址中选择一个NAT地址。
示例二:
<natType>snat</natType>
<src>ip</src>
<dst>system</dst>
上述为SNAT采用源地址和目的业务***表示的预定义NAT地址分配条件,针对的是1对1模式,该NAT分配条件可表示成:对于1对1模式的SNAT,在第一流量的源地址和目的业务***与第二流量的源地址和目的业务***一致时,第一流量可复用第二流量中的NAT地址。同理,对于1对1模式的SNAT,在源地址相同的情况下,可以根据实际应用场景,将出接口替换成目的安全域、目的IP网段、目的应用等。
示例三:
<natType>snat</natType>
<src>any</src>
<dst>interface</dst>
上述为SNAT采用出接口表示的预定义NAT地址分配条件,针对的是多对1模式,该NAT分配条件可表示成:对于多对1模式的SNAT,在第一流量的出接口与第二流量的出接口一致时,第一流量可复用第二流量中的NAT地址。
示例四:
<natType>snat</natType>
<src>system</src>
<dst>interface</dst>
上述为SNAT采用源业务***和出接口表示的预定义NAT地址分配条件,针对的是多对1模式,该NAT分配条件可表示成:对于多对1模式的SNAT,在第一流量的源业务***和出接口与第二流量的源业务***和出接口一致时,第一流量可复用第二流量中的NAT地址。
示例五:
<natType>snat</natType>
<src>system</src>
<dst>system</dst>
上述为SNAT采用源业务***和目的业务***表示的预定义NAT地址分配条件,针对的是多对1模式,该NAT分配条件可表示成:对于多对1模式的SNAT,在第一流量的源业务***和目的业务***与第二流量的源业务***和目的业务***一致时,第一流量可复用第二流量中的NAT地址。
示例六:
<natType>snat</natType>
<src>system</src>
<dst>zone</dst>
上述为SNAT采用源业务***和目的安全域表示的预定义NAT地址分配条件,针对的是多对1模式,该NAT分配条件可表示成:对于多对1模式的SNAT,在第一流量的源业务***和目的安全域与第二流量的源业务***和目的安全域一致时,第一流量可复用第二流量中的NAT地址。从上述示意可以看出,对于多对1模式的SNAT,可以根据实际应用场景,选择接口、安全域、业务***作为dst中的值。
示例七:
<natType>dnat</natType>
<src>system</src>
<dst>ip</dst>
上述为DNAT采用源业务***和目的IP表示的预定义NAT地址分配条件,针对的是1对1模式,该NAT分配条件可表示成:对于1对1模式的DNAT,在第一流量的源业务***和目的IP与第二流量的源业务***和目的IP一致时,第一流量可复用第二流量中的NAT地址。
示例八:
<natType>dnat</natType>
<src>interface</src>
<dst>system</dst>
上述为DNAT采用入接口和出接口表示的预定义NAT地址分配条件,针对的是多对1模式,该NAT分配条件可表示成:对于多对1模式的DNAT,在第一流量的入接口和出接口与第二流量的入接口和出接口一致时,第一流量可复用第二流量中的NAT地址。
在步骤103中,在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,根据申请NAT策略信息和预定义NAT地址分配条件,从NAT地址池中获得NAT地址,所述NAT地址池中包括多个NAT地址。
具体实施时,创建NAT地址池需要指定NAT类型为SNAT、可用的NAT地址段、以及与该NAT地址池的分配原则相关的业务信息,例如,预定义NAT地址分配条件为采用源业务***和出接口表示的预定义NAT地址分配条件,那么,创建NAT地址池需要指定关联的源业务***和出接口。
在一实施例中,在创建NAT地址池之后,还包括:
按照预设NAT地址池校验条件,对NAT地址池进行校验;
根据预定义NAT地址分配条件,从NAT地址池中获得NAT地址,包括:
在确定为NAT地址池满足预设NAT地址池校验条件时,根据预定义NAT地址分配条件,从NAT地址池中获得NAT地址。
在上述实施例中,预设NAT地址池校验条件可以包括在相同的作用域内,地址空间不能有空集。
在一实施例中,根据预定义NAT地址分配条件,从NAT地址池中获得NAT地址,包括:
根据申请NAT策略信息,判断NAT地址池中是否存在满足预定义NAT地址分配条件的NAT地址;
在确定NAT地址池中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息,从NAT地址池中获得满足预定义NAT地址分配条件的多个NAT地址,从所述多个NAT地址中确定一个NAT地址;
在确定NAT地址池中不存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息,从NAT地址池中确定一个未被使用的NAT地址。
下面给出一个针对示例一表示的预定义NAT地址分配条件对应的SNAT地址分配过程:
在示例一中,预定义NAT地址分配条件为:对于1对1模式的SNAT,在第一流量的源地址和出接口与第二流量的源地址和出接口一致时,第一流量可复用第二流量中的NAT地址。因此,当申请NAT策略信息中的源地址和出接口与历史NAT策略信息中的源地址和出接口一致时,复用历史NAT策略信息中的其中一个NAT地址;当申请NAT策略信息中的源地址和出接口与历史NAT策略信息中的源地址和出接口不一致时,根据申请NAT策略信息中的源地址和出接口创建地址池,从NAT地址池中选出源地址和出接口与申请NAT策略信息中的源地址和出接口相同的NAT地址用于复用,否则未找到可复用的NAT地址,可根据申请NAT策略信息中的出接口从NAT地址选择一个未被使用的NAT地址。
下面给出一个针对示例三表示的预定义NAT地址分配条件对应的SNAT地址分配过程:
在示例三中,预定义NAT地址分配条件为:对于多对1模式的SNAT,在第一流量的出接口与第二流量的出接口一致时,第一流量可复用第二流量中的NAT地址。因此,当申请NAT策略信息中的出接口与历史NAT策略信息中的出接口一致时,复用历史NAT策略信息中的其中一个NAT地址;当申请NAT策略信息中的出接口与历史NAT策略信息中的出接口不一致时,根据申请NAT策略信息中的出接口创建地址池,从NAT地址池中选出出接口与申请NAT策略信息中的出接口相同的NAT地址用于复用。
下面给出一个针对示例七表示的预定义NAT地址分配条件对应的DNAT地址分配过程:
在示例七中,预定义NAT地址分配条件为:对于1对1模式的DNAT,在第一流量的源业务***和目的IP与第二流量的源业务***和目的IP一致时,第一流量可复用第二流量中的NAT地址。因此,当申请NAT策略信息中的源业务***和目的IP与历史NAT策略信息中的源业务***和目的IP一致(端口号不同)时,复用历史NAT策略信息中的其中一个NAT地址;当申请NAT策略信息中的源业务***和目的IP与历史NAT策略信息中的源业务***和目的IP不一致时,根据申请NAT策略信息中的源业务***和目的IP创建地址池,从NAT地址池中选出源业务***和目的IP与申请NAT策略信息中的源业务***和目的IP相同的NAT地址用于复用,否则未找到可复用的NAT地址,可根据申请NAT策略信息中的源业务***从NAT地址选择一个未被使用的NAT地址。
在一实施例中,在从NAT地址池中获得NAT地址之后,还包括:
将获得的NAT地址添加至申请NAT策略信息中。
在一实施例中,所述方法还包括:
对获得的NAT地址进行校验,获得第一校验结果;
对包含NAT地址的申请NAT策略信息进行校验,获得第二校验结果;
在第一校验结果或第二校验结果为NAT地址分配失败时,重新确定一个NAT地址,将NAT地址替换为重新确定的NAT地址,重复执行以上步骤,直至第一校验结果和第二校验结果均为NAT地址分配成功。
在上述实施例中,通过上述两类校验结果,可充分验证本方法分配的NAT地址的准确性,在一般情况下,第一校验结果和第二校验结果均为校验成功,在极少数校验失败的情况下,可提醒用户再次进行NAT地址分配。
在一实施例中,对获得的NAT地址进行校验,获得第一校验结果,包括:
若NAT地址池中的任一NAT地址与获得的NAT地址相同且NAT模式不同,则第一校验结果为NAT地址分配失败;
若NAT地址池中的任一NAT地址与获得的NAT地址有交集且NAT模式不同,则第一校验结果为NAT地址分配失败。
在一实施例中,对包含NAT地址的申请NAT策略信息进行校验,获得第二校验结果,包括:
比对历史NAT策略信息与申请NAT策略信息中的NAT地址、目的地址和NAT模式,获得第二校验结果。
下面给出针对SNAT的检验流程如下:
若申请SNAT策略信息中的源地址与历史SNAT策略信息中的源地址的关系是包含或者相同关系,但NAT地址或NAT模式不一样,则存在冲突,第二校验结果为NAT地址分配失败;若申请SNAT策略信息中的源地址与历史SNAT策略信息中的源地址的关系不是包含关系且源地址不同(对于1对1模式,还要求NAT地址相同),则存在冲突,第二校验结果为NAT地址分配失败;否则第二校验结果为NAT地址分配成功。
下面给出针对DNAT的检验流程如下:
在申请DNAT策略信息的NAT地址、目的地址和NAT模式与历史DNAT策略信息中的均相同时,如果端口相同,则存在冲突,第二校验结果为NAT地址分配失败;对于DNAT的1对1模式,若申请DNAT策略信息与历史申请DNAT策略信息中的NAT地址、目的地址有一个不同,则存在冲突;第二校验结果为NAT地址分配失败;否则第二校验结果为NAT地址分配成功。
基于上述实施例,本发明提出如下一个实施例来说明NAT地址分配方法的详细流程,图2为本发明实施例提出的NAT地址分配方法的详细流程图,如图2所示,在一实施例中,NAT地址分配方法的详细流程包括:
步骤201,在获得申请NAT策略信息后,判断历史NAT策略信息中是否存在满足预定义NAT地址分配条件的NAT地址,在确定历史NAT策略信息中存在满足预定义NAT地址分配条件的NAT地址时,进入步骤202,否则进入步骤204;
步骤202,根据预定义NAT地址分配条件,比对申请NAT策略信息和历史NAT策略信息,根据比对结果,从历史NAT策略信息中获得满足预定义NAT地址分配条件的多个NAT地址;
步骤203,从所述多个NAT地址中确定一个NAT地址,进入步骤210;
步骤204,创建NAT地址池;
步骤205,按照预设NAT地址池校验条件,对NAT地址池进行校验;
步骤206,根据申请NAT策略信息,判断NAT地址池中是否存在满足预定义NAT地址分配条件的NAT地址;在确定NAT地址池中存在满足预定义NAT地址分配条件的NAT地址时,进入步骤207,否则进入步骤209;
步骤207,根据申请NAT策略信息,从NAT地址池中获得满足预定义NAT地址分配条件的多个NAT地址;
步骤208,从所述多个NAT地址中确定一个NAT地址,进入步骤210;
步骤209,根据申请NAT策略信息,从NAT地址池中确定一个未被使用的NAT地址,进入步骤210;
步骤210,将获得的NAT地址添加至申请NAT策略信息中;
步骤211,对获得的NAT地址进行校验,获得第一校验结果;
步骤212,对包含NAT地址的申请NAT策略信息进行校验,获得第二校验结果;
步骤213,在第一校验结果为NAT地址分配失败时,返回步骤203,否则进入步骤214;
步骤214,在第二校验结果为NAT地址分配失败时,返回步骤208,否则结束流程。
当然,可以理解的是,上述NAT地址分配方法的详细流程还可以有其他变化例,相关变化例均应落入本发明的保护范围。
下面给出两个具体实施例,来说明本发明实施例提出的方法的具体应用。
具体实施例一:
该实施例以SNAT为例,预定义NAT地址分配条件基于业务***和出接口,这里业务***即为源业务***,该NAT地址分配条件可以表示成:在第一流量的源业务***和出接口与第二流量的源业务***和出接口一致时,第一流量可复用第二流量中的NAT地址。
对于SNAT的1对1模式(静态模式),在申请NAT策略信息中的源业务***和出接口与历史NAT策略信息中的源业务***和出接口一致时,则可复用历史NAT策略信息中的NAT地址。对于SNAT的多对1模式(动态端口模式),在申请NAT策略信息中的源业务***和出接口与历史NAT策略信息中的源业务***和出接口一致时,则可复用历史NAT策略信息中的NAT地址。如下为该案例中的预定义NAT地址分配条件的示意:
<natType>snat</natType>
<src>system</src>
<systemName>soc</systemName>
<dst>interface</dst>
<intfName>ge0</intfName>
在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,NAT地址池需要指定NAT类型为SNAT、可用的NAT地址段、以及与该NAT地址池的分配原则相关的业务信息。
在本实施例中,预定义NAT地址分配条件基于业务***和出接口,因此,NAT地址池创建的时候,需要指定关联的源业务***和出接口,需要对NAT地址池进行校验,预设NAT地址池校验条件为在相同的作用域内,地址空间不能有交集。
之后,根据申请NAT策略信息,判断NAT地址池中是否存在满足预定义NAT地址分配条件的NAT地址,对于1对1模式,根据申请NAT策略信息中的源业务***和出接口从NAT地址池中获得满足预定义NAT地址分配条件的多个NAT地址,从所述多个NAT地址中确定一个NAT地址;否则根据申请NAT策略信息中的出接口从NAT地址池中选择一个NAT地址。对于多对1模式,根据满足预定义NAT地址分配条件中的申请NAT策略信息中的出接口从NAT地址池中选择多个NAT地址,如果这些NAT地址有已经被使用的,则复用这个被使用的,否则选择没有被使用的。
然后将获得的NAT地址添加至申请NAT策略信息中;对获得的NAT地址进行校验,获得第一校验结果;对包含NAT地址的申请NAT策略信息进行校验,获得第二校验结果;在第一校验结果为NAT地址分配失败时,将NAT地址替换为重新确定的NAT地址,在第二校验结果为NAT地址分配失败时,将NAT地址替换为重新确定的NAT地址,重新进行校验,在第一校验结果和第二校验结果均为NAT地址分配成功时,结束。
具体实施例二:
该实施例以DNAT为例,预定义NAT地址分配条件基于安全域和入接口,这里安全域即为目的安全域,该NAT地址分配条件可以表示成:在第一流量的入接口和目的安全域与第二流量的入接口和目的安全域一致时,第一流量可复用第二流量中的NAT地址。
对于DNAT的1对1模式,在申请NAT策略信息中的入接口和目的安全域与历史NAT策略信息中的入接口和目的安全域一致(端口不同)时,则可复用历史NAT策略信息中的NAT地址。对于DNAT的多对1模式,在申请NAT策略信息中的入接口和目的安全域和出接口与历史NAT策略信息中的入接口和目的安全域一致(端口不同)时,则可复用历史NAT策略信息中的NAT地址。如下为该案例中的预定义NAT地址分配条件的示意:
<natType>dnat</natType>
<src>interface</src>
<intfName>ge0</intfName>
<dst>zone</dst>
<zoneName>trust</zoneName>
在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,NAT地址池需要指定NAT类型为DNAT、可用的NAT地址段、以及与该NAT地址池的分配原则相关的业务信息。
在本实施例中,预定义NAT地址分配条件基于入接口和目的安全域,因此,NAT地址池创建的时候,需要指定关联的入接口和目的安全域,需要对NAT地址池进行校验,预设NAT地址池校验条件为在相同的作用域内,地址空间不能有交集。
之后,根据申请NAT策略信息,判断NAT地址池中是否存在满足预定义NAT地址分配条件的NAT地址,对于1对1模式,从NAT地址池中选出入接口和目的安全域与申请NAT策略信息中的入接口和目的安全域一致(端口不同)的NAT地址,如果没有合适的NAT地址,则根据入接口和目的安全域,从NAT地址池中选出未被使用的NAT地址。对于多对1模式,根据申请NAT策略信息的入接口和目的安全域在NAT地址池中选出已使用和未使用的多个NAT地址,已经被使用的NAT地址的端口与申请NAT策略信息的端口不同,则复用,如果无可复用的NAT地址,则将未使用的地址作为NAT地址。
然后将获得的NAT地址添加至申请NAT策略信息中;对获得的NAT地址进行校验,获得第一校验结果;对包含NAT地址的申请NAT策略信息进行校验,获得第二校验结果;在第一校验结果为NAT地址分配失败时,将NAT地址替换为重新确定的NAT地址,在第二校验结果为NAT地址分配失败时,将NAT地址替换为重新确定的NAT地址,重新进行校验,在第一校验结果和第二校验结果均为NAT地址分配成功时,结束。
综上所述,在本发明实施例提出的方法中,在获得申请NAT策略信息后,判断历史NAT策略信息中是否存在满足预定义NAT地址分配条件的NAT地址;在确定历史NAT策略信息中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息和预定义NAT地址分配条件,从历史NAT策略信息中获得NAT地址;在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,根据申请NAT策略信息和预定义NAT地址分配条件,从NAT地址池中获得NAT地址,所述NAT地址池中包括多个NAT地址。以上步骤均可自动执行,无需人工操作,效率高,且避免了人工出错,准确率高;从历史NAT策略信息中获得NAT地址的过程,实现了对历史NAT策略信息中已有NAT地址的复用,避免了已有NAT地址的浪费。
另外,本发明实施例也可对NAT地址池中已经使用的NAT地址进行复用,进一步提高了NAT地址的复用程度。
基于同样的发明构思,本发明实施例还提供了一种NAT地址分配装置,如下面的实施例所述。由于这些解决问题的原理与NAT地址分配方法相似,因此装置的实施可以参见方法的实施,重复之处不在赘述。
图3为本发明实施例提出的NAT地址分配装置的示意图,如图3所示,该装置包括:
判断模块301,用于在获得申请NAT策略信息后,判断历史NAT策略信息中是否存在满足预定义NAT地址分配条件的NAT地址;
第一分配模块302,用于在确定历史NAT策略信息中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息和预定义NAT地址分配条件,从历史NAT策略信息中获得NAT地址;
第二分配模块303,用于在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,根据申请NAT策略信息和预定义NAT地址分配条件,从NAT地址池中获得NAT地址,所述NAT地址池中包括多个NAT地址。
在一实施例中,第一分配模块302具体用于:
根据预定义NAT地址分配条件,比对申请NAT策略信息和历史NAT策略信息,根据比对结果,从历史NAT策略信息中获得满足预定义NAT地址分配条件的多个NAT地址;
从所述多个NAT地址中确定一个NAT地址。
在一实施例中,所述装置还包括还包括第一校验模块304,用于:
按照预设NAT地址池校验条件,对NAT地址池进行校验;
第二分配模块303,具体用于:
在确定NAT地址池满足预设NAT地址池校验条件时,根据预定义NAT地址分配条件,从NAT地址池中获得NAT地址。
在一实施例中,第二分配模块303具体用于:
根据申请NAT策略信息,判断NAT地址池中是否存在满足预定义NAT地址分配条件的NAT地址;
在确定NAT地址池中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息,从NAT地址池中获得满足预定义NAT地址分配条件的多个NAT地址,从所述多个NAT地址中确定一个NAT地址;
在确定NAT地址池中不存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息,从NAT地址池中确定一个未被使用的NAT地址。
在一实施例中,所述装置还包括管理模块305,用于:
将获得的NAT地址添加至申请NAT策略信息中。
在一实施例中,所述装置还包括第二检验模块306,用于:
对获得的NAT地址进行校验,获得第一校验结果;
对包含NAT地址的申请NAT策略信息进行校验,获得第二校验结果;
在第一校验结果或第二校验结果为NAT地址分配失败时,重新确定一个NAT地址,将NAT地址替换为重新确定的NAT地址,重复执行以上步骤,直至第一校验结果和第二校验结果均为NAT地址分配成功。
在一实施例中,第二检验模块306具体用于:
若NAT地址池中的任一NAT地址与获得的NAT地址相同且NAT模式不同,则第一校验结果为NAT地址分配失败;
若NAT地址池中的任一NAT地址与获得的NAT地址有交集且NAT模式不同,则第一校验结果为NAT地址分配失败。
在一实施例中,第二检验模块306具体用于:
比对历史NAT策略信息与申请NAT策略信息中的NAT地址、目的地址和NAT模式,获得第二校验结果。
综上所述,在本发明实施例提出的装置中,在获得申请NAT策略信息后,判断历史NAT策略信息中是否存在满足预定义NAT地址分配条件的NAT地址;在确定历史NAT策略信息中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息和预定义NAT地址分配条件,从历史NAT策略信息中获得NAT地址;在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,根据申请NAT策略信息和预定义NAT地址分配条件,从NAT地址池中获得NAT地址,所述NAT地址池中包括多个NAT地址。以上步骤均可自动执行,无需人工操作,效率高,且避免了人工出错,准确率高;从历史NAT策略信息中获得NAT地址的过程,实现了对历史NAT策略信息中已有NAT地址的复用,避免了已有NAT地址的浪费。
另外,本发明实施例也可对NAT地址池中已经使用的NAT地址进行复用,进一步提高了NAT地址的复用程度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种NAT地址分配方法,其特征在于,包括:
在获得申请NAT策略信息后,判断历史NAT策略信息中是否存在满足预定义NAT地址分配条件的NAT地址;
在确定历史NAT策略信息中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息和预定义NAT地址分配条件,从历史NAT策略信息中获得NAT地址;
在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,根据申请NAT策略信息和预定义NAT地址分配条件,从NAT地址池中获得NAT地址,所述NAT地址池中包括多个NAT地址;
所述方法还包括:对获得的NAT地址进行校验,获得第一校验结果;对包含NAT地址的申请NAT策略信息进行校验,获得第二校验结果;在第一校验结果或第二校验结果为NAT地址分配失败时,重新确定一个NAT地址,将NAT地址替换为重新确定的NAT地址,重复执行以上步骤,直至第一校验结果和第二校验结果均为NAT地址分配成功;
对获得的NAT地址进行校验,获得第一校验结果,包括:若NAT地址池中的任一NAT地址与获得的NAT地址相同且NAT模式不同,则第一校验结果为NAT地址分配失败;若NAT地址池中的任一NAT地址与获得的NAT地址有交集且NAT模式不同,则第一校验结果为NAT地址分配失败。
2.如权利要求1所述的NAT地址分配方法,其特征在于,根据申请NAT策略信息和预定义NAT地址分配条件,从历史NAT策略信息中获得NAT地址,包括:
根据预定义NAT地址分配条件,比对申请NAT策略信息和历史NAT策略信息,根据比对结果,从历史NAT策略信息中获得满足预定义NAT地址分配条件的多个NAT地址;
从所述多个NAT地址中确定一个NAT地址。
3.如权利要求1所述的NAT地址分配方法,其特征在于,在创建NAT地址池之后,还包括:
按照预设NAT地址池校验条件,对NAT地址池进行校验;
根据预定义NAT地址分配条件,从NAT地址池中获得NAT地址,包括:
在确定为NAT地址池满足预设NAT地址池校验条件时,根据预定义NAT地址分配条件,从NAT地址池中获得NAT地址。
4.如权利要求1所述的NAT地址分配方法,其特征在于,根据预定义NAT地址分配条件,从NAT地址池中获得NAT地址,包括:
根据申请NAT策略信息,判断NAT地址池中是否存在满足预定义NAT地址分配条件的NAT地址;
在确定NAT地址池中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息,从NAT地址池中获得满足预定义NAT地址分配条件的多个NAT地址,从所述多个NAT地址中确定一个NAT地址;
在确定NAT地址池中不存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息,从NAT地址池中确定一个未被使用的NAT地址。
5.如权利要求1所述的NAT地址分配方法,其特征在于,在从NAT地址池中获得NAT地址之后,还包括:
将获得的NAT地址添加至申请NAT策略信息中。
6.如权利要求1所述的NAT地址分配方法,其特征在于,对包含NAT地址的申请NAT策略信息进行校验,获得第二校验结果,包括:
比对历史NAT策略信息与申请NAT策略信息中的NAT地址、目的地址和NAT模式,获得第二校验结果。
7.一种NAT地址分配装置,其特征在于,包括:
判断模块,用于在获得申请NAT策略信息后,判断历史NAT策略信息中是否存在满足预定义NAT地址分配条件的NAT地址;
第一分配模块,用于在确定历史NAT策略信息中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息和预定义NAT地址分配条件,从历史NAT策略信息中获得NAT地址;
第二分配模块,用于在确定历史NAT策略信息中不存在满足预定义NAT地址分配条件的NAT地址时,创建NAT地址池,根据申请NAT策略信息和预定义NAT地址分配条件,从NAT地址池中获得NAT地址,所述NAT地址池中包括多个NAT地址;
所述装置还包括第二检验模块,用于:对获得的NAT地址进行校验,获得第一校验结果;对包含NAT地址的申请NAT策略信息进行校验,获得第二校验结果;在第一校验结果或第二校验结果为NAT地址分配失败时,重新确定一个NAT地址,将NAT地址替换为重新确定的NAT地址,重复执行以上步骤,直至第一校验结果和第二校验结果均为NAT地址分配成功;
第二检验模块具体用于:若NAT地址池中的任一NAT地址与获得的NAT地址相同且NAT模式不同,则第一校验结果为NAT地址分配失败;若NAT地址池中的任一NAT地址与获得的NAT地址有交集且NAT模式不同,则第一校验结果为NAT地址分配失败。
8.如权利要求7所述的NAT地址分配装置,其特征在于,第一分配模块具体用于:
根据预定义NAT地址分配条件,比对申请NAT策略信息和历史NAT策略信息,根据比对结果,从历史NAT策略信息中获得满足预定义NAT地址分配条件的多个NAT地址;
从所述多个NAT地址中确定一个NAT地址。
9.如权利要求7所述的NAT地址分配装置,其特征在于,还包括第一校验模块,用于:
按照预设NAT地址池校验条件,对NAT地址池进行校验;
第二分配模块,具体用于:
在确定NAT地址池满足预设NAT地址池校验条件时,根据预定义NAT地址分配条件,从NAT地址池中获得NAT地址。
10.如权利要求7所述的NAT地址分配装置,其特征在于,第二分配模块具体用于:
根据申请NAT策略信息,判断NAT地址池中是否存在满足预定义NAT地址分配条件的NAT地址;
在确定NAT地址池中存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息,从NAT地址池中获得满足预定义NAT地址分配条件的多个NAT地址,从所述多个NAT地址中确定一个NAT地址;
在确定NAT地址池中不存在满足预定义NAT地址分配条件的NAT地址时,根据申请NAT策略信息,从NAT地址池中确定一个未被使用的NAT地址。
11.如权利要求7所述的NAT地址分配装置,其特征在于,还包括管理模块,用于:
将获得的NAT地址添加至申请NAT策略信息中。
12.如权利要求7所述的NAT地址分配装置,其特征在于,第二检验模块具体用于:
比对历史NAT策略信息与申请NAT策略信息中的NAT地址、目的地址和NAT模式,获得第二校验结果。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至6任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910981514.2A CN110798538B (zh) | 2019-10-16 | 2019-10-16 | Nat地址分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910981514.2A CN110798538B (zh) | 2019-10-16 | 2019-10-16 | Nat地址分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110798538A CN110798538A (zh) | 2020-02-14 |
CN110798538B true CN110798538B (zh) | 2022-05-17 |
Family
ID=69439237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910981514.2A Active CN110798538B (zh) | 2019-10-16 | 2019-10-16 | Nat地址分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110798538B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478855B (zh) * | 2020-06-23 | 2020-09-18 | 翱捷科技(上海)有限公司 | 基于LwIP协议栈的网络设备快速转发的方法及*** |
CN112202935B (zh) * | 2020-08-28 | 2023-01-13 | 中盈优创资讯科技有限公司 | 一种nat地址池的管理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150505A (zh) * | 2007-07-31 | 2008-03-26 | 杭州华三通信技术有限公司 | 通过网络地址转换转发数据流的方法和装置 |
CN101800690A (zh) * | 2009-02-05 | 2010-08-11 | 北京启明星辰信息技术股份有限公司 | 一种使用地址池实现源地址转换的方法和装置 |
CN102647346A (zh) * | 2012-03-30 | 2012-08-22 | 汉柏科技有限公司 | 一种对报文分流的方法及*** |
-
2019
- 2019-10-16 CN CN201910981514.2A patent/CN110798538B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150505A (zh) * | 2007-07-31 | 2008-03-26 | 杭州华三通信技术有限公司 | 通过网络地址转换转发数据流的方法和装置 |
CN101800690A (zh) * | 2009-02-05 | 2010-08-11 | 北京启明星辰信息技术股份有限公司 | 一种使用地址池实现源地址转换的方法和装置 |
CN102647346A (zh) * | 2012-03-30 | 2012-08-22 | 汉柏科技有限公司 | 一种对报文分流的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN110798538A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108924268B (zh) | 一种容器云服务***及pod创建方法、装置 | |
CN110798538B (zh) | Nat地址分配方法及装置 | |
CN103117947B (zh) | 一种负载分担方法及装置 | |
WO2020233020A1 (zh) | 预分配容器ip的方法、装置、计算机设备及存储介质 | |
JP4833220B2 (ja) | ローカル権限によるクライアントリソース分割のための方法、システム、およびプログラム | |
CN103731356A (zh) | 报文处理方法及装置 | |
CN110445884A (zh) | 一种容器ip地址管理方法及装置 | |
CN105376347A (zh) | 一种ip地址分配方法及*** | |
CN108399102A (zh) | 一种资源分配方法和装置 | |
CN110290228B (zh) | 一种互联网协议ip地址分配方法及装置 | |
CN112468539A (zh) | 一种k8s集群用户资源调用的方法、装置、设备及可读介质 | |
CN105630601A (zh) | 基于实时计算的资源分配方法及*** | |
CN112202935B (zh) | 一种nat地址池的管理方法和装置 | |
CN104683312A (zh) | 媒体复用协商的方法和装置 | |
CN106230616B (zh) | 一种业务配置信息处理方法和*** | |
CN112804367B (zh) | 双栈环境下的地址分配方法和装置 | |
CN110868371B (zh) | 安全策略的处理方法、***、云管理平台和子网管理装置 | |
CN113472799B (zh) | 一种基于云平台的互联管理方法、装置及设备 | |
CN105376343A (zh) | 用于vpn网络中的路由器地址分配方法、装置及服务器 | |
CN113904871B (zh) | 网络切片的接入方法、pcf实体、终端和通信*** | |
CN101272268B (zh) | 实现视讯会议的方法、设备 | |
CN109561170B (zh) | 地址池创建方法、装置、地址池管理***及储存介质 | |
CN113542213B (zh) | 一种访问控制策略生成方法及装置、编排器 | |
CN115883283A (zh) | 一种容器化vnf的部署方法及装置 | |
CN111726427B (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 | ||
CP02 | Change in the address of a patent holder |
Address after: Room 702-2, No. 4811, Cao'an Highway, Jiading District, Shanghai Patentee after: CHINA UNITECHS Address before: 100872 5th floor, Renmin culture building, 59 Zhongguancun Street, Haidian District, Beijing Patentee before: CHINA UNITECHS |
|
CP02 | Change in the address of a patent holder |