用于订阅者管理的地址分配池
地址分配池概述
通过地址分配池,您可以创建独立于使用池的客户端应用程序的集中式 IPv4 和 IPv6 地址池。authd 进程管理池和地址分配,无论地址来自本地池还是 RADIUS 服务器。
例如,多个客户端应用程序(如 DHCP)可以使用相同的地址分配池为其特定客户端提供地址。客户端应用程序可以获取经过身份验证或未经过身份验证的客户端的地址。根据 RADIUS 服务器或网络匹配或其他规则为订阅者选择的池称为订阅者的匹配池。
地址分配类型
地址分配池支持动态和静态地址分配。在动态地址分配中,系统会自动为客户端分配地址分配池中的地址。在静态地址分配(仅 IPv4 池受支持)中,您保留一个地址,然后该地址始终由特定客户端使用。为静态分配保留的地址将从动态地址池中删除,无法分配给其他客户端。
地址分配池中的命名地址范围
您可以在地址分配池中配置命名地址范围。命名范围是整个地址范围的子集。客户端应用程序可以使用命名范围根据特定于客户端的条件管理地址分配。例如,对于 IPv4 地址分配池,您可以基于特定的 DHCP option 82 值创建命名范围。然后,当 DHCP 客户端请求与指定的 option 82 值匹配时,系统会将指定范围内的地址分配给客户端。
来自链接地址池的地址分配
您可以将地址分配池链接在一起,以便为地址分配提供备份池。当主地址池或匹配地址池中没有可用地址时,设备会自动前往链接(辅助)地址池以搜索要分配的可用地址。
尽管链接池链中的第一个池通常被认为是主池,但匹配池不一定是链中的第一个池。
让我们举一个例子来说明搜索机制是如何工作的。考虑一个由三个池组成的链 — A、B 和 C。池 A 是主池,池 B 是某些订阅者的匹配池,基于 RADIUS 服务器返回的信息。搜索这些订阅者的可用地址使用以下顺序:
默认情况下,首先搜索匹配的池(池 B)。
如果找不到地址,则搜索将移动到链中的第一个池(池 A)。
搜索通过链(池 C)继续进行,直到找到并分配可用地址,或者直到搜索确定没有可用地址。
在每个池中,将对所有地址范围进行完全搜索以查找地址。
您可以将该 linked-pool-aggregation 语句配置为在匹配池中每个范围内的地址块中开始搜索,然后依次搜索链接池。然后搜索移回链中的第一个池,并通过链中的最后一个池搜索每个池中所有范围内的所有地址。
地址池抑制状态
可以配置处于抑制状态的地址分配池。当地址池处于抑制状态时,该池不再可用于为订阅者分配 IP 地址。当之前分配的地址返回到池时,此配置会将活动池正常地转换为非活动状态。当池处于非活动状态时,您可以安全地对池执行维护,而不会影响任何活动订阅者。
邻接方发现路由器通告的地址分配池
您可以显式地为邻接方发现路由器通告 (NDRA) 分配地址分配池。
排除指定的地址或地址范围
例如,您可能希望保留某些地址或范围仅用于静态订阅者。如果配置要排除的地址或范围,并且该地址或范围内的地址已分配,则该订阅者将注销,地址将被解除分配,并且该地址将被标记为排除。
许可要求
此功能需要许可证。要了解有关订阅者访问许可的更多信息,请参阅 订阅者访问许可概述。请参阅 瞻博网络许可指南 ,了解有关许可证管理的常规信息。请参阅产品 介绍 以了解详细信息,或联系您的瞻博网络客户团队或瞻博网络合作伙伴。
地址分配池的好处
地址分配池功能同时支持订阅者管理和 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。
-
搜索池 A,范围 r2 中的 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 地址池(在层次结构级别使用[edit access]语句创建address-pool)和 NAT 池(在层次结构级别使用[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
}
}
}
同样,pool 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 用户尝试从现已配置为主动清空模式的池中续订 IP 地址的租约时(在 T1 续订时),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。地址分配池还包含 client host host.example.net的静态绑定。ISP_1池配置还包括该 dhcp-attributes 语句,指示该池用于 DHCP 客户端。如果选项 82 circuit-id 条目与字符串 fiber匹配,则 DHCP 会为客户端分配该 northeast 范围内的地址。如果选项 82 circuit-id 与字符串 cable_net匹配,则 DHCP 将从该 southeast 范围内分配一个地址。
在此示例中创建的第二个地址分配池是 chi-fiber-ra。 neighbor-discovery-router-advertisement 语法开头的语句指定此命名地址分配池用于路由器播发。示例末尾的语法配置名为 chi-fiber-ra的地址分配池。
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。
reassign-on-match 选项来重新分配配置地址保护时当前正在使用的地址。