PPP协议:点对点协议,是一种点到点方式的链路层协议,它是在SLIP协议的基础上发展起来的。
PPP的主要组成及其作用如下:
1:链路控制协议(LCP):主要用于管理PPP数据链路,包括进行链路层参数的协商,建立,拆除和监控数据链路等。
2:网络控制协议(NCP):主要用于协商所承载的网络层协议的类型及其属性,协商在该数据链路上所传输的数据包的格式与类型,配置哇甘咯层协议等。
3:验证协议PAP和CHAP:主要用来验证PPP对端设备的身份合法性,在一定程度上保证链路的安全性。
PPP验证:
一:PAP验证:
(1)被验证方以明文发送用户名和密码到主验证方。
(2)主验证方核实用户名和密码。如果此用户合法且密码正确,则会给对端发送ACK消息,通告对端验证通过,允许进入下一阶段协商;如果用户名不正确,则发送NAK消息,通告对端验证失败。
PAP验证配置实例:
1:先用Serial线连接;
(1)指定RTA为主验证方,验证方式为PPP
[H3C]interface s1/0
[H3C-Serial1/0]ip address 192.168.0.1 24
[H3C-Serial1/0]ppp authentication-mode pap
(2)在RTA上指定将RTB的用户名和口令添加到本地用户列表
[H3C]local-user routerb class network(这里需要注意一下,因为版本不同,要验证PPP服务类型,所以后面必须要跟上class network)
[H3C-luser-network-routerb]password simple 123
[H3C-luser-network-routerb]service-type ppp
(3)在RTB上配置RTB为被验证方,用户名为routerb,密码为123
[H3C]interface s1/0
[H3C-Serial1/0]ip address 192.168.0.2 24
[H3C-Serial1/0]ppp pap local-user routerb password simple 123
需要注意一下,这是单向验证,双向验证不用多说,在RTB上按照RTA的方法在做一遍就行;
二:CHAP验证:
1:主验证方主动发起验证请求,向被验证方发送一个随机数值,并同时将本端的用户名一起发送给被验证方。
2:被验证方收到主验证方的验证请求之后,检查本地密码。
3:主验证方用MD5算法对报文ID,本地保存的被验证方密码和原随机数生成的一个摘要,并于收到的摘要值进行比较。如果相同,则向被验证方发送A从knowledge消息声明验证通过;如果不通过,则发送Not Acknowledge.
CHAP验证配置示例:
(1)指定RTA为主验证方,验证方式为CHAP验证,配置RTA为自己的用户名为routera
[H3C]interface s1/0
[H3C-Serial1/0]ip address 192.168.0.1 24
[H3C-Serial1/0]ppp authentication-mode chap
[H3C-Serial1/0]ppp chap user routera
(2)在RTA上将RTB的用户名和口令添加到本地用户列表
[H3C]local-user routerb class network
[H3C-luser-network-routerb]password simple 123
[H3C-luser-network-routerb]service-type ppp
(3)在RTB上将RTA的用户名和密码添加到本地用户列表
[H3C]local-user routerb class network
[H3C-luser-network-routerb]password simple 123
[H3C-luser-network-routerb]service-type ppp
(4)配置RTB自己的用户名为routerb
[H3C]interface s1/0
[H3C-Serial1/0]ip address 192.168.0.2 24
[H3C-Serial1/0]ppp chap user routerb
在这里配置双向验证的时候,只需要在被验证方添加ppp authentication-mode chap这条命令即可。
注意:配置CHAP验证时,被验证方发送的username必须与主验证方的username相同,而且对应的password也要一致。
本文转自 towardly 51CTO博客,原文链接:http://blog.51cto.com/brighttime/1922206