PPPoE基础笔记
一、拨号原理
1.Discovery(发现阶段)
- PADI
Client 发送广播的PADI报文,报文中包含Client想要的服务信息。
- PADO
Server收到PADI后,会向Client回复一个单播的PADO报文。
- PADR
Client 收到最先收到的PADO后,会向Server发送一个单播的PADR报文。
- PADS
Server 会产生唯一的会话ID,然后发送一个PADS报文给Client,建立成功后进入Session阶段。
2.Session(会话阶段)
- PPP协商
- LCP
完成建立、配置和检测数据链路连接 - 认证
PAP(明文)和CHAP(密文) - NCP
配置不同的网络层协议,负责协商用户的IP、DNS等
- LCP
- 数据传输
承载PPP数据报文传输
3.Terminate(终止阶段)
- 单播发送PADT报文结束会话
二、PPPoE报文格式
1.Ethernet部分
- Ethernet_type: 0x8863→发现和结束阶段
0x8864→会话阶段
2.PPPoE部分
- Code:0x00→会话数据
0x09→PADI报文
0x07→PADO报文
0x19→PADR报文
0x65→PADS报文
0xa7→PADT报文
三、PPPoE配置命令
1.Server配置思路
- 1、配置虚拟模板(Virtual-Template)接口。由于以太网的封装协议已经默认,通过VT接口来模拟PPP接口,将物理接口和VT接口绑定,实现PPP和以太网协议的嵌套。
- 2、配置PPP分配的IP地址、DNS地址等。
- 3、将VT接口和PPPoE Server的物理接口绑定。实现PPPoE的封装。
- 4、配置Server到Client的默认路由。
2.Server详细配置
- 1、配置VT接口。
#interface virtual-template 模板号(1)
#ppp authentication-mode 认证方式(pap和chap)// 定义PPP的认证方式
#remote address pool 地址池(janippool)//PPPoE Client 指定的IP地址池
#ip address IP地址(1.1.1.254) 地址掩码(24)// 设置VT接口的IP地址
- 2、地址池和用户认证设置。
地址池
#ip pool 地址池名(janippool)// 创建地址池
#gateway-list 网关地址(1.1.1.254)// 指定 Client的网关
#netwrok 网段(1.1.1.0)mask 掩码(24)// 指定Client分配的网址
#dns-list DNS地址(114.114.114.114)// 指定Client的DNS地址 用户认证
#aaa #local-user 用户名(jan)password cipher 密码(huawei@123)// 创建用于PPP认证的用户 #local-user 用户名(jan) service-type ppp // 指定用户用于PPP认证
- 3、VT接口与Server物理接口绑定。
#inteface 接口号(G0/0/0)
#pppoe-server bind virtual-template 1
- 4、默认路由配置
#ip route-static 0.0.0.0 0.0.0.0 vritual-template 1
- 5、配置一个模拟的外网
#interface loopback 0 #ip address 2.2.2.2 24
3.Client配置思路
- 1、拨号控制中心(Dial Control Center)虚拟机接口配置。用于控制拨号接口,封装协议、PPP认证、IP获取、NAT等。
- 2、将DDC接口和PPPoE Client的物理接口绑定。实现PPPoE封装。
- 3、运行IPv4的数据报文通过拨号访问控制列表。
- 4、配置Server到Client的默认路由。
4.Client详细配置
- 1、配置主机边接口地址。
- 2、DDC虚拟拨号接口配置。
#interface dialer 拨号接口号(1) //进入拨号接口
#link-protocol ppp //链路封装PPP协议
#PPP 认证方式(PAP和CHAP) user 用户名(jan)//配置PPP认证的用户名和方式
#ppp 认证方式(PAP和CHAP) password simple 密码(huawei@123) //配置PPP认证的用户密码和方式
#ip address ppp-negotiate //设置PPPoE Client自动获取IP地址
#dialer user 用户名(jan) // 指定拨号使用名
#dialer bundle 拨号接口号(1) //指定虚拟的拨号接口号
#dialer-group 拨号组号(1) //设置一个拨号组
- 3、DDC虚拟拨号接口和PPPoE Client物理接口绑定。
#进入接口 #pppoe-client dial-bundle-number 拨号接口号(1)
- 4、设置拨号访问控制列表
#dialer-rule 列表号(1)
#dialer-rule 列表号(1) ip permit
- 5、配置Client到Server的默认路由。
#ip route-static 0.0.0.0 0.0.0.0 dialer 1