PPPoE
简介:
PPPoE:PPP over Ethernet
-
PPPoE是对PPP的扩展,它可以使PPP协议应用于以太网
-
把PPP帧封装到以太网帧中的链路层协议
-
使以太网网络中的多台主机连接到远端的宽带接入服务器
-
即Ethernet提供多台主机接入,PPP提供访问控制和计费
-
具有适用范围广、安全性高、计费方便的特点
-
组网结构采用Client/Server模型
PPPoE帧格式
Code | 类型 | 说明 |
---|---|---|
0x09 | PADI | PPPoE发现初始报文 |
0x07 | PADO | PPPoE发现提供报文 |
0x19 | PADR | PPPoE发现请求报文 |
0x65 | PADS | PPPoE发现会话确认报文 |
0xa7 | PADT | PPPoE发现终止报文 |
0x00 | 会话数据 |
PPPoE会话建立过程
阶段 | 说明 |
---|---|
Discovery | 获取对方以太网地址,以及确定唯一的PPPoE会话 |
Session | 包含两部分:PPP协商阶段和PPP报文传输阶段 |
Terminate | 会话建立以后的任意时刻,发送报文结束PPPoE会话 |
- 客户端通过广播发送PADI报文来发现接入服务器
- 所有的服务器在收到PADI报文后,将客户端请求的服务与自己能够提供的服务进行比较,如果可以提供,则单播回复PADO报文
- 客户端选择最先收到的PADO报文对应的服务器,并单播发送一个PADR报文
- 服务器生成唯一的PPPoE Session ID,并发送PADS报文给客户端,会话建立成功
- 进行PPP协商,成功后,就可以传输PPP数据
- PADT报文用于通知对端PPPoE会话结束
PPPoE配置
PPPoE Server配置
interface virtual-template 1 # 创建并配置虚拟接口模板VT
remote address pool pppoe # 为客户端分配IP地址
ppp ipcp dns 114.114.114.114 # 为客户端分配DNS地址(可选)
ip address 192.168.10.1 24
ppp authentication-mode chap # 认证方式
quit
interface gigabitethernet 0/0/0
pppoe-server bind virtual-template 1 # 绑定VT
quit
# 配置地址池
ip pool pppoe
network 192.168.10.0 mask 24
gateway-list 192.168.10.1 # 只在DHCP上生效(可选)
quit
# 配置认证账号
aaa
local-user huawei password cipher huawei
local-user huawei service-type ppp
quit
# 配置会话最大数量
pppoe-server max-sessions total/local-mac
# 验证会话
display pppoe-server session all/packet
# 终结会话
reset pppoe-server all
PPPoE Client 配置
# 创建并配置Dialer接口
interface dialer 1
dialer user huawei # 开启共享DCC并指定对端对端用户名
dialer bundle 1 # 指定bundle,用于物理接口绑定
ppp chap user huawei # 配置认证
ppp chap password cipher huawei
ip address ppp-negotiate # 配置IP地址
ppp ipcp dns request # 配置主动请求DNS服务器
quit
# 接口上启用PPPoE Client功能,即拨号,默认自动拨号
interface gig 0/0/0
pppoe-client dial-bundle-number 1
# [on-demand 按需拨号,有流量触发才拨号] [no-hostuniq 如果不想要主机识别码,可以加上这个参数]
quit
# 配置NAT和路由
interface dialer 1
nat outbound 2000
quit
ip route-static 0.0.0.0 0 dialer 1 # 只能将下一跳接口写成dialer接口
# 配置ACL
acl 2000
rule 10 permit
quit
# 验证会话
display pppoe-client session summary
# 终结会话
reset pppoe-client all
# 静态配置DNS服务
dns server ip-address # 指定DNS服务器的IP地址
dns resolve # 开启DNS查询
# 验证DNS服务
display dns server
reset dns dynamic-host
PPPoE会话维护
# 复位PPPoE会话
reset pppoe-server/pppoe-client
# 验证当前接入用户
display access-user
# 服务器强制断开PPPoE会话
aaa
cut access-user user-id user-id
quit
抓包验证
Discovery 过程
PPP 协商过程
一个问题:
抓包显示获取的DNS地址是反的,这在使用windows拨号时,会导致无法正确访问DNS服务器,而使用路由器拨号时,尽管抓包显示DNS地址是反的,但是路由器显示正常
Terminate 会话结束
本文来自博客园,作者:未来的你!,转载请注明原文链接:https://www.cnblogs.com/frost-descent/articles/16754906.html