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 链路分配全局 IPv6 地址,并使用 DHCPv6 前缀委派来提供用户 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 的回复消息中返回的租用时间为 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. 当收到第二个续订请求的回复时,不会续订第二个地址类型的租约,并将回复转发给客户端。因此,当该租约到期时,将清除该地址类型的绑定,删除访问路由,并丢弃该地址或地址前缀的后续流量。

注意:

对于同一会话上的双堆栈客户端(PPP over L2TP LNS、DHCP 或 IPoE),增强型订阅者管理不支持同时满足以下两个条件的配置:

  • 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 地址时才会返回 DNS 地址。如果 IA_PD 池不包含 DNS 地址,则 DHCPv6 将忽略IA_NA池中配置的任何 DNS 地址。

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

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

注意:

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

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

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

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

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

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

用于 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 访问-接受消息中的 BNG。

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

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

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

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

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

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

示例:配置使用 DHCPv6 IA_NA 和 PPPoE 的 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 Subscriber Access Network with DHCPv6 IA_NA and DHCPv6 Prefix Delegation的 PPPoE 用户访问网络

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

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

配置组件

组件名称

目的

动态配置文件

PPPoE-subscriber-配置文件

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

接口

GE-0/2/5

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

ge-0/3/0

底层以太网接口。

多路复用0

通过底层以太网接口运行的 VLAN 多路分离接口。

lo0

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

地址分配池

池 v4-池

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

池 v6-ia-na-pool

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

池 v6-pd-pool

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

配置

CLI 快速配置

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

为 DHCPv6 over PPPoE 配置 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. 配置 PPPoE 逻辑接口 (pp0),用于为 IPv4 和 IPv6 订阅者创建逻辑 PPPoE 接口。

  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. 启用 keepalive 并为 keepalive 设置间隔。建议间隔 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。对于 DHCP 会话而言,Underlying Session ID该会话为 2,表示 PPPoE 会话是底层会话。

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

目的

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

行动

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

意义

IPv6 Delegated Address Pool 字段显示 DHCPv6 用于为此订阅者会话分配 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 进程会延长这两种地址类型的租期。