单向认证,R2对R1进行认证
R2上面创建用户,注意此时用户的级别一定是network,不能是manager!!
第一个用户
local-user 1user class network
password password 123
service-type ppp第二个用户
local-user 2user class network
password password 321
service-type ppp
R2可以建立多个用户(这些用户的类型必须是service-type必须是ppp!!!),然后被验证方R1在S1/0接口上可以用上述用户中的一个来验证。
然后在接口上面选择ppp chap 认证
接着R1就可以在接口进行认证啦
注意:每次修改配置,都需要shutdown,然后undo shutdown!
双方成功UP!
上面我们用的是用户1user,这次我们用2user,密码是321
然后也是UP的!
双向认证
当使用双向认证时,双方配置相似,可以各自使用不同的账户密码。但是,若使用的密码相同,则在接口向对方配置认证时,可以不用配置 ppp chap password 用户密码,但是必须配置 ppp chap user 用户名!!!
因为在哈希时,是将ID、随机数、密码做哈希,本地接口没有配置 ppp chap password 用户密码,则查本地数据库,将那个密码做哈希,则认证方核对哈希时是一致的,则认证通过。
猜测:如若本地有多个ppp账户密码,则此次不可如此!缘由是它不知道用哪个密码去认证!此次须在接口指定配置对方的密码~(仅仅猜测)
当然,配置的用户名当是对方配置的用户名。
ppp
point-to-point protocal 点到点链路协议
p2p(point-to-point)是一个网络类型,如ospf里面的MA网络,p2p网络类型。
Configure NAK 是参数不匹配,表示我看得懂这个字段,但是我不太认同。所以我会发一个NAK表示拒绝,但是同时我会告诉你我哪个字段表示不匹配。比如:密码认证密码或账号错误,认证方式不一样。
Configure reject是参数不识别,表示我不认得这个字段,而且我会告诉你哪个字段我看不懂。如一方配了认证,一方没有配。如R1一方是pap,R2一方没有配。开始双方发Request,然后R1发ack表示确认,但是R2不认识认证协议,于是就发一个reject,并告诉R1这个我不认识,然后,R1删除认证字段,重新发Request,这样R2就可以识别了,于是发ack,之后,R1会发一个terminal request告诉我要终止啦,然后R2发一个aterminal ck确认。然后过了一个周期再次循环上述过程。
CHAP 认证
chap认证是加密传输的,认证方首先需要做一个挑战,对ID,随机数,和自己的System ID发送给对方,然后接收方将密码,ID,随机数做一个哈希得到MD5结果,连同明文的用户名(验证的用户名)发给认证方,认证方通过用户名在数据库中比对找出密码,ID,随机数做MD5运算与收到的哈希比较,一致则通过。
由于是先从认证方开始的,因此避免了黑客追求快而大量暴力破解,也因为密文传输安全性增强。
而pap是被认证方直接发送明文报文给认证方,一旦正确即可完成认证,因此可以暴力破解!只有两次认证,而chap三次握手。
NCP协商
请求地址时原地址是0.0.0.0.NAK回包会给他一个地址。
interface Serial4/0/0
ppp ipcp default-route Install default route through negotiated peer IP address
同样也可分配DNS或者主动向对端请求DNS。
PPPoE
它分为三个阶段
它是基于以太网的,开始的PADI,PADO,PADR,PADS都是在二层上面的,用于建立会话,确认会话,主要包括Session ID,Mac地址,这样运行商可以取根据你的这些独一信息做管理
然后开始进行ppp LCP的协商,然后认证,最后做NCP的协商。
在NCP阶段,客户端的地址为0.0.0.0,然后服务端会回一个NAK,并携带一个地址给它,最后request,ack。
PPPoE的MTU最多为1492,之所以少了8字节,是因为
故而最大1492字节。
注意,ppp之所以在以太网上面传输,只因为二层还是以太网封装,另外上面的PPPoE server 要配置一个虚拟接口,报文都是这个处理的,所以这个虚拟接口是PPP接口,而实际的G0/0/0是以太网接口,它只起到一个转发的作用,只要这个接口是UP就可以。同样,Windows拨号有一个虚拟的宽带连接网卡,数据也都是这个网卡来处理的,实际发送的话,Windows默认所有网卡都发送,对应上面的PPPoE client,dialer是处理数据的,G0/0/0也只是达到一个发送的作用而已,所以这条路上的两个G0/0/0没有地址都可以。