Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用 DHCPv6 IA_NA和 DHCPv6 前缀授权的 WAN 和 LAN 寻址

使用 DHCPv6 IA_NA和 DHCPv6 前缀授权概述

您可以使用 DHCPv6 IA_NA为 CPE WAN 链路和 DHCPv6 前缀授权分配全局 IPv6 地址,以提供可在订阅者 LAN 上使用的前缀。DHCPv6 IA_NA和 DHCPv6 前缀授权在单个 DHCPv6 会话中完成。如果 CPE 在同一 DHCPv6 请求消息中同时发送IA_NA和IA_PD选项,BNG 将同时返回一个 IPv6/128 地址和一个 IPv6 前缀。

成功分配至少一个地址后,路由器将创建一个订阅者条目,并将该条目绑定到所分配的地址。如果两个地址均已成功分配,路由器将创建单个订阅者条目,并将这两个地址绑定到该条目。

DHCPv6 IA_NA和 DHCPv6 前缀授权的租赁时间和会话超时

当您将 DHCPv6 IA_NA与 DHCPv6 前缀授权一起使用时,请注意以下有关会话超时和租用时间的问题:

  • AAA 中的会话超时优先级最高,并覆盖本地池租赁时间。

  • 对于 DHCPv6 本地服务器,与地址池关联的最小租用时间优先于租赁时间较长的池。例如,如果 CPE 从租赁时间为 3600 的池获取IA_NA地址,以及租赁时间为 7200 的池中的前缀,则从 BNG 的 Reply 消息中返回的租赁时间为 3600。

  • 如果 AAA 未返回会话超时,并且地址池没有配置租用时间,则使用默认设置 86,400(一天)。

CPE 针对IA_NA和IA_PD地址类型发送单独的续订请求时的行为

在某些网络中,DHCPv6 客户端 CPE 设备会同时进行以下两项操作:

  • 对单个请求消息中的 IA_NA 和 IA_PD 地址类型发起协商。

  • 为IA_NA和IA_PD发送单独的租期续订请求,并连续接收续订请求。

从 Junos OS 17.2R3、17.4R2、18.1R3、18.2R2 和 18.3R1 版开始,jdhcpd 进程会在这种情况下扩展这两种地址类型的租约。

  1. 收到第一个续订请求的答复时,如果第二个地址类型的续订请求悬而未决,则客户端将保持续订状态,第一个 IA 的租期将延长,并更新客户端条目。

  2. 收到第二次续订请求的答复后,将针对第二个 IA 延长租期,并再次更新客户端条目。

在这种情况下,早期版本中的行为不同:

  1. 客户端将过渡到绑定状态,而不是停留在续订状态。第一个 IA 的租期会延长,客户端条目也更新了。

  2. 收到第二次续订请求的答复时,不会针对第二个地址类型续订租约,并且会将回复转发给客户端。因此,当该租约逐渐消失时,将清除该地址类型的绑定,删除访问路由,并丢弃该地址或地址前缀的后续流量。

注意:

对于同一会话上的双堆栈客户端(基于 L2TP LNS、DHCP 或 IPoE 的 PPP),增强型订阅者管理不支持以下两种情况的配置:

  • CPE 为IA_NA和IA_PD发送单独的 DHCPv6 请求消息。

  • 请求消息指定 2 类或 3 类 DUID(链路层地址)。

作为应对方案,您必须配置 CPE,以便当存在其他配置元素时,为IA_NA和IA_PD发送单个请求消息。

DHCPv6 多地址环境中的 DHCPv6 选项

在 DHCPv6 环境中,DHCPv6 客户端可以使用一条 DHCPv6 请求消息请求多个地址(例如,IA_NA 地址、IA_PD地址或两者),以及 DNS 服务器地址(DHCPv6 属性 23)。当客户端请求多个地址时,DHCPv6 将使用以下准则来确定如何向客户端返回选项。

  • DNS 服务器地址 — 每当客户端请求IA_PD地址(单独地址或请求IA_NA地址)并请求 DNS 服务器地址时,DHCPv6 仅在IA_PD池中指定了一个 DNS 地址时才会返回。如果IA_PD池不包含 DNS 地址,DHCPv6 将忽略在IA_NA池中配置的任何 DNS 地址。

    如果客户端请求IA_NA地址(但不是IA_PD地址)和 DNS 服务器地址,则 DHCPv6 在IA_NA池中配置了一个 DNS 地址。

  • 租赁时间 — DHCPv6 返回在IA_NA池、IA_PD池和 authd中配置的最短租用时间值。DHCPv6 使用此值设置生存期以及续订和重新绑定计时器。

注意:

默认情况下,DHCPv6 本地服务器将 DNS 服务器地址作为全局 DHCPv6 选项返回。如果您希望 DHCPv6 在子级别返回 DNS 服务器地址,则可以覆盖当前默认行为。

获取 DHCPv6 前缀委托和 DHCPv6 IA_NA地址的方法

您可以通过以下方式之一设置 BNG 以选择要委托给请求路由器的全局 IPv6 地址:

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

  • 从 BNG 上配置的本地前缀池或全局 IPv6 地址进行动态分配

前缀授权和IA_NA的地址分配是独立的。例如,您可以对 DHCPv6 IA_NA使用 AAA RADIUS,并使用本地池进行前缀授权。

DHCPv6 前缀授权和 DHCPv6 IA_NA的地址池

需要两个独立的地址池进行前缀授权和IA_NA。用于IA_NA的池包含 /128 地址,而前缀授权池则包含 /56 或 /48 地址。

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

您可以配置池属性,以便IA_NA池和前缀授权池可以为 DNS 地址指定不同的 SIP 服务器。BNG 返回到 CPE 的 DHCPv6 选项基于分配地址的池。返回的这些选项基于 DHCPv6 选项请求选项 (ORO),可全局配置,也可在IA_NA中配置,并IA_PD请求。

使用 AAA RADIUS 服务器获取 IPv6 地址和前缀

当 BNG 需要获取 CPE WAN 链路的全局 IPv6 地址和 DHCPv6 前缀时,它会使用以下一个 RADIUS 属性中的值:

  • Framed-IPv6-Prefix— 属性包含一个全局 IPv6 地址和一个前缀。前缀长度为 128 与全局 IPv6 地址相关联。前缀长度小于 128 与前缀相关联。

  • Framed-IPv6-Pool— 属性包含在 BNG 上配置的地址分配池的名称,BNG 可以从中选择要发送至 CPE 的全局 IPv6 地址或 IPv6 前缀。

这两个属性都从 RADIUS 服务器发送到 RADIUS Access-Accept 消息中的 BNG。

Junos OS 用于多个 DHCPv6 地址分配的预定义变量

要为 DHCPv6 IA_NA和 DHCPv6 前缀授权配置动态 DHCPv6 地址分配,请在 $junos-subscriber-ipv6-multi-address 动态配置文件中使用预定义变量。您可以使用此变量来代替 $junos-subscriber-ipv6-address 支持单个 IPv6 地址或前缀的变量。该 $junos-subscriber-ipv6-multi-address 变量应用为多路分离源地址,并可扩展为同时包含主机地址和前缀地址。

您可以在层次结构级别包含 $junos-subscriber-ipv6-multi-address 变量 [edit dynamic-profile profile-name interfaces interface-name unit logical-unit-number family inet6 demux-source]

每个客户端接口有多个 DHCPv6 IA_NA 和IA_PD请求

DHCPv6 中继代理在单个 DHCPv6 请求消息中支持多个IA_NA和IA_PD请求。这些请求可以是IA_NA地址和IA_PD地址的任意组合,最多可有 8 个请求。作为多 IA 请求支持的一部分,每个地址租约都有自己的租赁时间到期时间,这与其他租期无关。使用独立租约计时器可确保在一个租约被拆除时,其他有效租约得以保持。您可以使用 show dhcpv6 relay bindingshow dhcpv6 relay binding detail 命令显示各个租赁时间的状态。

DHCPv6 支持多个 IA 请求,使您能够使用前缀委托来指定地址块,如 RFC 3633、 DHCPv6 的 IPv6 前缀选项中所述。例如,您可能希望将多个地址块委托给客户现场设备 (CPE) 路由器,以简化 IPv6 环境中的流分类和服务盈利。

示例:配置通过 PPPoE 使用 DHCPv6 IA_NA和 DHCPv6 前缀授权的双堆栈

要求

此示例使用以下硬件和软件组件:

  • MX 系列 5G 通用路由平台

  • Junos OS 11.4 或更高版本

概述

此设计在订阅者接入网络中使用 DHCPv6 IA_NA和 DHCPv6 前缀授权,如下所示:

  • 接入网络为 PPPoE。

  • DHCPv6 IA_NA用于在 WAN 链路上分配全局 IPv6 地址。地址来自使用 AAA RADIUS 指定的本地池。

  • DHCPv6 前缀授权用于订阅者 LAN 寻址。它使用使用 AAA RADIUS 指定的本地池中的委托前缀。

  • DHCPv4 用于订阅者 LAN 寻址。

  • DHCPv6 订阅者会话在底层 PPPoE 订阅者会话上分层。

拓扑

图 1:采用 DHCPv6 IA_NA和 DHCPv6 前缀授权的 PPPoE 订阅者接入网络 PPPoE Subscriber Access Network with DHCPv6 IA_NA and DHCPv6 Prefix Delegation

表 1 介绍了此示例中使用的配置组件。

表 1:具有 DHCPv6 IA_NA和 DHCPv6 前缀授权的双堆栈中使用的配置组件

配置组件

组件名称

目的

动态配置文件

pppoe-订阅者配置文件

在订阅者登录时创建 PPPoE 逻辑接口的配置文件。

接口

ge-0/2/5

用于与 RADIUS 服务器通信的接口。

ge-0/3/0

底层以太网接口。

demux0

在底层以太网接口上运行的 VLAN 多路复用接口。

lo0

用于接入网络的环路接口。环路接口会自动用于未编号的接口。

地址分配池

pool v4-pool

为订阅者 LAN 提供 IPv4 地址的池。

pool v6-ia-na-pool

为 CPE WAN 链路提供全局 IPv6 地址的池。

池 v6-pd-pool

提供委托给 CPE 的前缀池,用于在订阅者 LAN 上分配 IPv6 全局地址。

配置

CLI 快速配置

下面是此示例的完整配置:

为基于 PPPoE 的 DHCPv6 配置 DHCPv6 本地服务器

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit] CLI 中。

逐步过程

要位于 PPPoE IPv6 系列 (inet6) 之上的 DHCPv6 层,通过将 PPPoE 接口添加到 DHCPv6 本地服务器配置中,将 DHCPv6 与 PPPoE 接口相关联。由于此示例使用动态 PPPoE 接口,我们使用 pp0.0 (PPPoE) 逻辑接口作为通配符,以指示可以在 PPPoE 接口之上进行 DHCPv6 绑定。

要配置 DHCPv6 本地服务器:

  1. 访问 DHCPv6 本地服务器配置。

  2. 为动态 PPPoE 接口创建一个组并分配名称。

    该组功能对一组接口进行分组,然后将通用 DHCP 配置应用于指定的接口组。

  3. 为动态 PPPoE 逻辑接口添加接口。

结果

在配置模式下,输入命令以确认 show 您的配置。

完成设备配置后,请从配置模式进入 commit

为 PPPoE 逻辑接口配置动态配置文件

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit] CLI 中。

逐步过程

为 PPPoE 逻辑接口创建动态配置文件。此动态配置文件在同一逻辑接口上同时支持 IPv4 和 IPv6 会话。

要配置动态配置文件:

  1. 创建动态配置文件并命名该配置文件。

  2. 将路由实例添加到配置文件中。

  3. 配置用于为 IPv4 和 IPv6 订阅者创建逻辑 PPPoE 接口的 PPPoE 逻辑接口 (pp0)。

  4. 指定 $junos-interface-unit 为预定义变量,以表示接口的 pp0 逻辑单元号。该变量将动态替换为订阅者登录时网络提供的实际单元号。

  5. 指定 $junos-underlying-interface 为预定义变量,以表示路由器创建动态 PPPoE 逻辑接口的底层以太网接口的名称。该变量将动态替换为订阅者登录时网络提供的底层接口的实际名称。

  6. 将路由器配置为在动态创建 PPPoE 逻辑接口时充当 PPPoE 服务器。

  7. 为 pp0 接口配置 IPv4 系列。指定未编号地址以动态创建环路接口。由于示例使用路由实例,请分配预定义的变量 $junos-loopback-interface

  8. 为 pp0 接口配置 IPv6 系列。指定未编号地址以动态创建环路接口。由于示例使用的路由实例没有路由器播发,因此分配预定义的变量 $junos-loopback-interface

  9. 为 pp0 接口配置一个或多个 PPP 身份验证协议。

  10. 启用 keepalives 并为 keepalives 设置间隔。建议间隔为 30 秒。

结果

在配置模式下,输入命令以确认 show 您的配置。

完成设备配置后,请从配置模式进入 commit

配置环路接口

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit] CLI 中。

逐步过程

要配置环路接口:

  1. 创建环路接口并指定单元号。

  2. 配置 IPv4 接口。

  3. 配置 IPv6 接口。

结果

在配置模式下,输入命令以确认 show 您的配置。

完成设备配置后,请从配置模式进入 commit

通过以太网底层接口配置 VLAN 多路复用接口

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit] CLI 中。

逐步过程

要通过以太网底层接口配置 VLAN 多路复用接口:

  1. 配置底层以太网接口。

  2. 创建 VLAN 多路复用接口并指定单元号。

  3. 配置 VLAN 标记。

  4. 指定底层以太网接口。

  5. 指定动态配置文件。

  6. 防止为同一 VLAN 接口上的同一 PPPoE 订阅者创建多个 PPPoE 会话。

  7. (可选)指定您希望多路复用接口使用代理 ARP。

结果

在配置模式下,输入命令以确认 show 您的配置。

完成设备配置后,请从配置模式进入 commit

配置与 RADIUS 服务器通信的接口

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit] CLI 中。

逐步过程

要配置接口:

  1. 创建接口,指定单元号,然后配置地址。

  2. 配置 IPv4 接口并指定地址。

  3. 指定不会自动协商千兆以太网选项。

结果

在配置模式下,输入命令以确认 show 您的配置。

完成设备配置后,请从配置模式进入 commit

指定 BNG IP 地址

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit] CLI 中。

最佳实践:

强烈建议您配置 BNG IP 地址,以避免环路接口上的接口地址发生变化时出现不可预测的行为。

逐步过程

要配置 BNG 的 IP 地址,

  1. 访问路由选项配置。

  2. 指定 IP 地址或 BNG。

结果

在配置模式下,输入命令以确认 show 您的配置。

完成设备配置后,请从配置模式进入 commit

配置 RADIUS 服务器访问

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit] CLI 中。

逐步过程

要配置 RADIUS 服务器:

  1. 创建 RADIUS 服务器配置,并指定服务器的地址。

  2. 配置服务器所需的密钥(密码)。用引号括起来的密钥可以包含空格。

  3. 配置 BNG 在向 RADIUS 服务器发送 RADIUS 请求时使用的源地址。

  4. (可选)配置路由器尝试与 RADIUS 计费服务器的联系次数。您可以将路由器配置为从 1 次到 16 次重试。默认设置为 3 次重试尝试。

  5. (可选)配置本地路由器或交换机等待从 RADIUS 服务器接收响应的时间长度。默认情况下,路由器或交换机等待 3 秒。您可以将超时配置为 1 到 90 秒。

结果

在配置模式下,输入命令以确认 show 您的配置。

完成设备配置后,请从配置模式进入 commit

配置 RADIUS 服务器访问配置文件

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit] CLI 中。

逐步过程

要配置 RADIUS 服务器访问配置文件,

  1. 创建 RADIUS 服务器访问配置文件。

  2. 指定使用身份验证方法的顺序。

  3. 指定用于身份验证的 RADIUS 服务器的地址和用于计费的服务器。

  4. 为访问配置文件配置 RADIUS 核算值。

结果

在配置模式下,输入命令以确认 show 您的配置。

完成设备配置后,请从配置模式进入 commit

配置本地地址分配池

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit] CLI 中。

逐步过程

为 DHCPv4、DHCPv6 IA_NA和 DHCPv6 前缀授权配置三个地址分配池。

要配置地址分配池:

  1. 配置 DHCPv4 的地址分配池。

  2. 为 DHCPv6 IA_NA配置地址分配池。

  3. 为 DHCPv6 前缀授权配置地址分配池。

  4. (可选)启用重复前缀保护。

结果

在配置模式下,输入命令以确认 show 您的配置。

完成设备配置后,请从配置模式进入 commit

验证

确认配置工作正常。

验证活动订阅者会话

目的

验证活动订阅者会话。

行动

在操作模式下,输入 show subscribers summary 命令。

意义

下方 Subscribers by State 的字段显示活动订阅者的数量。

下方 Subscribers by Client Type 字段显示活动 DHCP 和 PPPoE 订阅者会话数。

验证正确路由实例中的 IPv4 和 IPv6 地址

目的

验证订阅者是否同时具有 IPv4 和 IPv6 地址,以及是否已放置在正确的路由实例中。

行动

在操作模式下,输入 show subscribers 命令。

意义

字段 Interface 显示同一接口上运行两个订阅者会话。字段 IP Address 显示,一个会话分配了 IPv4 地址,第二个会话则由 DHCPv6 IA_NA 分配一个 IPv6 地址。

LS:RI 字段显示,订阅者已放置在正确的路由实例中,并且可以发送和接收流量。

验证动态订阅者会话

目的

验证动态 PPPoE 和 DHCPv6 订阅者会话。在此示例配置中,DHCPv6 订阅者会话应分层到底层 PPPoE 订阅者会话上。

行动

在操作模式下,输入 show subscribers detail 命令。

意义

当订阅者同时登录并启动 IPv4 和 IPv6 会话时,输出将显示活动的底层 PPPoE 会话和活动的 DHCPv6 会话。

Session ID PPPoE 会话的字段为 2。Underlying Session ID DHCP 会话的 2,这表明 PPPoE 会话是底层会话。

验证用于 DHCPv6 前缀委托的 DHCPv6 地址池

目的

验证用于 DHCPv6 前缀委托的委托地址池以及委托给 CPE 的 IPv6 前缀的长度。

行动

在操作模式下,输入 show subscribers extensive 命令。

意义

字段 IPv6 Delegated Address Pool 显示用于为此订阅者会话分配 IPv6 地址的池名称。

验证 DHCPv6 地址绑定

目的

在 DHCPv6 本地服务器上的客户端表中显示地址绑定。

行动

在操作模式下,输入 show dhcpv6 server binding detail 命令。

意义

Client IPv6 Address 字段显示使用 DHCPv6 IA_NA分配给 CPE WAN 链路的 /128 地址。

Client Pool Name 字段显示用于分配的 Client IPv6 Address地址池的名称。

验证与远程对等方协商的 PPP 选项

目的

验证与远程对等方协商的 PPP 选项。

行动

在操作模式下,输入 show ppp interface interface extensive 命令。

意义

输出显示与远程对等方协商的 PPP 选项。

在 IPCP 下 Negotiated options ,字段显示 IPCP 协商的 IPv4 本地和远程地址。

在 IPV6CP 下,该 Negotiated options 字段显示由 IPv6CP 协商的 IPv6 本地和远程接口标识符。

版本历史记录表
释放
描述
18.3R1
从 Junos OS 17.2R3、17.4R2、18.1R3、18.2R2 和 18.3R1 版开始,jdhcpd 进程会在这种情况下扩展这两种地址类型的租约。