路由器配置PPP协议 CHAP验证 PAP验证

来源 https://www.cnblogs.com/tcheng/p/5967485.html

PAP是两次握手,明文传输用户密码进行认证;CHAP是三次握手,传输MD5值进行认证。

PAP:

CHAP:

PPP协议是一种点——点串行通信协议。PPP具有处理错误检测、支持多个协议、允许在连接时刻协商IP地址、允许身份认证等功能,还有其他。PPP提供了3类功能:成帧;链路控制协议LCP;网络控制协议NCP。PPP是面向字符类型的协议。

PPP协议的验证分为两种:一种是PAP,一种是CHAP。相对来说PAP的认证方式安全性没有CHAP高。PAP在传输password是明文的,而CHAP在传输过程中不传输密码,取代密码的是hash(哈希值)。PAP认证是通过两次握手实现的,而CHAP则是通过3次握手实现的。

一、CHAP验证

给个今天的配置例子:

R1 R2两台路由器需要互相通信,即两方都有机会发出请求:

R1(config)#user R1 pas kxm   //为本机设置密码

R1(config)#user R2 pass kxm //对端密码 R2 是对端名称 kxm是对端密码

R1(config)#int se 0/1/1

R1(config-if)#enc ppp     //对serial 0/1/1 串口使用ppp协议

R1(config-if)#ppp au chap//使用chap验证

R1(config-if)#no shu

R1(config-if)#ex

R2(config)#user R2 pas kxm   //为本机设置密码

R2(config)#user R1 pass kxm //对端密码 R3 是对端名称 kxm是对端密码

R2(config)#int s 0/1/0

R2(config-if)#enc ppp//对serial 0/1/0 串口使用ppp协议

R2(config-if)#ppp au chap //使用chap验证

R2(config-if)#no shu

R2(config-if)#ex

配置好即可通信成功,当只配置一条链路的其中一边的路由器时,端口状态为down。只有当两边路由器都配置成功时,端口才为up。

以上情况为两路由器需要互相通信是的情况。当存在服务器端和客户端时,客户端将只需要配置本地口令。

如上例改成R1为服务器端,R2为客户端,即只出现R2向R1发出请求的情况:

R1配置不变。

R2配置如下:

R2(config)#user R2 pas kxm   //为本机设置密码

CHAP的诊断

对于CHAP身份认证中出现的问题也可以利用debug ppp authentication命令进行诊断。

2、PAP验证

DCE设备端(RouterA)PPP封装之PAP验证设置(关键配置)

RouterA# configure terminal

RouterA(config)# username RouterB password 111

RouterA(config)# interface serial 0/0

RouterA(config-if)# encapsulation ppp

RouterA(config-if)# ppp authentication pap

RouterA(config-if)# ppp pap sent-username routera password 222

RouterA(config-if)# clock rate 64000

RouterA(config-if)# exit

DTE设备端(RouterB)PPP封装之PAP验证设置(关键配置)

RouterB# configure terminal

RouterB(config)# username routera password 222

RouterB(config)# interface serial 0/0

RouterB(config-if)# encapsulation ppp

RouterB(config-if)# ppp authentication pap

RouterB(config-if)# ppp pap sent-username routerb password 111

RouterB(config-if)# exit

与CHAP的差异见红字部分

三、两种认证方法的配置:

通信认证双方选择的认证方法可能不一样,如一方选择PAP,另一方选择CHAP,这时双方的认证协商将失败。为了避免身份认证协议过程中出现这样的失败,可以配置路由器使用两种认证方法。当第一种认证协商失败后,可以选择尝试用另一种身份认证方法。如下的命令配置路由器首先采用PAP身份认证方法。假如失败,再采用CHAP身份认证方法。

  RouterA(config-if)#ppp authentication pap chap

  如下的命令则相反,首先使用CHAP认证,协商失败后采用PAP认证。

  RouterA(config-if)#ppp authentication chap pap

PAP和CHAP的区别:

区别在于认证过程,PAP是简单认证,明文传送,客户端直接发送包含用户名/口令的认证请求,服务器端处理并回应。而CHAP是加密认证,先由服务器端给客户端发送一个随机码challenge,客户端根据challenge对口令进行加密,算法是md5(password,challenge,ppp_id).然后把这个结果发送给服务器端.服务器端从数据库中取出口令password2,同样进行加密处理。最后比较加密的结果是否相同.如相同,则认证通过,向客户端发送认可消息

PAP和CHAP的意思:

GPRS设置中的PAP鉴权和CHAP鉴权有何区别分类:PAP和CHAP是目前的在PPP中普遍使用的认证协议。PAP是简单二次握手身份验证协议,用户名和密码明文传送,安全性低.PAP全称为:Password Authentication Protocol。CHAP是一种挑战响应式协议,三次握手身份验证,口令信息加密传送,安全性高. CHAP全称为:Challenge Handshake Authentication Protocol。

路由器配置PPP协议 CHAP验证 PAP验证的更多相关文章

  1. 路由器配置深入浅出—路由器接口PPP协议封装及PAP和CHAP验证配置

    知识域: 是针对点对点专线连接的接口的二层封装协议配置 PPP的PAP和CHAP验证,cpt支持,不一定要在gns3上做实验. 路由器出厂默认是hdlc封装,修改为ppp封装后,可以采用pap验证或者 ...

  2. 路由器配置——OSPF协议(2)

    一.实验目的:使用OSPF协议达到全网互通的效果 二.拓扑图 三.具体步骤配置 (1)R1路由器配置 Router>enableRouter#configure terminalEnter co ...

  3. 路由器配置——OSPF协议(1)

    一.实验目的:用OSPF协议使全网互通 二.拓扑图 三.具体步骤配置 (1)R1路由器配置 Router>enableRouter#configure terminalEnter configu ...

  4. 详解eNSP下的PPP之MP、PAP/CHAP认证实验配置

    一.PPP MP实验(用虚拟模板配置) 1.拓扑图

  5. PPP协议总结

    PPP协议总结 PPP协议是一种在点到点链路上传输.封装网络数据包的数据链路层协议,PPP支持同步/异步方式的链路上. 一. PPP支持的链路类型 1. 同步和异步专线 2. 同步拨号链路. 3. 异 ...

  6. PPP或PPPOE身份验证PAP和CHAP

    PPP或PPPOE都支持身份验证,有两种验证方式:PAP和CHAP. PAP,Passwd Authentication Protocol,密码验证协议,以客户端明文方式传递用户名和密码,服务器和本省 ...

  7. 路由器基础配置之ppp封装下的pap,chap认证

    我们将以上面的拓扑图完成本次实验,路由器的默认封装为HDLC,要求为把路由器全被更改为ppp封装,并在router3与router4之间用pap认证,在router4与router5之间用chap认证 ...

  8. 路由器配置——PAP与CHAP认证

    一.实验目的:掌握PAP与CHAP认证配置 二.拓扑图: 三.具体步骤配置: (1)R1路由器配置: Router>enable  --进入特权模式 Router#configure termi ...

  9. PPP协议 PAP认证

       

随机推荐

  1. ReplaceChar

    好吧,给个char的,替换单个字符.这样会快一些吧,这个是置换,连长度都不用了 bool ReplaceChar(char *str,const char src, const char dst){ ...

  2. Logger日志配置级别说明及设置方法、说明

    日志记录器(Logger)是日志处理的核心组件.log4j具有5种正常级别(Level).日志记录器(Logger)的可用级别Level (不包括自定义级别 Level), 以下内容就是摘自log4j ...

  3. springboot整合mybatis笔记

    1首先创建一个springboot项目 创建项目的文件结构以及jdk的版本 选择项目所需要的依赖 之后点击finish,完成创建 2以下是文件结构 看一下啊pom.xml; <?xml vers ...

  4. oracle之bitmap索引

    oracle常见的索引是BTree索引和Bitmap索引. BTree索引特点: 默认索引 适合大量增删改查 不能用or操作符 适合高基数的列(即唯一值多) 创建sql:create index li ...

  5. (servlet页面跳转没有反应)

    问题:页面跳转到/UserManager/LoginCLServlet,就一直没有反应,无法继续执行下去(servlet页面跳转没有反应) 解决: doPost()方法里面必须写成这样 正确的写法:  ...

  6. 【转载】C语言itoa()函数和atoi()函数详解(整数转字符C实现)

    本文转自: C语言itoa()函数和atoi()函数详解(整数转字符C实现) 介绍 C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串. int/float to ...

  7. Spark Streaming 交互 Kafka的两种方式

    一.Spark Streaming连Kafka(重点) 方式一:Receiver方式连:走磁盘 使用High Level API(高阶API)实现Offset自动管理,灵活性差,处理数据时,如果某一时 ...

  8. python -- configparse读取配置文件

    在开发过程中,有的时候需要将一些参数写入到配置文件中,这样在改动一些相关信息时,可以直接在配置文件中进行修改. 而在python中,可以通过内置模块configparse对标准的配置文件进行读取. 配 ...

  9. Makefile (2) gdb

    gdb调试 1.用debug的方式编译 -g 2.打上断点 3.单步调试 step into 进入函数里面 step over 运行整个函数 step return 跳出当前函数 4.继续运行 5.打 ...

  10. 笔记-python -asynio

    笔记-python -asynio 1.      简介 asyncio是做什么的? asyncio is a library to write concurrent code using the a ...