安全端口块分配
NAPT44 和 NAT64 的安全端口块分配概述
安全端口块分配可确保在订阅者首次需要分配端口时,将端口块分配给特定用户。在这里,订阅者被唯一定义为专用 IP 地址和服务集 ID。由于为订阅者分配了一个端口块,因此来自此订阅服务器的所有后续请求都将使用分配的块中的端口。当当前活动块耗尽时,或者在活动端口块超时间隔过期后,将分配新的端口块。您可以配置分配给用户的最大块数。这种在块中分配 NAT 端口的行为不同于传统的 NAT 实用程序,在传统的 NAT 实用程序中,端口请求分配的是块中的单个端口,而不是一组端口。
您可以使用安全端口块分配机制为 NAPT44(将 IPv4 地址转换为 IPv4 地址)和 NAT64(将 IPv6 地址转换为 IPv4 地址)类型在块中分配端口。通过使用安全端口块分配,端口使用效率可能有点低,具体取决于流量模式。带有 MS-DPC 的 MX 系列路由器和带有 MS-100、MS-400 和 MS-500 多服务 PICS 的 M 系列路由器支持安全端口块分配。从 Junos OS 14.2R2 版开始,带有 MS-MPC 和 MS-MIC 的 MX 系列路由器支持安全端口块分配。
从 Junos OS 15.1 版开始,在使用 Junos Address Aware (运营商级 NAT) 的环境中,服务提供商或运营商可以使用为向客户端分配端口而记录的系统日志记录消息,以更轻松有效的方式监控和跟踪用户或用户正在使用的资源和服务类型的消耗。通过在 RADIUS 或 DHCP 日志中使用 IP 地址,可以对日志进行评估,以确定订阅者的服务使用情况和带宽消耗。使用运营商级 NAT 时,由于 IP 地址由多个订阅者共享,因此检查日志以跟踪属于系统日志一部分的 IP 地址和端口可能既耗时又困难。此外,由于端口会根据订阅者会话的登录和关闭频繁分配和释放,因此每次端口分配和解除分配都会触发大量日志。因此,过多的系统日志使得归档和关联日志以识别订阅者变得很麻烦。您现在可以按块分配端口,这大大减少了系统日志的数量。
安全端口块分配的优势
减少将日志与订阅者相关联的工作量
减少日志数量
配置安全端口块分配的准则
配置安全 PBA 时,请记住以下几点:
无法在 NAT 规则级别配置块大小。
配置安全 PBA 时,会话设置速率的提高不受影响。
如果特定大小的块不可用,则会显示端口外消息,并且在这种情况下不会替代分配较小大小的块。
使用端口块分配方法的池中的地址不能在任何其他池中使用。
NAT 池中的端口范围必须是连续的。
端口块分配不支持保留奇偶校验(分配与原始端口具有相同奇偶校验的端口)。
达到指定阈值时对打开会话数的限制(对于入侵检测服务)和可分配给为安全 PBA 配置的用户地址的最大块数是独立的功能。
不支持转换后保留特权端口范围的功能。块是从非特权端口范围 (1024-65535) 分配的。对于特权范围内的端口,端口块分配方法不适用。
启用端口块分配时,端口使用效率较低。PBA 不使用 NAT IP 地址的 0-1023 之间的端口。
如果配置自动端口分配方法(该方法启用端口的顺序分配),则端口范围 1024 到 65535 可用于分配给用户。
端口块可以从您可以配置的任何启动端口开始。
使用的端口数取决于块大小,其余端口不使用。
安全 PBA 不支持过载池(指示在源池耗尽时可以使用的地址池)。
PBA 池的 NAT IP 地址不得与任何其他池重叠。尽管不执行验证来标识是否存在任何重叠池,但必须确保用于 PBA 的池的地址未在其他池中使用。这种情况是因为某些用户要求过载池使用与 NAT IP 地址相同的 IP 地址,但 PBA 池的端口范围不同,以支持地址池配对 (APP) 功能。
块大小按 NAT 池固定,可在 NAT 池级别进行配置。可以将多个端口块分配给一个专用 IP 地址。
您可以通过在层次结构级别包含
max-blocks-per-user max-blocks
语句[edit services nat pool pool-name port secured-port-block-allocation]
来配置每个订阅者每个池的最大块数。如果订阅服务器匹配两个池,则可以为该特定用户分配最大端口块数,该端口块等于该订阅服务器每个池的最大端口块数之和。对 NAT 端口的新请求仅从当前活动块到达。可以从当前活动块中随机分配端口,这指定端口是按顺序分配还是在端口块内随机分配。
块在超时间隔内处于活动状态,您可以通过在层次结构级别包含 来
active-block-timeout timeout-seconds
[edit services nat pool pool-name port secured-port-block-allocation]
定义该间隔。超时期限过后,即使活动块中有可用的端口,也会分配一个新块。活动块的默认超时为 120 秒。将其配置为 0(无限)时,仅当端口用完并分配了新块时,活动块才会转换为非活动状态。如果超过最大块块数,并且收到新请求,则活动块将移动到包含可用端口的块。任何未使用任何端口的非活动块都将释放到 NAT 池。
除了跟踪分配给每个专用 IP 地址的端口块外,还会计算和维护实际使用的端口。此指标用于计算端口使用效率。
将为每个块分配和释放生成一条系统日志消息。消息的格式类似于为单个端口分配和释放记录的消息。
会话设置速率与现有的非块分配设置速率相同或略有提高。使用块端口分配方法的 NAT 池可以具有部分端口范围。如果该地址用于端口转发,则可以从池端口范围中删除这些端口。您可以使用层次结构级别的语句
[edit services nat pool nat-pool-name]
配置port range low minimum-value high maximum-value random-allocation
部分端口范围。端口块分配的工作方式与 TCP、UDP 和 ICMP 流量的 NAPT44 相同。随机性可以通过在块内随机分配端口并定期更改活动块来实现。端口块不包含随机端口(块内的端口是顺序的)。聚合多服务 (ams) 接口支持此功能。
起始端口号在微内核和 Junos OS 扩展提供程序包中的计算方式不同。在微内核中,起始端口或第一个端口是 1023 之后块大小的最接近的倍数。在该实现中,会浪费更多端口,因为在端口范围的开头和结尾浪费端口,具体取决于块大小。在 Junos OS 扩展提供程序包中,块的起始端口不限于块大小的倍数。起始端口可以从配置的端口范围的下边界开始。
参见
配置安全端口块分配
带有 MS-DPC 的 MX 系列路由器和带有 MS-100、MS-400 和 MS-500 多服务 PICS 的 M 系列路由器支持安全端口块分配。从 Junos OS 14.2R2 版开始,配备 MS-MPC 和 MS-MIC 的 MX 系列路由器支持安全端口块分配。要配置安全端口块分配:
要使 secured-port-block-allocation
配置更改生效,每当更改以下 nat pool
任一选项时,都必须重新启动服务 PIC:
nat-pool-name
address
或address-range
port range
port secured-port-block-allocation block-size
port secured-port-block-allocation max-blocks-per-address
.port secured-port-block-allocation active-block-timeout
.from
层次结构中的nat rule
如果对配置了安全端口块分配的 NAT 池进行任何配置更改,则必须删除现有 NAT 地址池,等待至少 5 秒钟,然后配置新的 NAT 地址池。如果对 NAT 池配置进行任何更改,即使未配置安全端口块分配,我们也强烈建议您执行此过程。
MS-MIC 和 MS-MPC 每个 NPU 最多支持 900 万个端口块。如果您的配置超过此支持的最大数量,则可能无法在该 NPU 上激活一个或多个服务集。
参见
更改历史记录表
功能支持由您使用的平台和版本决定。使用功能资源管理器确定您的平台是否支持某个 功能 。