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 应用程序支持使用您在层次结构级别上通过语 authentication-server[edit access profile profile-name] 指定的已配置身份验证服务器列表进行定向注销。

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

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

  1. 指定要通过在相应的层次结构级别包含 authentication 关键字来配置身份验证。
  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:身份验证授权中的信息

属性编号

属性名称

描述

RADIUS 属性 8

成帧 IP 地址

客户端 IP 地址

RADIUS 属性 9

成帧 IP-网络掩码

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

瞻博网络 VSA 26-4

主 DNS

主域服务器(DHCP 选项 6)

瞻博网络 VSA 26-5

辅助 DNS

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

瞻博网络 VSA 26-6

主要 - WINS

主 WINS 服务器(DHCP option 44)

瞻博网络 VSA 26-7

辅助 WINS

辅助 WINS 服务器(DHCP option 44)

RADIUS 属性 27

会话超时

租赁时间

RADIUS 属性 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- option 60 有效负载中长度字段后面的部分。(DHCPv6 本地服务器不支持)

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

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

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

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

    • 也不是 circuit-id remote-id—来自 PDU 的 option 82 的原始有效负载与用户名连接。

    注意:

    对于 DHCP 中继代理,创建用户名时使用的 option 82 值基于在传出(中继)PDU 中编码的 option 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。

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

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

  • 链路本地地址。

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

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

对于 DHCPv6 本地服务器:

对具有通用 DHCP 配置的接口进行分组

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

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

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

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

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

Example- 2

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

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

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

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

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

Example: