使用外部 AAA 身份验证服务的 DHCP 客户端身份验证
指定身份验证支持
在表 1 中给出的层次结构级别上包括authentication
语句。您可以配置全局身份验证支持,也可以配置特定于组的支持。
支持的层次结构级别 |
层次结构级别 |
---|---|
DHCP 本地服务器 |
|
DHCP 中继代理 |
|
DHCPv6 本地服务器 |
|
DHCPv6 中继代理 |
|
为 DHCP 客户端创建唯一用户名
您可以将扩展的 DHCP 应用程序配置为在 DHCP 客户端登录时传递给外部 AAA 身份验证服务的用户名中包含附加信息。通过这些附加信息,您可以构建可唯一标识订阅者(DHCP 客户端)的用户名。
要配置唯一用户名,请使用语 username-include
句。您可以包含任何或所有附加语句。
authentication { username-include { circuit-type; client-id <exclude-headers> <use-automatic-ascii-hex-encoding>; delimiter delimiter-character; domain-name domain-name-string; interface-description (device-interface | logical-interface); interface-name; logical-system-name; mac-address; option-60; option-82 <circuit-id> <remote-id>; routing-instance-name; user-prefix user-prefix-string; } }
如果身份验证配置中未包含用户名,则路由器(或交换机)不会执行身份验证;但是,如果配置了 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 中继代理:
user-prefix[delimiter]mac-address[delimiter]logical-system-name[delimiter]routing-instance-name[delimiter]circuit-type[delimiter]interface-name[delimiter]option-82[delimiter]option-60@domain-name
对于 DHCPv6 本地服务器:
user-prefix[delimiter]mac-address[delimiter]logical-system-name[delimiter]routing-instance-name[delimiter]circuit-type[delimiter]interface-name[delimiter]relay-agent-remote-id[delimiter]relay-agent-subscriber-id[delimiter]relay-agent-interface-id[delimiter]client-id@domain-name
示例 - 使用外部认证服务器配置 DHCP
要在 DHCP 本地服务器、DHCPv6 本地服务器、DHCP 中继代理和 DHCPv6 中继代理级别配置身份验证。
以下示例显示了创建唯一用户名的示例配置。用户名显示在配置之后。
authentication { username-include { circuit-type; domain-name example.com; mac-address 2001:db8::/32; user-prefix wallybrown; } }
生成的唯一用户名为:
wallybrown.2001:db8::/32.enet@example.com