PPPoE(PPP over Ethernet)
一,介绍:
其他的二层技术都不具备认证技术
目前比较流行的宽带接入方式为ADSL
PPPoE报文是使用Ethernet格式进行封装的
二,报文类型:
PPPoE协议报文:
1.PADI 初始报文 init
2.PADO 提供报文 offer
3.PADR 请求报文 request
4.PADS 会话确认报文
5.PADT 终止报文 terminate
三,PPPoE会话建立过程:
1.发现阶段(Discovery) 获取对方以太网地址(MAC地址),以及确定唯一的PPPoE会话
----在逻辑上是一个点对点的链路(从PADI--->PADS)
2.会话阶段(Session)分为PPP协商阶段(LCP、认证、NCP)和PPP数据传输阶段
PPPoE Session上的PPP协商和普通的PPP协商方式一致,分为LCP、认证、NCP三个阶段。
1)LCP阶段主要完成建立、配置和检测数据链路连接。
2)LCP协商成功后,开始进行认证,认证协议类型由LCP协商结果(CHAP或者PAP)决定。
3)认证成功后,PPP进入NCP阶段。NCP是一个协议族,用于配置不同的网络层协议,常用的是IP控制协议(IPCP),它主要负责协商用户的IP地址和DNS服务器地址。
PPPoE Session的PPP协商成功后,就可以承载PPP数据报文。
在PPPoE Session阶段所有的以太网数据包都是单播发送的。
3.会话终止阶段(PADT)
----------------------------------------------------------------------------------------------------------------
四,PPPoE服务器端的配置
1)设备全局的用户名和密码用于认证
aaa,进入AAA视图;
local-user hcie password cipher huawei
local-user hcie service-type ppp
2)配置地址池,用于分发:
ip pool PPPoE1
network 202.100.1.0 mask 255.255.255.0
dns-list 114.114.114.114
3)配置虚拟模板和调用模板:
interface Virtual-Template 1 //创建虚拟模板并进入虚拟模板视图
ip address 202.100.1.1 255.255.255.0 ---华为设备从最高的IP开始分配,所以尽量配置号码小的地址
remote address pool PPPoE1 //指定为PPPoE Client分配IP地址的地址池。缺省情况下,PPPoE Server不为PPPoE Client分配IP地址。
前置任务
配置认证:
(1)ppp authentication-mode chap //开启认证模式
(2)ppp chap user admin123 //配置chap认证时认证方的用户名
本命令配置的用户名要和PPPoE Client的用户名保持一致。
CHAP认证过程分为两种情况:认证方配置了用户名和认证方没有配置用户名。推荐使用认证方配置用户名的方式,这样可以对认证方的用户名进行确认。
(3)ppp chap password cipher huawei
1,执行本命令前,建议用户对客户端接口进行shutdown操作以释放原有的IP地址,并在客户端设备上配置ip address ppp-negotiate命令使对端接口接受由PPP协商产生的分配的IP地址。
2,执行命令link-protocol ppp,配置接口封装的链路层协议为PPP
4)pppoe服务器绑定虚拟模板(VT)
interface G0/0/0 //进入实际的物理接口
pppoe-server bind Virtual-Template 1
五,PPPoE客户端的配置(企业级别)
1.1)dialer-rule //拨号规则
1.2)dialer-rule 1 ip permit-允许所有IP报文转发
1.3)quit
2.1)interface dialer 1 //创建拨号接口
2.2)dialer user QYT --该用户名不用于认证,是标识作用及和dialer绑定
2.3)dialer-group 1
2.4)dialer bundle 1 //绑定---目的是为了与目的地址进行绑定
2.5)ip address ppp-negotiate //地址的获取方式从对端服务器得到
2.6)ppp chap user hcie
2.7)ppp chap password cipher huawei //这里的认证必须要与服务器上的设置的ppp认证一致,否则会导致认证不成功,从而无法获取到服务器上的ip地址,也就是server上的aaa上的local-user
3.1)interface g/0/0/0 //进入实际相连的物理接口
3.2)pppoe-client dial-bundle-number 1 on-demand //按需(有需要的时候就工作),因此这里的on-demand可以不用配置。
3.3)quit
3.4)ip route-static 0.0.0.0 0 dialer 1 //配置静态路由,以dialer 1为出接口
display ip int brief //查看端口状态 如下:
Dialer1 202.100.1.254/32 up up(s) //重点在与逻辑接口是否工作,物理接口在协议上是down的是正确的。
例如:
在客户端上的配置:
[GW-client-Dialer1]disp this
[V200R003C00]
#
interface Dialer1
link-protocol ppp
ppp chap user hcie //这里的hcie用户名必须和服务器上的aaa下的本地用户名一致,否则client端无法获取到server端的ip地址。
ppp chap password cipher huawei //这里的密码必须与aaa下的本地用户的密码保持一致
ip address ppp-negotiate
dialer user qwe
dialer bundle 1
dialer-group 1
!
在服务器上的配置:
local-user hcie password cipher huawei
ip pool PPPoE1
network 202.100.1.0 mask 255.255.255.0
dns-list 114.114.114.114
ppp authentication-mode chap
remote address pool pppoe
ppp chap user admin123
ppp chap password cipher 123
ip address 202.100.1.1 255.255.255.0
interface g/0/0/0
pppoe-client dial-bundle-number 1 on-demand
!
<R1-GW>display pppoe-client session summary //查看客户端会话的摘要信息。
PPPoE Client Session:
ID Bundle Dialer Intf Client-MAC Server-MAC State
1 1 1 GE0/0/0 00e0fcb10216 00e0fcef098c UP
----------------------------------------------------------------------------------------------------------
PPPoE的优化:
1.MTU
主机上网时能Ping通公网地址但是网速很慢
故障现象
当主机进行拨号上网时,主机可以Ping通公网但是网速很慢无法打开网页。
故障分析
PPPoE侧接口MTU(Maximum Transmission Unit)值为1492字节,当从这个接口上送的三层转发报文大于MTU值且报文被设置为不可分片时就会导致报文无法发送出去,出现用户上网网速慢的情形。此时可以在拨号口下配置tcp adjust-mss命令修改TCP协商阶段协商出的MSS(Max Segment Size)的大小,使报文长度小于拨号口的MTU值,保证报文能被正常处理,解决上网网速慢的问题。
对于PPPoE应用,tcp adjust-mss配置的值推荐使用1200。
操作步骤
Dialer接口视图下,执行命令tcp adjust-mss value,配置接口的TCP最大报文段长度。
------这样配置的作用是为了MSS的值小于MTU值。
2.MSS
3.DNS
设备作为PPPoE Client,无法动态获取DNS服务器地址
操作步骤
配置PPPoE Client可以接收对端分配的DNS服务器地址,可同时选择以下两条命令或两条中的一条:
1.在Dialer接口视图下,执行命令ppp ipcp dns request,配置PPPoE Client主动向PPPoE Server请求DNS服务器地址。
缺省情况下,PPPoE Client不会主动向PPPoE Server请求DNS服务器地址。
2.在Dialer接口视图下,执行命令ppp ipcp dns admit-any,配置PPPoE Client被动地接收PPPoE Server指定的DNS服务器地址。
缺省情况下,PPPoE Client不会被动地接收PPPoE Server指定的DNS服务器地址。
3.执行命令display dns server,查看是否正确获取DNS服务器地址。
总结:
在拨号接口上配置命令:
在dialer 1 接口上:
tcp adjust-mss 1200
ppp ipcp dns request
ppp ipcp dns admit-any
---这三个方面是必须要优化的
4.静态默认路由
[R1-GW]ip route-static 0.0.0.0 0 Dialer 1 //由于dialer 1接口是一个ppp的接口(这就是这条链路是封装ppp的interface Dialer1
link-protocol ppp)