19.PPPoE笔记
文章发布时间:
最后更新时间:
页面浏览: 加载中...
最后更新时间:
页面浏览: 加载中...
PPPoE
作用:把 PPP 数据封装在以太网数据帧上,实现灵活的组网,又能利用 PPP 实现用户的身份认证(授权、审计等功能)
1. PPPoE 发现阶段
- 通过广播发送 PADI 发现服务器,并请求相关的服务功能
- 服务器收到后,会响应客户的请求,并且回复一个 PADO(携带服务器能够提供的功能)
- 客户端收到 PADO(可能会有多个)客户端会采用第一份收到的 PADO
- 会根据 PADO 的服务器 ID 进行回复(标识客户端选用的是那一台服务器)
- 通过 PADR 进行响应,同时请求会话 ID
- 服务器收到 PADR 后,会查看报文内的服务器 ID 是否本服务器,如果是则响应 PADS(提供一个会话 ID)、如果不是本服务器(不做响应)
2. PPPoE 的会话阶段
参考 PPP 协商过程
- LCP 协商(协:魔术字、MRU、认证类型等)
- 认证阶段(PAP 或 CHAP 协商)
- NCP 协商(协商 IP 地址是否合法,分配 IP 地址及网段信息)
- 补充:客户设备需要完成 1 和 2 的协商才能进行网络访问
3. PPPoE 会话终止阶段
当用户下线时才会进入会话终止,释放网络参数信息
1. 双方互相发送 PADT 请求,用于终止网络会话(释放 IP 地址、会话 ID 等信息)
配置命令
服务器配置
- 创建虚拟模板,用于绑定以太网接口使用
1
2
3interface Virtual-Template0 // 创建 VT0 虚拟模板
ppp authentication-mode pap // 开启 PAP 认证
ip address 100.1.1.3 24 // 配置 PPPoE 服务器通信的 IP 地址 - 创建地址池,为拨号用户分配 IP
1
2
3
4
5
6ip pool client // 创建地址池,client 为名称
network 100.1.1.0 mask 24 // 分配的网段
excluded-ip-address 100.1.1.3 // 排除服务器已经使用的 IP 地址
interface Virtual-Template0 // 进入 VT0 虚拟模板
remote address pool client // 调用地址池 client(名称不能错误) - 进入 PPPoE 服务器的通信接口
1
2interface GigabitEthernet0/0/0
pppoe-server bind Virtual-Template 0 // 调用 VT0 虚拟模板 - 服务器需要为不同的接入用户,创建账号
1
2
3aaa
local-user ar1 password cipher Huawei@123 // 创建账户
local-user ar1 service-type ppp // 指定该账户的服务类型为:ppp
客户端配置
- 创建虚拟拨号接口 D0
1
2
3
4
5
6interface Dialer0 // 创建 D0 接口
ppp pap local-user ar1 password simple Huawei@123 // 根据运营商分配的账户,配置相关的认证信息
ip address ppp-negotiate // 通过认证后,向 PPPoE 服务器,获取 IP 地址
dialer user ar1 // 指定虚拟拨号接口的名称(先配置名称,才能指定 ID)
dialer bundle 1 // 指定虚拟拨号接口的 ID - 进入客户端与运营商互联的物理接口
1
2interface G0/0/1 // 进入物理接口
pppoe-client dial-bundle-number 1 // 根据 D0 的接口 ID 进行绑定 - 私网与公网互访配置
配置静态路由
1
ip route-static 0.0.0.0 0 Dialer0 // 下一跳接口,必须为虚拟的拨号接口
NAT 转换
1
2
3
4
5acl 2000
rule permit source any // 允许所有的数据包通过
interface Dialer0
nat outbound 2000 // 进入虚拟拨号的接口调用 NAT(物理接口的所有信息都通过虚拟接口映射)