ppp简介
PPP(点对点协议)为在点对点连接上传输多协议数据包提供了一个标准方法,是数据链路层封装协议的一种方法,支持同步和异步两种传输方式。(除了PPP还有HDLC等,不过HDLC只支持同步方式)
PPP优点:
1、支持同步传输和异步传输
2、具有良好的扩展性,当需要在以太网链路上承载PPP协议时,可扩展为PPPoE
3、提供了LCP(Link Control Protocol)协议,用于各种链路层参数协商
4、提供了各种NCP(Network Control Protocol),用于网络层参数协商(支持多种网络层协议,例如IP、IPX协议)
5、提供了认证:CHAP 、PAP
6、没有重传机制,网络开销小,速度快
PPP定义的(3大部分)
LCP: 用于各种链路层协商参数(MTU、是否身份验证、CHAP还是PAP等),主要用来建立、监控和拆除数据链路
PAP/CHAP: 验证认证,保护网络安全性
各种NCP协议: 用于网络层参数协商,更好的支持了网络层协议(例如IP的NCP协议为IPCP、IPX的NCP协议为IPXCP等)
PPP建立连接的五种状态(阶段)
Dead 链路不可用阶段
Establish 链路建立阶段(链路层协商阶段)–进行LCP协商
Authenticate 验证阶段(可选阶段)-----进行PAP/CHAP认证
Network 网络层协议阶段-----------进行NCP协商
Terminate 网络终止阶段
ppp协议所处的位置
ppp报文的结构
PPP链路建立过程
其中Authenticate阶段主要有2中验证类型密码验证协议PAP(Password Authentication Protocol)和质询握手验证协议CHAP(Challenge-Handshake Authentication Protocol)两种验证方式。
PAP认证报文交互过程
PAP验证协议为两次握手验证,密码为明文。被验证方发起认证,认证通过后不再认证
CHAP认证报文交互过程
CHAP验证协议为三次握手验证协议。它只在网络上传输用户名,而并不传输用户密码,因此安全性要比PAP高。验证方发起认证挑战,认证成功后,再次连接还需要认证。
认证方先发送一个随机数给请求方(可以选择是否携带用户名)
请求方收到之后用密码把随机数加密(hash),哈希完成之后把密文发送给认证方(携带用户名)
认证方同样把随机数通过密码进行hash,然后比较,如果一致则认证成功
PPP认证协议的基本概念
什么是PPP认证协议?
PPP认证协议(Point-to-Point Protocol Authentication Protocol)是一种用于认证和授权网络连接的协议。它建立在PPP协议之上,用于验证用户的身份,并确保只有经过身份验证的用户可以访问网络资源。
PPP认证协议的主要特点和优势
PPP认证协议具有以下主要特点和优势:
安全性:PPP认证协议提供了一种安全的身份验证机制,确保只有合法用户可以获得网络访问权限。
灵活性:PPP认证协议支持多种身份验证方法,包括基于密码的PAP、挑战-握手的CHAP和可扩展的EAP等,使得协议在不同的网络环境中具有灵活的应用性。
可靠性:PPP认证协议通过在连接建立阶段进行身份验证,确保网络连接的可靠性和稳定性。
兼容性:PPP认证协议与各种网络类型兼容,包括拨号、以太网和无线网络等,使得它可以广泛应用于不同的网络环境中。
PPP认证协议的工作原理
PPP认证协议的工作原理如下:
连接建立:在PPP协议建立连接之后,客户端和服务器之间开始进行认证协商。
客户端请求认证:客户端向服务器发送认证请求,包含自己的身份信息。
服务器响应:服务器收到客户端的认证请求后,根据配置的认证方式进行响应。
身份验证:根据所选的认证方式,客户端和服务器进行身份验证。例如,PAP协议使用明文密码验证,CHAP协议使用挑战-握手的方式验证。
认证结果:根据身份验证的结果,服务器将向客户端发送认证成功或失败的响应。
授权访问:如果认证成功,服务器将授权客户端访问网络资源。否则,拒绝访问并终止连接。
常见的PPP认证协议
PAP(Password Authentication Protocol)
协议描述和工作原理
PAP是一种简单的基于密码的认证协议。在PAP认证过程中,客户端将明文密码发送给服务器进行验证。协议的工作原理如下:
客户端向服务器发送认证请求,携带用户名和明文密码。
服务器接收请求后,将明文密码与存储的密码进行比对验证。
服务器发送认证结果给客户端,表示认证成功或失败。
PAP的安全性和局限性
PAP协议的主要安全性问题在于密码的明文传输。密码在传输过程中没有进行加密,容易受到窃听和中间人攻击的威胁。因此,PAP在安全性方面较弱,并且在实际应用中使用较少。
CHAP(Challenge Handshake Authentication Protocol)
协议描述和工作原理
CHAP是一种挑战-握手式的认证协议。在CHAP认证过程中,服务器向客户端发送一个随机的挑战字符串,客户端使用密码和挑战字符串生成一个摘要,并将其发送给服务器进行验证。协议的工作原理如下:
服务器向客户端发送一个挑战字符串。
客户端使用密码和挑战字符串计算出一个摘要,并将其发送给服务器。
服务器收到客户端的摘要后,使用相同的算法进行计算,并将结果与客户端发送的摘要进行比对验证。
CHAP的安全性和优势
CHAP协议通过挑战-握手的方式,在传输过程中不发送明文密码,提高了安全性。每次认证都使用不同的随机挑战字符串,增加了破解的难度。CHAP还支持周期性的重新认证,进一步提高了安全性。 EAP(Extensible Authentication Protocol)
协议描述和工作原理
EAP是一种可扩展的认证协议,提供了灵活的身份验证框架。EAP协议并不直接完成身份验证,而是在客户端和认证服务器之间进行协商,选择合适的认证方法进行身份验证。协议的工作原理如下:
客户端向服务器发送EAP认证请求。
服务器选择合适的认证方法,并将其通知给客户端。
客户端和服务器之间进行协商,选择认证方法和参数。
客户端和服务器使用所选的认证方法进行身份验证。
EAP的灵活性和扩展性
EAP协议具有高度的灵活性和扩展性,可以支持多种认证方法,如EAP-TLS、EAP-PEAP、EAP-TTLS等。这使得EAP协议适用于各种不同的网络环境和安全需求,提供了更强大的认证功能。
PPP认证协议的配置和应用
PPP认证协议的配置参数
配置PPP认证协议需要考虑以下参数:
认证类型:选择合适的认证类型,如PAP、CHAP或EAP等。
用户名和密码:配置正确的用户名和密码,用于认证用户身份。
认证服务器地址:指定认证服务器的地址,用于发送认证请求和接收认证响应。
在路由器和拨号服务器上配置PPP认证
在路由器和拨号服务器上配置PPP认证的具体步骤如下:
路由器端配置:
启用PPP认证:在路由器配置界面中启用PPP认证,并选择所需的认证类型。
配置用户名和密码:指定路由器的用户名和密码,用于与认证服务器进行身份验证。
配置认证服务器地址:指定认证服务器的IP地址或域名。
拨号服务器端配置:
配置认证类型:在拨号服务器配置中选择所需的PPP认证类型,如PAP、CHAP或EAP。
配置用户数据库:设置存储用户信息的数据库,包括用户名和密码等。
配置认证服务器地址:指定认证服务器的IP地址或域名。
PPP认证在互联网接入中的应用案例
PPP认证在互联网接入中有广泛的应用,以下是一些常见的应用案例:
宽带接入:在家庭或企业网络中,通过PPPoE(PPP over Ethernet)协议进行认证,实现宽带接入。
移动网络接入:移动网络运营商使用PPP认证协议来控制移动设备的接入,并确保只有授权用户可以使用网络服务。
远程访问:PPP认证协议可以用于远程访问服务器,以验证远程用户的身份,并提供安全的连接。
VPN接入:在虚拟专用网络(VPN)中,PPP认证协议用于用户与VPN服务器之间的认证,确保只有合法用户可以访问VPN资源。
ppp协议实验
配置步骤
配置IP地址略
在r2上创建用户r5,密码123,服务类型ppp。
[r2]local-user r5 class network
[r2-luser-network-r5]password simple 123
[r2-luser-network-r5]service-type ppp
在r5上创建用户r2,密码123,服务类型ppp。
[r5]local-user r2 class network
[r5-luser-network-r2]password simple 123
[r5-luser-network-r2]service-type ppp
在r2上进入端口S1/0,ppp认证为chap,用户名r2,密码123。
[r2]interface Serial 1/0
[r2-Serial1/0]ppp authentication-mode chap
[r2-Serial1/0]ppp chap user r2
[r2-Serial1/0]ppp chap password simple 123
在r5上进入端口S1/0,ppp认证为chap,用户名r5,密码123。
[r5]interface Serial 1/0
[r5-Serial1/0]ppp authentication-mode chap
[r5-Serial1/0]ppp chap user r5
[r5-Serial1/0]ppp chap password simple 123
测试
在r2上进入端口S1/0,关闭端口再开启,查看是否出现双up,出现则ppp配置完成。
[r2-Serial1/0] shutdown
[r2-Serial1/0]undo shutdown
PPPMP
概述:
MP是Multi-Link PPP的缩写,是将多个物理链路的PPP(注意是PPP链路)捆绑在同一个逻辑端口,旨在增加链路的带宽,只要是支持PPP的物理链路都可以启用MP,互相捆绑在同一个逻辑端口Dialer口。MP允许将IP等网络层的报文进行碎片处理,将碎片的报文通过多个链路传输,同时抵达同一个目的地,以求汇总所有链路的带宽。相较于以太网链路需要聚合链路来实现链路的聚合,MP协议本身就属于PPP中,也显得PPP的功能的强大。
MP聚合链路建立的过程:
1.检测对端是否工作在MP方式。首先和对端进行LCP协商,协商过程中,除了协商一般的LCP参数外,还验证对端接口是否也工作在MP方式下。如果对端不工作在MP方式下,则在LCP协商成功后,进行NCP协商步骤,不进行MP捆绑。
2.将接口捆绑至虚模板接口。有两种方法可以将接口捆绑至虚模板接口:直接捆绑和根据用户名或终端标识符捆绑。直接捆绑是指不检测PPP接口的用户名和终端标识符,直接将接口捆绑至指定的虚模板接口。根据用户名或终端标识符捆绑是指根据PPP验证的用户名或接口的终端标识符将接口捆绑至虚模板接口。
3.进行NCP协商等操作。PPP接口被捆绑至虚模板接口之后,将根据虚模板接口的各项NCP参数(如IP地址等)进行NCP协商,物理接口配置的NCP参数不起作用。NCP协商通过后,即可建立MP链路,用更大的带宽传输数据。
PPMP实验
本次配置为了增加带宽,提升链路可靠性,选择PPP MP协议,将两条链路绑定到一起。同时,采用双向验证,对R2来说,主验证方式R1;对R1来说主验证方是R2。
R1配置
1.1 创建MP-GROUP口,把接口加到MP-GROUP口中;
[R1]interface MP-group 1
[R1-MP-group1]quit
[R1]int s 1/0
[R1-Serial1/0]ppp mp MP-group 1
[R1-Serial1/0]int s 2/0
[R1-Serial2/0]ppp mp MP-group 1
[R1-Serial2/0]quit
1.2 进入,配置互联地址;
[R1]interface MP-group 1
[R1-MP-group1]ip address 10.1.1.1 30
[R1-MP-group1]quit
[R1]
1.3 配置主验证方的用户名、密码;
[R1]local-user admin1 class network
New local user added.
[R1-luser-network-admin1]password simple admin1
[R1-luser-network-admin1]service-type ppp
[R1-luser-network-admin1]dis this
#
local-user admin1 class network
password cipher $c$3$PFTYaSi7tpI4KvUsfEDHB5jH9H0QdHfMNg==
service-type ppp
authorization-attribute user-role network-operator
#
return
[R1-luser-network-admin1]quit
1.4 在物理口上配置验证模式,用户名及密码;
注意:1. 验证模式、用户名及密码在物理口上配置,而不是MP-GROUP口;2. 配置的用户名及密码是对R1来说主验证方R2的用户名密码,而不是R1上创建的PPP协议用户名及密码。
[R1]interface Serial 1/0
[R1-Serial1/0]ppp authentication-mode chap
[R1-Serial1/0]ppp chap password simple admin2
[R1-Serial1/0]ppp chap user admin2
[R1-Serial1/0]quit
[R1]interface Serial 2/0
[R1-Serial2/0]ppp authentication-mode chap
[R1-Serial2/0]ppp chap user admin2
[R1-Serial2/0]ppp chap password simple admin2
[R1-Serial2/0]quit
[R1]
R2配置
因为是双向验证,所以R2上配置与R1几乎完全相同,具体如下:
2.1 创建MP-GROUP口,把接口加到MP-GROUP口中;
[R2]interface MP-group 1
[R2-MP-group1]quit
[R2]int s 1/0
[R2-Serial1/0]ppp mp MP-group 1
[R2-Serial1/0]int s 2/0
[R2-Serial2/0]ppp mp MP-group 1
[R2-Serial2/0]quit
1.2 进入,配置互联地址;
[R2]interface MP-group 1
[R2-MP-group1]ip address 10.1.1.2 30
[R2-MP-group1]quit
[R2]
1.3 配置主验证方的用户名、密码;
[R2]local-user admin2 class network
New local user added.
[R2-luser-network-admin2]password simple admin2
[R2-luser-network-admin2]service-type ppp
[R2-luser-network-admin2]dis this
#
local-user admin2 class network
password cipher $c$3$DvNjNo3E/n8Jh7wIbNF6m2mTf5gL9XDIdA==
service-type ppp
authorization-attribute user-role network-operator
#
return
[R2-luser-network-admin2]quit
1.4 在物理口上配置验证模式,用户名及密码;
注意:1. 验证模式、用户名及密码在物理口上配置,而不是MP-GROUP口;2. 配置的用户名及密码是对R1来说主验证方R2的用户名密码,而不是R1上创建的PPP协议用户名及密码。
[R2]interface Serial 1/0
[R2-Serial1/0]ppp authentication-mode chap
[R2-Serial1/0]ppp chap password simple admin1
[R2-Serial1/0]ppp chap user admin1
[R2-Serial1/0]quit
[R2]interface Serial 2/0
[R2-Serial2/0]ppp authentication-mode chap
[R2-Serial2/0]ppp chap user admin1
[R2-Serial2/0]ppp chap password simple admin1
[R2-Serial2/0]quit
[R2]
四、配置验证
[R2]dis ip int b
*down: administratively down
(s): spoofing (l): loopback
Interface Physical Protocol IP Address Description
MP1 up up 10.1.1.2 --
Ser1/0 up up -- --
Ser2/0 up up -- --
Ser3/0 down down -- --
Ser4/0 down down -- --
[R2]ping 10.1.1.1
Ping 10.1.1.1 (10.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 10.1.1.1: icmp_seq=0 ttl=255 time=0.000 ms
56 bytes from 10.1.1.1: icmp_seq=1 ttl=255 time=1.000 ms
[R2]dis ppp mp
----------------------Slot0----------------------
Template: MP-group1
max-bind: 16, fragment: enabled, min-fragment: 128
Master link: MP-group1, Active members: 2, Bundle Multilink
Peer's endPoint descriptor: MP-group1
Sequence format: long (rcv)/long (sent)
Bundle Up Time: 2021/05/20 11:02:15:835
0 lost fragments, 10 reordered, 0 unassigned, 0 interleaved
Sequence: 9 (rcv)/10 (sent)
Active member channels: 2 members
Serial1/0 Up-Time:2021/05/20 11:02:15:835
Serial2/0 Up-Time:2021/05/20 11:02:36:740
e Multilink
Peer’s endPoint descriptor: MP-group1
Sequence format: long (rcv)/long (sent)
Bundle Up Time: 2021/05/20 11:02:15:835
0 lost fragments, 10 reordered, 0 unassigned, 0 interleaved
Sequence: 9 (rcv)/10 (sent)
Active member channels: 2 members
Serial1/0 Up-Time:2021/05/20 11:02:15:835
Serial2/0 Up-Time:2021/05/20 11:02:36:740