HDLC+PPP+PAP认证+CHAP认证
HDLC和PPP
HDLC是点到点串行链路的帧封装格式。思科对它进行了专有化,与标准和HDLC有很大的不同 ,因此如果cisco与非cisco进行通信时,不能够使用此协议,并且它不提供验证的功能。
PPP也是串行线路上的一种帧封装格式,它可以提供对多个网络层协议的支持,PPP支持认证,多链路捆绑,回拨和压缩等 功能。
PPP有两种认证方式:PAP与CHAP
PAP利用再次扬的简单方法进行认证,在PPP链路建立完毕后,源节点不信地在链路上发送用户名与密码,起到验证通过,并且PAP验证是以明文传输的。
CHAP利用3次握手周期地验证源端节点的身份,CHAP的验证是在链路建立之后进行,CHAP不允许连接发起方没有收到询问消息的情况下进行验证尝试。CHAP不直接传送密码,只传送一个不可预测的询问消息以及该询问消息与密码经过MD5加密运算后的加密值。
实验:PPP封装
拓扑图
1》配置两个路由器互通
Router1
Router>enable
Router#conf
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int s2/0
Router(config-if)#ip address 192.168.1.1 255.255.255.0
Router(config-if)#clock rate 128000
Router(config-if)#no shutdown
Router2
Router>enable
Router#conf
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int s2/0
Router(config-if)#ip address 192.168.1.2 255.255.255.0
Router(config-if)#no shutdown
2》Router1 ping Router2 测试互通
Router#ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 18/28/31 ms
3》在两个路由器上封装PPP协议
注:在CISCO路由器上默认的封装的是HDCL协议,而不一样的协议是不可以互通的,我们可以测试下
(1)首先我们可以先看下,路由器中默认封装的协议
Router#show int s2/0
Serial2/0 is up, line protocol is up (connected)
Hardware is HD64570
Internet address is 192.168.1.1/24
MTU 1500 bytes, BW 128 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation HDLC, loopback not set, keepalive set (10 sec)//这一行显示了封装的协HDLC
Last input never, output never, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0 (size/max/drops); Total output drops: 0
(2)现在在Router1上开始封装PPP协议
Router(config)#int s2/0
Router(config-if)#encapsulation ppp
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/0, changed state to dow //可以看到封装了不同的协议之后,路由器的端口就直接的关闭了。
(3)现在可以ping一下Router2就可以看到 ping不通了
Router#ping 192.168.1.2
T ype escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
(4)现在来在Router2上封装PPP协议
Router(config)#int s2/0
Router(config-if)#encapsulation ppp
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/0, changed state to up //端口立刻被激活
(5)现在可以再次测试一下,Router1 ping Router2
Router#ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 31/31/32 ms
封装成功。
PAP双向认证
本实验是建立在上一节实验的基础之上,两台路由器可以互通,并且都已经封装了PPP协议
如图
在认证时,分为认证方与被认证方,中心路由器也即认证方,它享有认证另外的路由器是否允许通过本路由器的功能,而远程路由器(被认证方)要想通过中心路由器,要有中心路由器的认证通过,否则就不能进行通信。认证方与被认证方是可以相互的。
1》 将Router1作为中心路由器,Router2作为远程路由器
配置
在Router1上进行配置
Router>enable
Router#conf
Router(config)#int s2/0
Router(config-if)#ppp authentication pap //配置pap认证
Router(config-if)#username r2 password 123456 //为远程用户设置用户名与密码
在Router2 上进行配置
Router>enable
Router#conf
Router(config)#int s2/0
Router(config-if)#ppp pap sent-username r2 password 123456 //配置在�侣酚善魃系锹嫉挠没�名及密码,如果不与中心路由器上为用户设置的登录名与密码一样的话,认证则不会成功。
现在在Router1上PING Router2时可以PING通
Router#ping 192.168.1.2
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/25/32 ms
为了测试正确性,我们可以把被认证方的用户名或密码故意写错,使他们认证不成功,看是否还能PING通
修改如下,加入这两句
Router(config-if)#no ppp pap sent-username r2 password 123456
Router(config-if)#ppp pap sent-username r2 password abcd1234
Router(config-if)#shutdown //闭关此端口
Router(config-if)#no shutdown //再开启端口,进行验证
Router#ping 192.168.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
2》 将Router2作为中心路由器,Router1作为远程路由器
配置
Router1
Router(config)#int s2/0
Router(config-if)#ppp authentication pap
Router(config-if)#username r1 password 123456
Router2
Router(config)#int s2/0
Router(config-if)#ppp pap sent-username r1 password 123456
测试,使用Router1 PING Router2
Router#ping 192.168.1.2
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/6/9 ms
3》双向配置就算完成了,要想两个路由器可以正常通信,必须双向都要验证成功才可以,否则,若有一方不成功,就不可以通信。
CHAP认证
CHAP的认证是通过使用路由器的名字进行验证,认证方在自己的系统中设置被认证方的用户名与密码,被验证方也要使用对方路由器名字与密码进行验证,他们双方的密码必须是相同的。
原理
CHAP为三次握手协议,它只在网络上传送用户名而不传送口令,因此安全性比PAP高。在验证一开始,不像PAP一样是由被验证方发送认证请求报文了,而是由验证方向被验证方发送一段随机的报文,并加上自己的主机名,我们通称这个过程叫做挑战。当被验证方收到验证方的验证请求,从中提取出验证方所发送过来的主机名,然后根据该主机名在被验证方设备的后台数据库中去查找相同的用户名的记录,当查找到后就使用该用户名所对应的密钥,然后根据这个密钥、报文ID和验证方发送的随机报文用Md5加密算法生成应答,随后将应答和自己的主机名送回,同样验证方收到被验证方发送回应后,提取被验证方的用户名,然后去查找本地的数据库,当找到与被验证方一致用户名后,根据该用户名所对应的密钥、保留报文ID和随机报文用Md5加密算法生成结果,和刚刚被验证方所返回的应答进行比较,相同则返回Ack,否则返回Nak。
拓扑图
配置
在Router1 中进行配置
Router>enable
Router#conf
Router(config)#hostname r1 //
r1(config)#username r2 password abcd1234
r1(config)#int s2/0
r1(config-if)#ppp authentication chap
在Router2中进行配置
Router>enable
Router#conf
Router(config)#hostname r2
r2(config)#username r1 password abcd1234
r2(config)#int s2/0
r2(config-if)#ppp authentication chap
在Router1上PING Router2
r1#ping 192.168.1.2
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/8 ms
如果我们把用户名或者密码故意写错看一下结果吧
r1(config)#username r2 password 123456
r1(config)#no username r2 password abcd1234
r1(config)#int s2/0
r1(config-if)#shutdown
r1(config-if)#no shutdown // 重新启动一下端口
测试
r1#ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)