PPP 挑战握手身份验证协议
PPP 挑战握手身份验证协议
对于具有 PPP 封装的接口,您可以配置接口以支持 RFC 1994 年 PPP 挑战握手身份验证协议 (CHAP) 中定义的 PPP 挑战握手身份验证协议 (CHAP)。在接口上启用 CHAP 时,接口可以对其对等方进行身份验证,并通过其对等方进行身份验证。默认情况下,PPP CHAP 已禁用。如果 CHAP 未明确启用,则接口不会出现 CHAP 挑战,并拒绝所有传入的 CHAP 挑战。要启用 CHAP,必须创建访问配置文件,并且必须将接口配置为使用 CHAP。
CHAP 允许 PPP 链路的每一端对等方进行身份验证,如 RFC 1994 中定义。认证方向其对等方发送一个随机生成的挑战,即对等方必须使用单向 散列进行加密;然后,对等方必须对加密结果做出响应。哈希的密钥是只有认证方才知道并经过身份验证的秘密。收到响应时,验证方会将其计算结果与对等方的响应进行比较。如果它们匹配,则对等方将经过身份验证。
链路的每个端都通过将其名称包括在其发送给对等方的 CHAP 挑战和响应数据包中,向其对等方标识自身。此名称默认用于本地主机名,或者您可以使用 local-name
选项显式设置。当主机在特定接口上收到 CHAP 挑战或 CHAP 响应数据包时,它会使用对等方身份查找要使用的 CHAP 密钥。
配置 PPP 挑战握手身份验证协议
要启用 CHAP,您必须创建访问配置文件,并且必须将接口配置为使用 PAP。
定义:
profile
是对等方标识符和 CHAP 密钥之间的映射。CHAP 挑战中包含的对等方身份,或响应查询要使用的密钥配置文件。client
是对等方身份chap-secret
是与该对等方关联的秘密密钥。
要创建访问配置文件,请在
[edit access]
层级包括profile
语句:[edit access] user@host# set profile profile-name {
要识别与该对等方关联的对等方和密钥,请在层次结构级别中
[edit access profile profile-name]
包含client
语句:[edit access profile profile-name] user@host# set client client-name chap-secret chap-secret
您可以配置多个 CHAP 配置文件,并为每个 配置文件配置多个客户端。有关如何配置接入配置文件的详细信息,请参阅 点对点协议 (PPP) 和第 2 层通道协议 (L2TP)。
将接口配置为使用 CHAP 时,必须将访问配置文件分配给接口。当接口收到 CHAP 挑战和响应时,数据包中的访问配置文件用于查找共享密钥,如 RFC 1994 中定义。如果未发现接口收到的 CHAP 挑战的匹配访问配置文件,则使用可选配置的默认 CHAP 密钥。如果对等方的 CHAP 名称未知,或者 CHAP 名称在 PPP 链路协商期间更改,默认 CHAP 密钥将很有用。
要在带有 PPP 封装的每个物理接口上配置 PPP CHAP,请执行以下步骤。
显示已配置的 PPP 挑战握手身份验证协议
目的
要在和[edit interfaces]
层次结构级别上显示已配置的 [edit access]
PPP CHAP。
访问配置文件 —
pe-A-ppp-clients
默认 CHAP 密钥数据 —
"$ABC123"
CHAP 挑战和响应数据包主机名 —
"pe-A-so-1/1/1"
接口 - so-1/1/2
行动
show
在层次结构级别上[edit access]
运行 命令。profile pe-A-ppp-clients; client cpe-1 chap-secret "$ABC123"; # SECRET-DATA [edit interfaces so-1/2/0] encapsulation ppp; ppp-options { chap { access-profile pe-A-ppp-clients; default-chap-secret "$ABC123"; local-name "pe-A-so-1/1/1"; } }
show
在层次结构级别上[edit interfaces s0-1/1/2]
运行 命令。ppp-options { chap { access-profile pe-A-ppp-clients; default-chap-secret "$ABC123"; local-name “pe-A-so-1/1/2"; } }
意义
配置的 CHAP 及其关联的设置选项将按照预期显示。
示例:配置 PPP CHAP
[edit] access { profile pe-A-ppp-clients { client cpe-1 chap-secret "$ABC123"; # SECRET-DATA client cpe-2 chap-secret "$ABC123"; # SECRET-DATA } } interfaces { so-1/1/1 { encapsulation ppp; ppp-options { chap { access-profile pe-A-ppp-clients; local-name "pe-A-so-1/1/1"; } } } so-1/1/2 { encapsulation ppp; ppp-options { chap { passive; access-profile pe-A-ppp-clients; local-name "pe-A-so-1/1/2"; } } } }