广域网协议PPP→CHAP验证详解

ZDNet软件频道 时间:2009-12-06 作者:中国IT实验室 | 中国IT实验室 我要评论()
本文关键词:协议 广域网 TCP
为了保证网络环境的安全性,我们需要在网络环境中设置验证机制,也就是说当某个用户的设备想要和你的设备实现通讯时,必须得经过你的身份验证。

    为了保证网络环境的安全性,我们需要在网络环境中设置验证机制,也就是说当某个用户的设备想要和你的设备实现通讯时,必须得经过你的身份验证。今天我们来看一下广域网协议PPP的身份验证。PPP的身份验证方式分为两种,一种为PAP验证,PAP验证有一个缺点,就是在验证用户身份时信息以明文传输,这样在验证过程中很有可能第三方会窃取验证信息,因而安全性较差。一种为CHAP验证,这种身份验证最大优点就是在验证过程中为加密验证,所以在网络中大多都采用的CHAP验证,因为它能够更好的保证网络的安全。今天我们就来一起开一下CHAP配置和验证过程

    CHAP验证过程:

   

    ①、A向B发起PPP连接请求
    ②、B向A声明,要求对A进行CHAP验证
    ③、A向B声明,同意验证
    ④、路由器B把“用户ID,随机数”发给路由器A
    ⑤、路由器A用收到的“用户ID和随机数”与“自己的密码”做散列运算
    ⑥、路由器A把“用户ID、随机数、散列结果”发给B
    ⑦、路由器B用收到的“用户ID、随机数”与“自己的密码”做散列运算,把散列运算结果与“A发过来的散列运算结果”进行比较,结果一样,验证成功;结果不一样,验证失败。

   

    下面我们开始配置CHAP验证,试验环境如上图

    一、搭建基本环境
    配置A路由器
    A(config)#int lo0 启用一个回环端口Lo0,代表A路由器内部网络
    A(config-if)#ip address 192.168.10.1 255.255.255.0
    A(config-if)#exit
    A(config)#int s1/0 配置广域网端口s1/1
    A(config-if)#ip address 202.110.100.1 255.255.255.0
    A(config-if)#encap ppp 封装广域网协议为PPP
    A(config-if)#clock rate 64000 A、B路由器由A路由器的S1/1提供时钟频率
    A(config-if)#no shut 激活广域网端口
    A(config-if)#exit
    A(config)#router rip 配置路由协议RIP第二个人版本
    A(config-router)#version 2
    A(config-router)#net 192.168.10.0
    A(config-router)#net 202.110.100.0

    配置B路由器
    B(config)#int s1/0 配置B路由器S1/0端口
    B(config-if)#ip address 202.110.100.2 255.255.255.0
    B(config-if)#encap ppp 封装广域网协议PPP
    B(config-if)#no shut 激活S1/0端口
    B(config-if)#exit
    B(config)#router rip 配置RIP协议的第二个版本
    B(config-router)#ver 2
    B(config-router)#net 202.110.100.0

    在配置完基本的框架后此时A、B路由器就可以相互通讯了,我们可是使用show ip route 命令分别查看一下A、B路由器的路由表

   

 

    为了能够更好的看出下面的试验效果,我们还要看一下端口的状态,使用show interface 端口号 查看端口状态。我们看到A、B路由器的S1/0端口和端口上的协议均处于UP状态,代表一切正常

   

clip_image010

 

clip_image012

    二、配置PPP的CHAP验证
    配置验证需要两步完成
    ①、配置验证所需的用户名和密码
    (config)#username 用户名 password 密码
    注:用户名为对方设备使用hostname设置的设备名。密码两端设备应配置相同
    ②、启用CHAP验证,在广域网端口上启用CHAP
    (config-if)#ppp authentication chap

    下面我们开始在A路由器上配置CHAP
    Aconfig)#username B password 123 对方设备的hostname为B,密码我们设置为123
    A(config)#int s1/0 进入广域网端口
    A(config-if)#ppp authentication chap 启用CHAP验证

    当在A路由器上设置完CHAP验证时A、B路由器同时提示S1/0端口协议为down状态,这是因为A路由器配置了CHAP验证,而路由器B没有通过身份验证所导致的结果

clip_image014

clip_image016

      

    我们还可以查看一下端口状态,下面显示A、B路由器广域网端口协议均为down状态

   

clip_image018

 

clip_image020

 

    现在我们在查看一下路由表,此时A、B路由器路由表中已经没有了对方的路由,因为A和B没有经过身份验证

  

clip_image022
clip_image024
 

    要想A。B可以实现通讯,必须两个设备CHAP验证成功,下面我们来配置B路由器上的验证信息
    B(config)username A password 123 对方的hostname 为A,密码为123
    B(config)#int s1/0 进入广域网端口
    B(config-if)#ppp authentication chap 启用CHAP验证

    在完成上面的配置后,两台设备均为自动提示广域网端口协议为UP状态

clip_image026
clip_image028

    查看路由表,此时两台路由器均会收到对方路由,证明CHAP验证成功,此时A、B路由器便可以相互通讯了

clip_image030
clip_image032

    我们可以在B路由器上ping一下A路由器的内部网络

clip_image034

    假如想更好的理解CHAP,我们可以debug ppp authentication命令进行调试,我们可以通过此命令看到两台路由器的验证过程
    首先我们关闭B路由器上广域网S1/0,然后在A路由器上输入debug ppp authentication,然后在打开B路由器的S1/0端口,此时A路由器出现如下信息(CHAP验证过程)

clip_image036

    小结:

    在配置完成后,我们可以使用shwo run 查看配置文件,当我们仔细查看配置文件时不禁恍然大悟——A、B路由器通过CHAP验证的用户名和密码均为明文,如下图

clip_image038

 

clip_image040

    很显然,这样是不安全的,当某些图谋不轨之人窃取到配置文件后后果就不言而喻了。为了解决这个办法,我们可以使用一个命令是配置文件由明文变为密文,我们分别在两台路由器上进行以下操作
    A(config)#service password-encryption
    B(config)#service password-encryption
    注:此命令不可逆

    下面我们在查看以下两台路由器的配置:此时显示的均为加密后的密码

clip_image042

 

clip_image044

    本文出自 “陆文举” 博客,请务必保留此出处http://luwenju.blog.51cto.com/620835/148983


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134