一.什么是pppoe?
可以称作为以太网上的PPP协议,应用在链路层。它通过在以太网上提供点到点的连接,建立PPP会话,封装PPP报文为PPPoE报文。PPPoE技术可以将用户连接到远程接入设备上,并提供良好访问控制功能,提供了一种经济的用户接入技术。
PPPoE利用以太网络,提供远程的多个用户主机接入功能,并且能够提供数据传输的出入报文数、字节数以及连接的起始、结束时间等计费数据,解决用户上网收费等实际应用问题,因而被广泛应用于接入运营商网络。
二.PPPOE的三个阶段:
1、发现阶段:(Discovery)
首先,pppoe的客户端会发送一个PADI的广播报文,pppoe的服务器收到后会回一个PADO的单播报文,PPPOE的客服端会发送一个请求报文为PADR,PPPOE服务器收到后回复一个PADS的确认报文,自此,PPPOE发现阶段建立完成。
2、会话阶段:(session)
1.LCP(link control protocal):建立、检测、配置数据链路的链路控制协议
2.NCP:针对于不同网络层的网络控制协议
3.认证方式:
PAP:密码认证
ack:认证成功
nck:认证失败,返回到data状态
CHAP:挑战握手协议密码认证
3、会话终止阶段:(PADT)
PPP通信双方可以使用PPP协议自身来结束PPPoE会话,当无法使用PPP协议结束会话时可以使用PADT(PPPoE Active Discovery Terminate)报文。进入PPPoE Session阶段后,PPPoE Client和PPPoE Server都可以通过发送PADT报文的方式来结束PPPoE连接。PADT数据包可以在会话建立以后的任意时刻单播发送。在发送或接收到PADT后,就不允许再使用该会话发送PPP流量了
三、PPPOE配置
PPPOE Server
1.创建地址
[pppoe server]ip pool pppoeserver
[pppoe server-ip-pool-pppoeserver]network 100.1.1.0 mask 255.255.255.0
[pppoe server-ip-pool-pppoeserver]gateway-list 100.1.1.1
2、配置虚拟口关联地址池
[pppoe server]int Virtual-Template 1
[pppoe server-Virtual-Template1]ppp authentication-mode chap #认证类型
[pppoe server-Virtual-Template1]remote address pool pppoeserver #客户端的地址池
[pppoe server-Virtual-Template1]ip address 100.1.1.1 255.255.255.0 #虚拟接口1的地址
[pppoe server]int g0/0/0
[pppoe server-GigabitEthernet0/0/0]pppoe-server bind Virtual-Template 1 #将虚拟接口关联到接口下
3、创建pppoe拨号的账号
[pppoe-server]aaa
[pppoe-server-aaa]local-user huawei password cipher huawei
[pppoe-server-aaa]local-user huawei service-type ppp #类型为ppp
PPPOE Client
1.配置账号信息
[pppoe client]int Dialer 0
[pppoe client-Dialer0]link-protocol ppp #链路为ppp
[pppoe client-Dialer0]ppp chap user huawei #拨号的账户
[pppoe client-Dialer0]ppp chap password cipher huawei #拨号的密码
[pppoe client-Dialer0]ip address ppp-negotiate #地址采用ppp协商
[pppoe client-Dialer0]dialer user user1 #此用户不用于认证,是标识作用以及和dialer绑定
[pppoe client-Dialer0]dialer bundle 1 #设备通过Dialer bundle将物理接口与拨号接口关联起来
[pppoe client-Dialer0]nat outbound 2000 #acl的规则绑定到接口
2.创建acl的规则
[pppoe client]acl 2000
[pppoe client-acl-basic-2000]rule 5 permit source 10.1.1.0 0.0.0.255 #允许10.1.1.0网段的流量通过
3、创建静态路由
[pppoe clientip route-static 0.0.0.0 0 Dialer 0 #默认路由下一跳Dialer 0
4.配置与终端相连的网关
[pppoe client]int g0/0/0
[pppoe client-GigabitEthernet0/0/0]pppoe-client dial-bundle-number 1
pc1
注:以上只是个人理解,如果有什么不对,希望各位大佬能够指正一下谢谢。