一、PPPoE介绍
- PPP在RFC1661中描述,是针对拨号连接的解决方案
- PPP是一种分层的协议,物理层用来进行实际的点到点连接。由链路控制层(LCP)发起对链路的建立、配置和测试。 在LCP初始化完成后,通过一种或多种网络控制协议来传送特定协议族的通信
- PPPoE是指在以太网上进行拨号因特网连接
- PPPoE是目前使用最为广泛的广域网协议,因为其具有以下几个特征:
- 能够控制数据链路的创建
- 能够对 IP 地址进行分配和管理
- 采用应用最广泛的以太网介质传输
- 能够配置链路并对链路进行质量测试和错误检查
二、身份验证功能
- PPPoE也支持身份验证,身份验证选项用于创建链路的发起方输入信息,用于确保发起方发起连接时拥有管理员的许可
-
可供选择的验证方式有两种:
-
PAP(密码验证协议):以客户端明文方式传递用户名和密码,服务器和本身所存 储的密码进行比较验证。
-
CHAP(握手质询验证协议):服务器向客户端发送挑战消息,客户端使用密码和 挑战消息计算出请求值再次发送给服务器。服务器将请求消息和本地计算出的字符串进行 对比,如果符合则身份验证通过,否则拒绝下一步请求(CHAP 密码不在网络中明文传输,因此保证了密码不被泄漏。另外使用了不可预知的, 可变随机值来防止回放攻击)
CHAP 验证过程

-
第一步:首先由客户端发起连接请求
-
第二步:服务器收到连接请求后向客户端发送一个CHAP质询消息(服务器保存随机数和ID以便后续计算认证)。CHAP 质询消息包含以下内容:
- 质询分组的类型标识符
- ID:标识该质询分组的***
- Random=随机数
- 质询方的认证名
-
第三步:客户端收到质询消息,并进行解析。解析完成后将***、随机数和口令连接到 一起并计算 MD5 值,这是一个单向 MD5 哈希值,不能从结果计算出原始值,但可以从 MD5 值来判断原始值是否正确。这个数值放在请求中当作认证信息发送给服务器。报文包含以下4部分内容:
- 02:CHAP 回应分组类型标识符
- ID:***,从质询分组中复制而来
- Hash 字符串,随机值和口令的哈希值
- 设备认证名称
-
第四步:服务器收到带有认证的连接请求报文后,从***找出原始的质询随机数,将****、随机数及口令使用 MD5 算法计算哈希值。将自己计算的哈希值和客户端请求的哈 希值进行比较,如果一致则认证通过,否则认证失败
-
认证成功消息包含以下 3 部分内容:
- 03:CHAP 认证成功消息类型标识符。
- ID:***,是会话的标识,直接从认证请求中复制而来
- “Welcome in”:文本消息,表示认证通过
-
如果认证失败,则发送认证失败消息,主要包含以下内容:
- 04:CHAP 认证失败消息类型标识符
- ID:***,是会话的标识,直接从认证请求中复制而来
- “Authentication failure”:文本消息,表示认证失败。
三、PPPoE配置
- 最典型的是用户名和密码,配置文件为/etc/ppp/chap-secrets,由用户名、提供者和密码3部分组成



相关文章:
-
2022-12-23
-
2021-12-27
-
2021-08-08
-
2021-10-22
-
2022-12-23
-
2021-06-04
-
2022-12-23
猜你喜欢
-
2022-01-15
-
2022-01-18
-
2021-11-30
-
2022-12-23
相关资源
-
下载
2022-12-21
-
下载
2021-06-06
-
下载
2021-06-05