使用 DHCPv6 前缀委派的用户 LAN 寻址

使用 DHCPv6 前缀委派概述

您可以使用 DHCPv6 前缀委派将 IPv6 前缀自动委派给 CPE。使用前缀委托,委托路由器(BNG)将 IPv6 前缀委托给请求路由器(CPE)。然后,请求路由器使用前缀为用户 LAN 上的设备分配全局 IP 地址。请求路由器还可以将子网地址分配给 LAN 上的子网。

当委托路由器没有关于请求路由器所在网络的拓扑信息时,DHCPv6 前缀委派非常有用。在这种情况下,委派路由器只需要请求路由器的身份来选择委派的前缀。

DHCPv6 前缀委派取代了 IPv6 网络中对 NAT 的需求。

图 1 显示了如何在双堆栈网络中使用 DHCPv6 前缀委派。

图 1:使用 DHCPv6 的双堆栈网络中的委托寻址 Delegated Addressing in a Dual-Stack Network Using DHCPv6

DHCPv6 前缀委派的工作方式如下:

  1. 委托路由器带有 IPv6 前缀,以便委托给请求路由器。这些前缀可以来自本地地址分配池或外部 AAA 服务器。

    每个前缀都有一个关联的有效和首选生存期,可以延长。

  2. 请求路由器向委托路由器请求一个或多个前缀。

  3. 委托路由器选择委派的前缀,并使用前缀响应请求路由器。

  4. 然后,请求路由器负责委托的前缀。

    用户网络中的地址分配机制可以通过路由器播发中的 ICMPv6 邻接方发现、DHCPv6 或这两种方法的组合来执行。

在 CPE 环路接口上使用委托前缀

对于服务提供商直接控制 CPE 的网络,委派前缀可用于在 CPE 与 BNG 之间的环路接口上创建 IPv6 地址。此地址可用于管理 CPE,CPE 在与 BNG 通信时将其用作源地址。

通过 PPPoE 的 DHCPv6 前缀委派

当DHCPv6在PPPoE接入网络上运行时,DHCPv6前缀委派的过程如下:

  1. CPE 通过将通过 IPv6CP 协商接收的接口 ID 附加到 IPv6 链路本地前缀 (FE80::/10),从而获取链路本地地址。链路本地地址为 BNG 与 CPE 之间的协议通信提供初始路径

  2. CPE 发送包含IA_PD选项的 DHCPv6 请求消息。

  3. BNG 使用来自外部 AAA 服务器或本地前缀池的信息为 CPE 选择一个前缀。

  4. BNG 向 CPE 发送播发消息。该消息包括委托前缀、IA_PD选项和IA_PD前缀选项。IA_PD前缀选项中的前缀长度为 48。该消息还可以包含其他配置信息,如最大租期时间。

  5. CPE 向 BNG 发送请求消息。消息请求播发的前缀。

  6. BNG 在回复消息中将委托的前缀返回给 CPE。此消息还包含委派前缀、IA_PD选项和IA_PD前缀选项。IA_PD前缀选项中的前缀长度为 48。该消息还可以包含其他配置信息,如最大租期时间。

  7. CPE 使用委派前缀为用户网络上的主机设备分配全局 IPv6 地址。它可以使用路由器通告、DHCPv6 或这两种方法的组合来分配用户 LAN 上的地址。

获取 DHCPv6 前缀委派的 IPv6 前缀的方法

您可以通过以下方式之一设置 BNG,以选择要委托给请求路由器的 IPv6 前缀:

  • 外部源,例如 AAA RADIUS 服务器或使用 DHCPv6 中继代理的 DHCP 服务器。

  • 从 BNG 上配置的本地前缀池进行动态分配

    您可以指定用于前缀委托的委托池的名称,这意味着您无需使用 AAA 来获取池名称。在此配置中,如果还指定了池匹配顺序,则指定的委托池优先。

使用 AAA RADIUS 服务器获取 IPv6 前缀以进行前缀委派

当 BNG 需要获取 DHCPv6 前缀委派的前缀时,它会使用以下 RADIUS 属性之一中的值:

  • Delegated-IPv6-Prefix— 属性 (123) 包含 BNG 可以发送到 CPE 的 IPv6 前缀。

  • Jnpr-IPv6-Delegated-Pool-Name— 属性 (VSA 26-161) 包含在 BNG 上配置的地址分配池的名称,BNG 可以从中选择要发送到 CPE 的前缀。

这两个属性均在 RADIUS 访问-接受消息中从 RADIUS 服务器发送到 BNG。

订阅者委托前缀保留

用户委派前缀保留支持保留和还原使用 DHCPv6 前缀委派分配的 IPv6 前缀。

在层次结构下 [edit access] 配置地址保留:

即使订阅者注销,订阅者的委派前缀也会保留。注销后,“show network-access address-assignment preserved”命令的输出将更新,用户在登录后将获得相同的委派前缀。

订阅者委托前缀保留支持通过多次登录保留和恢复订阅者的委托前缀。从 JUNOS 设备接收相同的委派前缀可防止 IA-PD 更改,这会触发对 CPE 后面 LAN 上所有主机的重新协商。要使用此功能,需要执行配置命令。默认情况下,此功能处于禁用状态。要为 DHCPv6 前缀委派启用地址保留,请使用命令 access address-preservation configuration 。

每个参与的用户都由代理电路 ID 标识。代理电路 ID 在标准上游控制流量中可用。(例如:DHCP 的 Option-82 子选项 1,DHCPv6 的 Option 18)。如果配置了访问地址保留前缀,并且订阅者具有代理电路 ID,则通过多次登录将保留订阅者前缀。Agent-Circuit-Id 是用于在订阅者注销时存储订阅者前缀的密钥。当具有相同 Agent-Circuit-Id 的用户再次登录时,将检索前缀并将其关联到订阅者。

该 show network-access address-assignment preserved 命令支持可选 routing-instance <routing-instance-name> 输出。

DHCPv6 前缀排除

您可以使用动态主机配置协议 v6 (DHCPv6) 前缀委派,将 IPv6 前缀自动委派到客户端设备 (CPE) 设备。使用前缀委派,委托路由器(宽带网络网关 (BNG) 路由器)将 IPv6 前缀委托给请求路由器,例如 CPE 设备。然后,请求路由器使用前缀为用户 LAN 上的设备分配全局 IP 地址。请求路由器还可以将子网地址分配给 LAN 上的子网。当委托路由器没有关于请求路由器所在网络的拓扑信息时,DHCPv6 前缀委派非常有用。在这种情况下,委派路由器只需要请求路由器的身份来选择委派的前缀。DHCPv6 前缀委派取代了 IPv6 网络中对 NAT 的需求。

图 2 显示了如何在双堆栈网络中使用 DHCPv6 前缀委托。

图 2:使用 DHCPv6 的双堆栈网络中的委托寻址 Delegated Addressing in a Dual-Stack Network Using DHCPv6

DHCPv6 前缀委派的工作方式如下:

  1. 委托路由器带有 IPv6 前缀,以便委托给请求路由器。这些前缀可以来自本地地址分配池或外部 AAA 服务器。

    每个前缀都有一个关联的有效和首选生存期,可以延长。

  2. 请求路由器向委托路由器请求一个或多个前缀。

  3. 委托路由器选择委派的前缀,并使用前缀响应请求路由器。

  4. 然后,请求路由器负责委托的前缀。

    用户网络中的地址分配机制可通过路由器播发中的 ICMPv6 邻接方发现协议 (NDP)、DHCPv6 或这两种方法的组合来执行。

请求路由器不能使用委托路由器分配给委托路由器与请求路由器之间的链路的委托前缀的子前缀。由于此限制,到 CPE 设备通常有两个路由。一个是委托前缀,用于 CPE 设备后面的客户站点,另一个用于请求路由器与委托路由器之间的链路。为了克服这个问题,Junos OS 允许从委派前缀集中排除一个特定前缀,同时使用如 RFC 6603 中所述的基于 DHCPv6 的前缀委派。此排除的前缀用作委托路由器与请求路由器之间的链路。此前缀链路适用于每个请求路由器都在各自第 2 层域中的网络。

为了支持前缀排除委派,请求路由器在请求、请求、续订或重新绑定消息中包括选项请求选项 (ORO) 和PD_Exclude选项,以通知委派路由器对前缀委派的支持。当作为 DHCP 服务器的瞻博网络路由器收到这些消息并在 ORO 中找到排除前缀选项(选项 67)时,它将决定要排除的前缀。(要排除的前缀的长度大于委托的前缀长度。然后,排除的前缀将添加到IA_Prefix选项中。充当中继的 DHCP 服务器将请求的选项转发给服务器,并将服务器分配的排除前缀中继回客户端。

要在 DHCP 服务器中排除前缀长度,请在层次结构级别配置[edit access address-assignment pool pool-name family dhcpv6 dhcp-attributes]该exclude-prefix-len语句。前缀的长度范围为 1 到 128。

如果支持排除前缀的 DHCP 服务器希望客户端在重新配置后请求前缀排除,则可以在层次结构级别或[edit system services dhcp-local-server dhcpv6 group group-name]层次结构级别配置该support-option-pd-exclude语句[edit system services dhcp-local-server dhcpv6]。

配置 DHCPv6 前缀排除选项

要配置 DHCPv6 前缀 exclude:

  1. 配置要从委托前缀集池中排除的前缀长度。此前缀用作委托路由器与请求路由器之间的链路。排除前缀长度大于给定的前缀长度。

    例如,对于 2001:db8::/32 中委托的前缀,将 exclude 前缀配置为 2001:db8:ffff:fffc::/72 for delegated pool prefix_delegate_pool。

  2. 在重新配置消息中配置PD_Exclude选项支持。如果服务器希望客户端在重新配置后请求排除前缀,则在重新配置消息的选项请求选项(ORO)中添加排除前缀选项。

  3. 在给定组的重新配置消息中配置PD_Exclude选项支持。

配置地址分配池以供 DHCPv6 前缀委派使用

此过程说明如何配置 IPv6 本地地址池以分配 IPv6 前缀以供 DHCPv6 前缀委派使用。

您必须为 DHCPv6 前缀委派、DHCPv6 IA_NA和 NDRA 配置单独的池。

要配置用于前缀委派的池,请执行以下作:

  1. 创建一个池并为其分配名称。
  2. 在家族 inet6 下,将 IPv6 前缀添加到池中。
  3. 配置 IPv6 前缀范围的名称,并通过将前缀长度设置为 64 来定义范围。

指定用于 DHCPv6 前缀委托的委托地址分配池

您可以显式指定 BNG 用于分配 IPv6 前缀以供 DHCPv6 前缀委派使用的地址池。此功能使您能够识别地址池,而无需使用 RADIUS 或网络匹配。

注意:

如果瞻博网络 IPv6-Delegated-Pool-Name VSA (26–161) 提供的分配委托地址池,则 VSA 指定的值 delegated-address 优先于语句。

注意:

您可以在以下级别指定本地委托地址池:

  • 在层次结构级别上为 [edit system services dhcp-local-server dhcpv6 overrides] 服务器设置全局。

  • 对于层次结构级别上的 [edit system services dhcp-local-server dhcpv6 group group-name overrides] 一组命名接口。

  • 对于层次结构级别的 [edit system services dhcp-local-server dhcpv6 group group-name interface interface-name overrides] 指定接口组中的特定接口。

以下步骤仅显示如何指定本地服务器全局使用的本地池。

要指定要用于前缀委派的池:

  1. 指定要为 DHCPv6 本地服务器配置覆盖选项。
  2. 指定委托地址池的名称。