用于订阅者管理的地址分配池
地址分配池概述
通过地址分配池,您可以创建独立于使用这些池的客户端应用程序的集中式 IPv4 和 IPv6 地址池。authd 进程管理池和地址分配,无论地址来自本地池还是来自 RADIUS 服务器。
例如,多个客户端应用程序(如 DHCP)可以使用相同的地址分配池为其特定客户端提供地址。客户端应用程序可以获取经过身份验证或未经过身份验证的客户端的地址。根据 RADIUS 服务器或网络匹配或其他规则为订阅者选择的池称为订阅者的匹配池。
地址分配类型
地址分配池支持动态和静态地址分配。在动态地址分配中,系统会自动从地址分配池中为客户端分配一个地址。在仅 IPv4 池支持的静态地址分配中,您可以保留一个地址,然后该地址将始终由特定客户端使用。为静态分配保留的地址将从动态地址池中删除,并且无法分配给其他客户端。
地址分配池中的命名地址范围
您可以在地址分配池中配置命名地址范围。命名范围是整个地址范围的子集。客户端应用程序可以使用命名范围根据特定于客户端的条件管理地址分配。例如,对于 IPv4 地址分配池,您可以创建一个基于特定 DHCP option 82 值的命名范围。然后,当 DHCP 客户端请求与指定的 option 82 值匹配时,系统会将指定范围内的地址分配给客户端。
链接地址池中的地址分配
您可以将地址分配池链接在一起,以便为地址分配提供备份池。当主地址池或匹配地址池中没有可用的地址时,设备会自动进入链接(辅助)地址池以搜索要分配的可用地址。
尽管链接池链中的第一个池通常被视为主池,但匹配池不一定是链中的第一个池。
从 Junos OS 18.1R1 版开始,可用地址的搜索机制通过一系列链接池进行。此行为使 DHCP 能够连续搜索地址。
让我们使用一个示例来说明搜索机制的工作原理。考虑由三个池(A、B 和 C)组成的链,池 A 是主池,池 B 是根据 RADIUS 服务器返回的信息为某些订阅者的匹配池。搜索这些订阅者的可用地址将使用以下顺序:
默认情况下,首先搜索匹配的池(池 B)。
如果找不到地址,则搜索将移动到链中的第一个池(池 A)。
搜索通过链(池 C)继续进行,直到找到并分配可用地址,或者直到搜索确定没有地址可用。
在每个池中,将完全搜索所有地址范围内的地址。
您可以将 linked-pool-aggregation
语句配置为在匹配池中每个范围内的地址块内开始搜索,然后依次搜索链接池。然后,搜索移回链中的第一个池,并通过链中的最后一个池搜索每个池中所有范围内的所有地址。
地址池抑制状态
您可以将地址分配池配置为抑制状态。当地址池处于保留状态时,该池将不再可用于为订阅者分配 IP 地址。此配置会将活动池正常转换为非活动状态,因为先前分配的地址将返回到池中。当池处于非活动状态时,您可以安全地对池执行维护,而不会影响任何活动订阅者。
邻接方发现路由器通告的地址分配池
您可以为邻接方发现路由器通告 (NDRA) 显式分配地址分配池。
排除指定地址或地址范围
从 Junos OS 18.1R1 版开始,您可以排除指定的地址或连续地址范围,以防止从地址池中分配这些地址。
例如,您可能希望保留某些地址或范围仅用于静态订阅者。当您配置要排除的地址或范围,并且该地址或该范围内的地址已分配时,将注销该订阅者,取消分配该地址,并将该地址标记为要排除。
许可要求
此功能需要许可证。若要了解有关订阅者访问许可的更多信息,请参阅 订阅者访问许可概述。有关许可证管理的一般信息,请参阅 瞻博网络许可指南 。有关详细信息,请参阅产品 产品介绍 ,或联系您的瞻博网络客户团队或瞻博网络合作伙伴。
地址分配池的好处
地址分配池功能支持订阅者管理和 DHCP 管理。
您可以创建独立于客户端应用程序的集中式地址池。
您可以指定地址块和命名范围,以便给定的地址池可用于为不同的客户端应用程序或匹配不同条件集的订阅者提供不同的地址。
您可以将池链接在一起,以确保以特定方式(连续或不连续)搜索池中的可用地址。
您可以通过指定不再从池中分配更多地址,将地址池从活动状态正常转换为非活动状态。
链接地址池中的地址分配
您可以将地址分配池链接到一个链中,以便为地址分配提供备份池。根据 RADIUS 服务器或网络匹配或其他规则为订阅者选择的池称为订阅者的匹配池或匹配池。匹配池可能不是链中的第一个(主)池。当匹配地址池或主地址池中没有可供分配的地址时,路由器或交换机会自动转到另一个地址池以搜索要分配的可用地址。当搜索在任何地方找不到可用地址时,搜索将停止,并且不会为订阅者分配任何地址。
搜索行为不仅决定了搜索如何沿着链接池链进行,而且还决定了搜索每个池中的哪些地址范围。根据搜索的开始位置、您的配置以及之前分配的地址是否已被释放,搜索可能会在链中的下一个链接地址池中继续,或移回链中的第一个池。
在与订阅者匹配的池中开始搜索可用地址。在许多情况下,匹配池也是链中的第一个池。对于一些订阅者来说,匹配池在链的下游更远。例如,您可以将 RADIUS 服务器配置为根据它在身份验证期间匹配的某些条件来指定链的第二个池,而不是第一个池。对于另一个示例,您可以为不同的订阅者组指定不同的地址范围;特定池是否与订阅者匹配取决于为不同的地址范围配置了哪些池。
以下术语用于解释搜索行为的详细信息:
lowAddress - 地址池中给定范围内的最低地址。
highAddress - 地址池中给定范围内的最高地址。
nextAddress - 地址池中给定范围内分配的最后一个地址之后的下一个地址。这是接下来要分配的地址。此地址以及最后使用的范围将保存为搜索的起点。
例如,假设池 A 有一个范围,其中包含以下地址:192.0.2.1、192.0.2.2、192.0.2.3、192.0.2.4。在本例中,192.0.2.1 是 lowAddress,190.0.2.4 是 highAddress。如果 192.0.2.2 是从此池中分配的最后一个地址,则 nextAddress 为 192.0.2.3。
从 Junos OS 18.1R1 版开始,可以通过以下两种方式之一配置要搜索的链接池:
连续地址分配 - 这是默认行为。将搜索池每个范围内的所有地址。搜索从匹配的池中开始,然后移动到链中的第一个池,并在必要时依次通过每个链接池继续搜索到链中的最后一个池。在每个池中,搜索所有范围内的所有地址以查找空闲地址。此方法使地址可以连续分配;在搜索另一个池之前,每个池必须已满。
非连续(聚合)地址分配 - 配置语句时
linked-pool-aggregation
的行为。最初,在匹配池的每个范围内仅搜索某些地址(从 nextAddress 到 highAddress)。在链接池中执行相同的搜索,并在必要时依次通过每个链接池继续搜索到链中的最后一个池。然后,搜索从链中的第一个池(不一定是匹配的池)重新开始。这一次,搜索所有范围内的所有地址,在所有池中,直到链的末端。
这是基本功能,但两次搜索的细节都相当复杂。 图 1 显示了默认的搜索行为。

例如,假设存在以下条件:
链接地址池 A、B、C 和 D。池 C 已匹配。
每个池都有三个地址范围:r1、r2、r3。最后使用的范围是每个池中的 r2。
如果未找到空闲地址,搜索将按如下方式进行:C > A > B > C > D,然后停止。
搜索池 C,在 r2 范围内搜索 nextAddress,直到 highAddress。
搜索池 C,在 r2 范围内搜索 lowAddress 到 nextAddress。
搜索池 C,在 r3 范围内搜索 nextAddress 到 highAddress。
搜索池 C,在 r3 范围内搜索 lowAddress 到 nextAddress。
搜索池 C,在 r1 范围内搜索 nextAddress 到 highAddress。
搜索池 C,在 r1 范围内搜索 lowAddress 到 nextAddress。
池 C 中的所有范围和地址都已搜索完毕,因此搜索将移至链中的第一个池 A。
搜索池 A,在 r2 范围内搜索 nextAddress,通过 highAddress。
搜索池 A,在 r2 范围内搜索 lowAddress 到 nextAddress。
搜索池 A,在 r3 范围内搜索 nextAddress 到 highAddress。
搜索池 A,在 r3 范围内搜索 lowAddress 到 nextAddress。
搜索池 A,在 r1 范围内搜索 nextAddress,直到 highAddress。
搜索池 A,在 r1 范围内搜索 lowAddress 到 nextAddress。
池 A 中的所有范围和地址都已搜索完毕,因此搜索将移至链中的下一个链接池 B。
此过程一直持续到搜索完所有池中所有范围内的所有地址为止。池搜索顺序是 C > A > B > C > D,然后停止。根据找到地址的位置和是否,可能会搜索匹配的池两次。除非匹配池是链中的第一个池,否则这是正确的。例如,如果池 A 是这组条件中的匹配池,则完整搜索(假设未找到地址)将为 A > B > C > D。
图 2 显示了包含 linked-pool-aggregation
语句时的搜索行为。

例如,考虑存在与默认示例相同的条件:
链接地址池 A、B、C 和 D。池 C 已匹配。
每个池都有三个地址范围:r1、r2、r3。最后使用的范围是每个池中的 r2。
如果未找到空闲地址,则按如下方式进行搜索:C > D > A > B > C > D,然后停止。
搜索池 C,在 r2 范围内搜索 nextAddress,直到 highAddress。
搜索池 C,在 r3 范围内搜索 nextAddress 到 highAddress。
搜索池 C,在 r1 范围内搜索 nextAddress 到 highAddress。
池 C 中的所有范围都已从 nextAddress 搜索到 highAddress,因此搜索将移动到链中的下一个链接池 D。
搜索池 D,在 r2 范围内搜索 nextAddress 到 highAddress。
搜索池 D,在 r3 范围内搜索 nextAddress 到 highAddress。
搜索池 D,在 r1 范围内搜索 nextAddress 到 highAddress。
池 D 中的所有范围都已从 nextAddress 搜索到 highAddress。池 D 是链中的最后一个池,因此搜索将移动到链中的第一个池 A。
在 r2 范围内搜索池 A,从 lowAddress 到 highAddress。
搜索池 A,在 r3 范围内搜索 lowAddress 到 highAddress。
搜索池 A,在 r1 范围内搜索 lowAddress 到 highAddress。
池 A 中的所有范围和地址都已搜索完毕,因此搜索将移至链中的下一个链接池 B。
搜索池 B,在 r2 范围内搜索 lowAddress 到 highAddress。
搜索池 B,在 r3 范围内搜索 lowAddress 到 highAddress。
搜索池 B,在 r1 范围内搜索 lowAddress 到 highAddress。
已搜索池 B 中的所有范围和地址,因此搜索将移动到链中的下一个链接池 C。
此过程一直持续到搜索完所有池中所有范围内的所有地址为止。池搜索顺序是 C > D > A > B > C > D,然后停止。根据找到地址的位置和是否,所有池可能会被搜索两次,即使匹配的池是链中的第一个池也是如此。例如,如果池 A 是这组条件中的匹配池,则完整搜索(假设未找到地址)将为 A > B > C > D > A > B > C > D。
地址分配池配置概述
地址分配池功能允许您创建可由不同客户端应用程序共享的地址池,从而支持订阅者管理功能。地址分配池可以支持 IPv4 地址或 IPv6 地址。不能对这两种类型的地址使用相同的池。
地址分配池与服务完全独立:基于 PIC 的 L2TP LNS 地址池和 address-pool
NAT 池(使用语句在[edit access]
[edit services nat]
层次结构级别创建pool
)。
要配置地址分配池,请执行以下操作:
另见
配置地址分配池名称和地址
要配置地址分配池,必须指定池的名称并配置池的地址。
要配置 IPv4 地址分配池,请执行以下操作:
要配置 IPv6 地址分配池,请执行以下操作:
配置池的名称并指定 IPv6 家族。
[edit access] user@host# edit address-assignment pool isp_2 family inet6
为地址池配置 IPv6 网络前缀。配置 IPv6 地址分配池时,需要前缀规范。
[edit access address-assignment pool isp_2 family inet6] user@host# set prefix 2001:db8:2008:2009::/32
配置命名地址范围以进行动态地址分配
您可以选择在地址分配池中配置多个命名范围或地址子集。在动态地址分配期间,可以从特定的命名范围为客户端分配地址。若要创建命名范围,请为范围指定名称并定义地址范围。
要在 IPv4 地址分配池中创建命名范围,请执行以下操作:
要在 IPv6 地址分配池中创建命名范围,请执行以下操作:
指定地址分配池和 IPv6 家族的名称。
[edit access] user@host# edit address-assignment pool isp_2 family inet6
配置范围的名称并定义范围。您可以根据范围内前缀的下限和上限来定义范围,也可以根据范围内前缀的长度来定义范围。
[edit access address-assignment pool isp_2 family inet6] user@host# set range dsl-range low 2001:db8:2008:2010:2011:0100::/64 high 2001:db8:2008:2010:2011:ffff::/64 user@host# set range fiber-east prefix-length 48
防止从地址池中分配地址
您可以排除指定的地址或地址范围,以防止从地址池中分配它们。例如,您可能希望保留某些地址或范围仅用于静态订阅者。当您配置要排除的地址或地址范围时,并且该地址或该范围内的地址已分配,则分配该地址的用户将被注销,该地址将被解除分配,并且该地址将被标记为要排除。
要从分配的地址池中排除某个地址或地址范围,请执行以下操作:
指定单个地址。
[edit access address-assignment pool-name family (inet | inet6)] user@host# set excluded-address ip-address
指定并命名一系列连续的地址。
[edit access address-assignment pool-name family (inet | inet6)] user@host# set excluded-range name low minimum-value high maximum-value
例如,IPv4 地址池的以下部分配置定义了要分配的地址范围 r1,从 192.168.0.10 到 192.168.128.250。它不包括单个地址 192.168.110.10。它进一步定义了两个范围 exclude1 和 exclude2,它们指定了两组无法从池中分配的连续地址。
pool v4-pool { family inet { network 192.168.0.0/16; range r1 { low 192.168.0.10; high 192.168.128.250; } excluded-address 192.168.110.10 excluded-range exclude1 { low 192.168.12.0 high 192.168.12.255 } excluded-range exclude2 { low 192.168.98.10 high 192.168.98.200 } } }
同样,池 v6-pool 的配置定义了要分配的地址范围和从分配中排除的地址范围。
pool v6-pool { family inet6 { prefix 2016::/64; range r2 { low 2016::1; high 2016::80:ffff; } excluded-range exclude3 { low 2016::7c:a high 2016::7c:ff } } }
要查看有关排除地址的信息,可以使用以下命令之一:
user@host> show network-access address-assignment pool pool-name IP address/prefix Hardware address Host/User Type 192.168.2.1 00:00:5e:00:53:01 user1 DHCP 192.168.2.2 00:00:5e:00:53:02 user2 DHCP 192.168.2.3 00:00:5e:00:53:03 user3 DHCP 192.168.2.4 NA EXCLUDED unknown
user@host> show network-access aaa statistics address-assignment pool pool-name Address-assignment statistics ... Addresses excluded: 1000 ...
配置地址分配池使用阈值陷阱
通过设置使用率(利用率)阈值陷阱,您可以收到地址池或链接的地址池集可用地址不足的高级警告。使用率和利用率可以互换使用,以表示地址池中当前分配的地址百分比。地址池具有以下与之关联的 SNMP 阈值,允许本地地址服务器在存在某些条件时发出 SNMP 陷阱信号:
高利用率阈值 — 当从地址池中分配的地址百分比超过此值时,将生成高利用率 SNMP 陷阱。只要超过此阈值,系统就会发送警告消息。
利用率降低阈值 — 当从地址池中分配的地址百分比低于此值时,将生成利用率减少陷阱。系统停止发送警告消息。通常,将减少利用率阈值设置为小于高利用率阈值;你不能把它设置得更高。
阈值没有默认值。如果未配置这些阈值,系统不会发送即将耗尽的通知,因为分配的地址百分比接近 100%。仅当地址池中的所有地址都已分配时,系统才会发送地址外陷阱。
从 Junos OS 19.2R1 版开始,除非同时配置了高利用率阈值和降低利用率阈值,否则不会发送地址外陷阱。发送地址外陷阱时,还会发送地址外系统日志消息。
您可以在层次结构级别上为所有地址池[edit access address-assignment]
配置阈值,也可以在层次结构级别上仅为指定路由实例[edit routing-instance routing-instance-name]
中的地址池配置阈值。以下配置仅显示配置。[edit access]
要设置阈值陷阱,请执行以下操作:
指定 IPv4 或 IPv6 地址池的高利用率阈值。
[edit accessaddress-assignment] user@host# set high-utilization percentage user@host# set high-utilization-v6 percentage
指定 IPv4 或 IPv6 地址池的减少利用率阈值。
[edit accessaddress-assignment] user@host# set abated-utilization percentage user@host# set abated-utilization-v6 percentage
在以下示例中,IPv4 地址池的高阈值设置为 95% 的使用率,减弱阈值设置为 90% 的使用率。当分配的地址数量超过地址池的 95% 时,将生成高利用率陷阱。如果从池中分配了所有地址,则会生成地址外陷阱并发送地址外系统日志消息。当分配的地址数量低于地址池的 90% 时,将生成利用率降低陷阱。
[edit accessaddress-assignment] user@host# set high-utilization 95 user@host# set abated-utilization 90
配置地址分配池链接
通过地址分配池链接,您可以指定路由器在匹配或主地址分配池完全分配时要使用的辅助地址池。您可以创建由多个链接池组成的链。例如,可以将池 A 链接到池 B,并将池 B 链接到池 C。您可以在链中串行链接任意数量的池,但不能创建与同一池之间的多个链接。例如,不能同时创建从池 A 到池 B 和池 C 的链接。同样,池 C 不能同时从池 A 和池 B 链接。另一个注意事项是,链中的所有地址池必须属于相同的家族类型,IPv4 或 IPv6。
当与订阅者匹配的地址池没有可用地址时,路由器会自动切换到链接的池,并从该池中分配地址。仅当匹配的地址分配池被完全分配时,路由器才会使用链接池。
从 Junos OS 18.1 版开始,如何在地址池链中查找和分配可用地址的行为发生了变化。您可以通过以下两种方式之一配置要搜索的链接池:
连续地址分配 - 默认行为。将搜索池每个范围内的所有地址。搜索从匹配的池中开始,然后移动到链中的第一个池,并在必要时依次通过每个链接池继续搜索到链中的最后一个池。在每个池中,搜索所有范围内的所有地址以查找空闲地址。此方法使地址可以连续分配;在搜索另一个池之前,每个池必须已满。
非连续(聚合)地址分配 - 配置时
linked-pool-aggregation
的行为。最初,在匹配池的每个范围内仅搜索某些地址(从 nextAddress 到 highAddress)。如有必要,会在链接池中执行相同的搜索,并通过链中的最后一个池继续通过每个连续的链接池。然后,搜索从链中的第一个池(不一定是匹配的池)重新开始。这一次,搜索所有范围内的所有地址,在所有池中,直到链的末端。
如果将 RADIUS 服务器配置为仅使用 IP 地址来标识订阅者,则可能需要包含该 linked-pool-aggregation
语句。通常,订阅者由 RADIUS 服务器使用订阅者会话 ID 和其他条件来识别。如果仅使用 IP 地址,则在未配置语句时 linked-pool-aggregation
,可能会遇到默认行为的以下问题。订阅者可以断开连接,并且可以将该地址分配给下一个订阅者。在为断开连接的订阅者发送 Acct-Stop 消息之前,可能会先发送第二个订阅者的 Acct-Start 消息。当收到 Acct-Stop 时,可以断开仅由 IP 地址标识的新用户。
您可以通过包含 linked-pool-aggregation
语句或将 RADIUS 服务器配置为使用订阅者会话 ID(而不是 IP 地址)进行识别来避免这种情况。
开始之前,请配置地址池。请参阅 地址分配池配置概述。
要将地址分配池链接到辅助池,请执行以下操作:
例如,以下配置链接Pool_A Pool_B,然后Pool_B链接到Pool_C。
[edit access] user@host# set address-assignment pool Pool_A link Pool_B user@host# set address-assignment pool Pool_B link Pool_C
配置地址分配池抑制
地址分配池抑制功能(也称为被动清空)使您能够将活动地址池正常过渡到非活动状态。当池处于非活动状态时,您可以安全地对池执行维护,而不会影响任何当前订阅者(例如添加、更改或删除地址)。
当地址分配池处于抑制状态时,不会从该池中分配其他地址。但是,抑制状态不会影响使用以前从池中分配的地址的任何现有订阅者。当现有订阅者断开连接时,其 IP 地址在池中标记为空闲,但由于池的抑制状态,这些地址不会重新分配。最终,当所有订阅者都已断开连接并且其地址返回到池中时,池将变为非活动状态。
要将活动地址分配池置于抑制状态,请执行以下操作:
配置 DHCP 本地地址池 快速清空
通过将特定本地地址池配置为主动清空模式,可以强制 DHCP 本地服务器停止从特定本地地址池分配地址。此模式使服务器能够正常终止已在使用从该池分配的地址的订阅者,并将其转换为另一个池。当 DHCP 订阅者尝试续订(在 T1 续订时)对现在配置为主动清空模式的池中的 IP 地址的租约时,DHCP 本地服务器会使用 NAK 回复订户的续订请求。此响应会强制订户重新协商租约。然后,服务器从未为主动清空配置的备用地址池中分配新的 IP 地址。
主动清空模式提供了一种从地址池中快速清空用户的方法。因此,为用户配置的租用时间越长,激活-清空模式可能就越有用。如果未为池配置主动清空模式,则要停止分配其地址,必须配置被动清空模式或删除池。
被动清空模式会将地址池置于抑制状态。不会再从池中分配地址,但当前使用池中已分配地址的订阅者不受影响。允许现有订阅者过期。当用户断开连接(或作员断开连接)时,地址将被释放,但无法重新分配。最终,所有订阅者都释放了他们的地址,池不再处于活动状态。由于活动订阅者的租约是根据请求续订的,因此被动清空模式可能需要比主动清空模式更长的时间才能恢复池中的所有地址。
池删除会在租约到期以及订阅者重新协商并获得新租约期间中断使用池地址的每个当前订阅者的流量。服务器将从已删除的池中删除具有某个地址的所有订阅者。订阅者尝试延长租约,但失败,因为租约已在服务器上删除。当订户随后尝试重新协商新租约时,可能会获得来自其他池或 RADIUS 的地址。
您可以在清空地址池之前删除主动清空配置。在这种情况下,对于仍拥有此池中地址的订阅者,可以授予租约延期。此恢复是尽力而为的,因为在删除配置时,某些订阅者正在被服务器注销。这些订阅者无法恢复到池中,必须重新协商租约。然后,可能会从此池(因为它再次处于活动状态)或备用池中为这些订阅者分配地址。
如果 DHCP 客户端未收到地址池正在清空的通知,则可以继续向使用此池的订阅者授予租约延期。当地址在 T1 时间(直到 T2 时间)之后仍与客户端绑定时,将指示此条件,此时该地址应由池恢复。在这种情况下,请删除主动清空配置,然后为池重新配置该配置,以确保及时清空池。
如果重新启动 authd 或 jdhcpd,或者发生平滑的路由引擎切换,某些尚未向其发送 NAK 以启动注销的订阅者可能仍会使用池地址。当重新启动或GRES完成时,authd会向jdhcpd发送一条通知,其中包含仍然具有配置为活动清空的池中的地址的订阅者列表。然后可以继续池排水。
从 Junos OS 18.4R1 版开始,当 authd 通知 DHCP 进程地址池已被删除或正在清空时,地址分配方法将决定后续行为。
按需分配地址时,在删除池时,该池中具有该地址的家族将立即注销,或者在收到 DHCP 续订或重新绑定消息时,通过清空进程正常注销。
预分配地址后,将在删除池时立即删除两个系列的地址,或者在收到 DHCP 续订或重新绑定消息时,通过清空进程正常删除。
要将 DHCP 本地服务器配置为停止从地址池分配地址,请执行以下操作:
您可以使用 show network-access aaa statistics
命令确认是否为池配置了活动清空。
user@host> show network-access aaa statistics address-assignment pool pool1 Address assignment statistics Pool Name: pool1 Out of Memory: 0 Out of Addresses: 0 Address total: 33009 Addresses in use: 1 Address Usage (percent): 0 Pool drain configured: yes
主动清空功能优先于前缀地址的保留。地址保留可确保根据接入电路标识符 (ACI) 将相同的委派前缀分配给用户。保留前缀的订阅者注销时,ACI 和前缀存储在地址保留表中。当该订阅者尝试再次登录时,将在表中查找地址和 ACI。
活动清空模式会影响此行为。如果前缀当前是设置为主动清空模式的池的一部分,则前缀将从表中删除,并且在订阅者尝试再次登录时不会分配给订阅者。
如果在客户端注销过程中取消了活动清空,则前缀和 ACI 字符串将保留在表中。在这种情况下,可以在订阅者再次登录时将前缀分配给该 ACI 字符串。但是,如果在客户端已注销并且已清除表的前缀/ACI 关联后取消了活动清空,则后续登录时的订阅者将从重新激活的池中获得一个前缀,并且前缀可能不同。
另见
配置静态地址分配
您可以选择通过为特定客户端保留特定地址来创建静态 IPv4 地址绑定。该地址将从地址分配池中删除,以便它不会分配给其他客户端。保留地址时,用于识别客户端主机,并在客户端 MAC 地址和分配的 IP 地址之间创建绑定。IPv6 地址分配池不支持静态地址绑定。
要为 IPv4 地址配置静态绑定,请执行以下操作:
为 AAA 配置重复 IPv4 地址保护
从 Junos OS 14.1 版开始,如果您使用 AAA 提供 IPv4 地址,则可以启用重复地址保护以防止地址被多次使用。如果启用,将检查从外部服务器收到的以下属性:
Framed-IP-Address
Framed-Pool
然后,路由器将执行下列操作之一:
如果地址与地址池中的地址匹配,则从池中获取该地址(前提是该地址可用)。
如果该地址已在使用中,则该地址将因不可用而被拒绝,并且使用该地址的现有订阅者将保持不变。
要配置重复地址保护,请执行以下操作:
从 Junos OS 18.4R1 版开始,您可以选择性地启用在配置地址保护时当前使用的地址的重新分配,方法是添加 reassign-on-match
选项。配置后,路由器会断开现有用户的连接,并允许新用户重新协商。此配置的效果是,正在使用的地址始终重新分配给新订阅者。
此覆盖功能的一个用例是,当移动用户意外从网关 GPRS 支持节点 (GGSN) 中删除,但 GGSN 将用户的 L2TP 会话保持一段时间时。当客户尝试通过其他节点重新连接时,会话无法连接,因为原始会话仍处于运行状态。地址重新分配使新会话能够抢占现有会话,从而允许订阅者重新连接。
仅当地址来自 RADIUS 源地址池时,现有订阅者才会断开连接。当地址来自本地配置的地址池时,现有订阅者会话将保持不变。
当 RADIUS 分配本地配置的地址池中包含的地址时,请勿使用选项 reassign-on-match
,因为地址冲突的可能性更大。建议不要将 RADIUS 源地址与本地地址池重叠。
该 reassign-on-match
选项的工作方式如下:
订阅者与给定 IP 地址协商访问。
路由器将确定该地址是否正在使用以及该地址的来源。
如果订阅者已使用该地址登录,则该地址不属于本地配置的池,并且会启用地址保护:
路由器向新用户发送 NAK,从而拒绝该请求。
路由器向现有订阅者发送断开连接请求。断开连接请求包含一个终止 ID,用于报告注销原因。
新的(被拒绝的)订阅者可以重新协商,系统会为其分配 IP 地址。
如果订阅者已使用该地址登录,并且该地址是从本地地址池中分配的:
路由器向新用户发送 NAK,从而拒绝该请求。
路由器不会向现有订阅者发送断开连接请求。
添加到 reassign-on-match
现有重复地址保护配置时,该配置会立即对现有订阅者生效。同样,如果从配置中删除 reassign-on-match
,它将立即生效,这样后续使用正在使用的地址的访问请求不会导致现有订阅者的终止。
要启用地址重新分配,请执行以下操作:
[edit access address-protection] user@host# set reassign-on-match
另见
示例:配置地址分配池
要求
创建网络访问地址分配池。若要在池达到 100% 使用率时自动扩展池,若要将新池范围与原始池大小相匹配,请为每个池使用不同的网络掩码。
概述
配置
此示例显示了一个地址分配池配置,该配置创建两个池,一个用于 IPv4 DHCP 客户端 (isp_1
),另一个用于路由器播发。chi-fiber-ra
CLI 快速配置
[edit access] address-assignment { network-discovery-router-advertisement chi-fiber-ra; pool isp_1 { family inet { network 192.168.0.0/16; range southeast { low 192.168.102.2 high 192.168.102.254; } range northeast { low 192.168.119.2 high 192.168.119.250; } host host.example.net { hardware-address 00:00:5E:00:53:90; ip-address 192.168.44.12; } dhcp-attributes { option-match { option-82 { circuit-id fiber range northeast; } option-82 { circuit-id cable_net range southeast; } } boot-file boot.client; boot-server 192.168.200.100; grace-period 3600; maximum-lease-time 18000; netbios-node-type p-node; router 192.168.44.44 192.168.44.45; } } } pool chi-fiber-ra { family inet6 { prefix 2001:db8:2008:2009:2010::/48; range fiber3 { low 2001:db8:2008:2009:2010::1/64; high 2001:db8:2008:2009:2010::5/64; } } } }
此示例创建一个名为 isp-1
的 IPv4 地址分配池,其中包含两个命名地址 southeast
范围和 northeast
。address-assignment 池还包含客户端 host host.example.net
的静态绑定。ISP_1池配置还包括语 dhcp-attributes
句,指示池用于 DHCP 客户端。如果 option 82 circuit-id
条目与字符串 fiber
匹配,则 DHCP 会从该 northeast
范围内为客户端分配一个地址。如果 option 82 circuit-id
与字符串 cable_net
匹配,则 DHCP 会从范围内 southeast
分配一个地址。
此示例中创建的第二个地址分配池是 chi-fiber-ra
。 neighbor-discovery-router-advertisement
语法开头的语句指定此命名地址分配池用于路由器播发。示例末尾的语法配置名为 chi-fiber-ra
的地址分配池。
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。
reassign-on-match
选项。