Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

具有外部身份验证服务器的 DHCP

扩展 DHCP 本地服务器和扩展 DHCP 中继代理支持使用外部 AAA 身份验证服务(如 RADIUS)对 DHCP 客户端进行身份验证。有关更多信息,请阅读本主题。

本主题使用术语扩展 DHCP 应用程序来指代扩展 DHCP 本地服务器和扩展 DHCP 中继代理。

使用外部 AAA 身份验证服务对 DHCP 客户端进行身份验证

身份验证、授权和计费 (AAA) 服务框架为路由器支持网络访问的所有身份验证、授权、计费、地址分配和动态请求服务提供单一联系点。

在扩展 DHCP 应用程序中,DHCP 服务器和 DHCP 中继代理都支持使用外部 AAA 身份验证服务(如 RADIUS)对 DHCP 客户端进行身份验证。可用于 DHCPv6 本地服务器和 DHCPv6 中继代理的支持 ID。

Junos OS 设备使用 AAA 基础架构进行身份验证(适用于 DHCP 服务的 DHCP 客户端,具有分配的 DHCP 服务器。DHCP 客户端身份验证涉及以下高级步骤:

  • DHCP 本地服务器或中继代理从客户端接收发现 PDU

  • DHCP 服务联系 AAA 服务器以对 DHCP 客户端进行身份验证。

  • DHCP 服务可以从外部 AAA 身份验证服务器获取客户端地址和 DHCP 配置选项。

外部身份验证功能还支持 AAA 定向注销。如果外部 AAA 服务支持用户注销指令,则扩展 DHCP 应用程序将遵循注销并查看注销,就像是由 CLI 管理命令请求的一样。

注销时将删除所有客户端状态信息和分配的资源。扩展 DHCP 应用程序支持使用您在层次结构级别通过[edit access profile profile-name]语句指定的authentication-server已配置身份验证服务器列表进行定向注销。

使用外部身份验证服务器配置 DHCP 的步骤

要配置 DHCP 本地服务器和 DHCP 中继代理以支持身份验证,请执行以下操作:

  1. 指定要通过在各自的层次结构级别包含身份验证关键字来配置身份验证。
  2. (可选)配置可选功能以创建唯一的用户名。
  3. (可选)配置用于向外部身份验证服务验证用户名的密码。

例子:

在外部认证服务器、DHCP 应用程序和 DHCP 客户端之间交换的客户端配置信息

当 DHCP 应用程序收到来自外部身份验证服务器的响应时,响应可能包含 IP 地址和子网掩码之外的信息。DHCP 服务使用该信息并将其发送到 DHCP 客户端。

DHCP 应用程序可以以其原始形式发送信息,也可以将信息与本地配置规范合并。

例如,如果身份验证响应包括地址池名称,并且本地配置指定了该池的 DHCP 属性,则 DHCP 服务将合并身份验证结果和服务器发送到客户端的回复中的属性。

本地配置是可选的 - 客户端可由外部身份验证服务完全配置。但是,如果外部身份验证服务不提供客户端配置,则必须配置本地地址分配池以提供客户端配置。

当本地配置指定选项时,扩展 DHCP 应用程序会将本地配置选项添加到服务器发送到客户端的产品/服务 PDU。如果两组选项重叠,则来自外部服务的身份验证响应中的选项优先。

使用 RADIUS 提供身份验证时,附加信息可能采用 RADIUS 属性和瞻博网络 VSA 的形式。 表 1 列出了 RADIUS 可能包含在身份验证授权中的信息。有关扩展 DHCP 应用程序支持的用户访问管理或 DHCP 管理的 RADIUS 属性和瞻博网络 VSA 的完整列表,请参阅 AAA 服务框架支持的 RADIUS 属性和瞻博网络 VSA

表 1:身份验证授予中的信息

属性编号

属性名称

描述

半径属性 8

帧 IP 地址

客户端 IP 地址

半径属性 9

帧 IP 网络掩码

客户端 IP 地址的子网掩码(DHCP 选项 1)

瞻博网络 VSA 26-4

主 DNS

主域服务器(DHCP 选项 6)

瞻博网络 VSA 26-5

辅助 DNS

辅助域服务器(DHCP 选项 6)

瞻博网络 VSA 26-6

初赢

主 WINS 服务器(DHCP 选项 44)

瞻博网络 VSA 26-7

二次制胜

辅助 WINS 服务器(DHCP 选项 44)

半径属性 27

会话超时

租赁时间

半径属性 88

框架池

地址分配池名称

瞻博网络 VSA 26-109

DHCP 引导中继服务器

DHCP 中继服务器

示例 - 使用外部身份验证服务器配置 DHCP

要在 DHCP 本地服务器、DHCPv6 本地服务器、DHCP 中继代理和 DHCPv6 中继代理级别配置身份验证。

  1. 指定要配置身份验证。
  2. (可选)指定要包含在用户名中的可选信息。
  3. 配置扩展 DHCP 应用程序向外部 AAA 身份验证服务提供的可选密码,以验证指定的用户名。

以下示例显示创建唯一用户名的示例配置。用户名显示在配置之后。

生成的唯一用户名为:

指定身份验证支持

表 2 中给出的层次结构级别包括该authentication语句。您可以配置全局身份验证支持或特定于组的支持。

表 2:身份验证支持的层次结构级别

支持的层次结构级别

层次结构级别

DHCP 本地服务器

[edit system services dhcp-local-server]

DHCP 中继代理

[edit forwarding-options dhcp-relay]

DHCPv6 本地服务器

[edit system services dhcp-local-server dhcpv6]

DHCPv6 中继代理

[edit forwarding-options dhcp-relay dhcpv6]

为 DHCP 客户端创建唯一的用户名

您可以将扩展 DHCP 应用程序配置为在 DHCP 客户端登录时传递给外部 AAA 身份验证服务的用户名中包含其他信息。通过此附加信息,您可以构造唯一标识订阅者(DHCP 客户端)的用户名。

要配置唯一用户名,请使用语句 username-include 。可以包含任何或所有其他语句。

注意:

如果未在身份验证配置中包含用户名,则路由器(或交换机)不会执行身份验证;但是,如果配置了本地池,则 IP 地址由本地池提供。

使用 DHCPv6 本地服务器时,必须配置身份验证和客户端用户名;否则客户端登录将失败。

以下列表描述了可以作为用户名的一部分包含的可选信息:

  • circuit-type- DHCP 客户端使用的电路类型,例如 enet

  • client-id- 客户端标识符选项(选项 1)。(仅限 DHCPv6 本地服务器 DHCPv6 中继代理)

  • delimiter- 分隔构成串联用户名的组件的分隔符。默认分隔符为句点 (.)。不支持将分号 (;) 用作分隔符。

  • domain-name- 字符串形式的客户端域名。路由器会将 @ 分隔符添加到用户名中。

  • interface-description— 设备(物理)接口或逻辑接口的说明。

  • interface-name— 接口名称,包括接口设备和关联的 VLAN ID。

  • logical-system-name— 逻辑系统的名称(如果接收接口位于逻辑系统中)。

  • mac-address— 客户端 MAC 地址,格式 xxxx.xxxx.xxxx为 .

  • option-60- 选项 60 有效负载中长度字段之后的部分。(不支持 DHCPv6 本地服务器)

  • option-82 <circuit-id> <remote-id>- 选项 82 有效负载的指定内容。(不支持 DHCPv6 本地服务器)

    • circuit-id- 代理电路 ID 子选项的有效负载。

    • remote-id- 代理远程 ID 子选项的有效负载。

    • 两者 circuit-idremote-id—两个子选项的有效负载,格式为: circuit-id[delimiter]remote-id

    • 非或 circuit-id remote-id—PDU 中选项 82 的原始有效负载与用户名串联。

    注意:

    对于 DHCP 中继代理,用于创建用户名的选项 82 值基于在传出(中继)PDU 中编码的选项 82 值。

  • relay-agent-interface-id- 接口 ID 选项(选项 18)。(仅限 DHCPv6 本地服务器或 DHCPv6 中继代理)

  • relay-agent-remote-id- DHCPv6 中继代理远程 ID 选项(选项 37)。(仅限 DHCPv6 本地服务器或 DHCPv6 中继代理)

  • relay-agent-subscriber-id—(仅限路由器)DHCPv6 中继代理订阅者 ID 选项(选项 38)。(仅限 DHCPv6 本地服务器或 DHCPv6 中继代理)

  • routing-instance-name— 路由实例的名称(如果接收接口位于路由实例中)。

  • user-prefix- 指示用户前缀的字符串。

  • vlan-tags— 订阅者 VLAN 标记。包括外部 VLAN 标记和内部 VLAN 标记(如果存在)。当外部 VLAN 标记在整个系统中是唯一的,并且不需要底层物理接口名称作为格式的一部分时,您可以使用此选项代替 interface-name 选项。

对于 DHCPv6 客户端,由于 DHCPv6 数据包格式没有客户端 MAC 地址的特定字段,因此 MAC 地址派生自具有以下优先级的多个源:

  • 客户端 DUID 类型 1 或类型 3。

  • 选项 79(客户端链路层地址)(如果存在)。

  • 数据包源地址(如果客户端直接连接)。

  • 链路本地地址。

路由器(交换机)通过按以下顺序包含指定的附加信息来创建唯一用户名,字段由分隔符分隔。

对于 DHCP 本地服务器和 DHCP 中继代理:

对于 DHCPv6 本地服务器:

使用常见 DHCP 配置对接口进行分组

您可以使用组功能对一组接口进行分组,然后将通用 DHCP 配置应用于命名接口组。扩展 DHCP 本地服务器、DHCPv6 本地服务器、DHCP 中继代理和 DHCPv6 中继代理都支持接口组。

以下步骤创建 DHCP 本地服务器组;DHCPv6 本地服务器、DHCP 中继代理和 DHCPv6 中继代理的步骤类似。

要配置 DHCP 本地服务器接口组,请执行以下操作:

  1. 指定要配置 DHCP 本地服务器。
  2. 创建组并分配名称。

  3. 指定启用了扩展 DHCP 应用程序的一个或多个接口的名称。您可以重复 interface interface-name 语句以指定组中的多个接口,但不能在多个组中使用相同的接口。
  4. (可选)您可以使用该 upto 选项为组指定接口范围。
  5. (可选)您可以使用该 exclude 选项从组中排除特定接口或指定范围的接口。例如:

Example- 2

要配置接口组, group 请使用语句。

您可以指定启用了扩展 DHCP 应用程序的一个或多个接口的名称。您可以重复该 interface interface-name 语句以在一个组中指定多个接口,但不能在多个组中指定相同的接口。例如:

  1. 通过扩展 DHCP 应用程序,您可以将一组接口组合在一起,并将通用 DHCP 配置应用于命名接口组。

  2. 您可以使用该 upto 选项指定启用扩展 DHCP 应用程序的接口范围。例如:

  3. 您可以使用该 exclude 选项从组中排除特定接口或指定范围的接口。例如:

Example: