首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PPPoE原理及华为路由器拨号案例

PPPoE原理及华为路由器拨号案例

作者头像
用户5921339
发布2026-04-13 11:25:09
发布2026-04-13 11:25:09
790
举报

一、什么是PPPoE?

PPPoE,全称 Point-to-Point Protocol over Ethernet,即“以太网上的点对点协议”。它是在以太网基础上,将点对点协议(PPP)封装的一种网络协议,常用于宽带上网,尤其是家庭和小型企业用户通过ADSL或光纤接入互联网的场景。

简单理解:

  • PPP 是点对点协议,最初用于拨号上网,可实现认证、加密和压缩。
  • Ethernet 是局域网协议,用于多用户共享网络。
  • PPPoE通过唯一的Session ID可以很好地保障用户的安全性。
  • PPPoE 把 PPP 封装在 Ethernet 帧中,实现以太网环境下的拨号式上网

二、PPPoE的报文格式

PPPoE的报文格式就是被封装在以太帧中的PPP报文,报文格式如下:

PPPoE报文字段说明

三、PPPoE建立连接过程

PPPoE可分为三个阶段,即Discovery(发现)阶段、Session(会话)阶段和Terminate(终止)阶段。其中会话阶段又分为LCP协商、CHAP/PAP认证、NCP协商、客户端上线四个部分。

PPPoE各阶段时序如下图所示:

图3.1

图3.2

四、路由器配置案例

4.1 实验网络拓扑图

说明:

1. 路由器R1是拨号上网的客户端设备,G0/0/0连接运营商设备,通过拨号自动获取IP地址;G0/0/1是内网接口且为内网终端上网的网关。

2. 路由器ISP模拟运营商设备,作为PPPoE的服务端,是路由器R1的默认网关。

3. SW1是傻瓜交换机,无需任何配置。

4. PC1和PC2是内网终端设备。

4.2 实验目标

路由器R1通过PPPoE拨号成功,且PC1和PC2能通过路由访问ISP的IP地址

4.3 设备配置

4.3.1 R1路由器配置

  • 新建acl 2000,匹配局域网段192.168.1.0/24
代码语言:javascript
复制
acl number 2000  
 rule 5 permit source 192.168.1.0 0.0.0.255
  • 新建拨号接口并设置相关参数
代码语言:javascript
复制
interface Dialer1
 link-protocol ppp
 ppp chap user user1
 ppp chap password cipher pwd@123
#或使用PAP认证,根据对端配置决定
#ppp pap local-user user1 password cipher pwd@123
 ppp ipcp dns admit-any # 配置PPPoE Client被动地接收PPPoE Server指定的DNS服务器地址
 ppp ipcp dns request # 配置PPPoE Client主动向PPPoE Server请求DNS服务器地址
 mtu 1492 
 tcp adjust-mss 1200 # 配置接口的TCP最大报文段长度
 ip address ppp-negotiate
 dialer user user1 # 使能共享DCC功能,指定拨号时使用的用户名
 dialer bundle 1 # 指定Dialer接口使用的Dialer bundle
 dialer-group 1 # 配置接口所属的拨号访问组
 dialer timer idle 0 
 dialer timer autodial 60 
 nat outbound 2000 # 配置此接口作为 NAT 出接口
  • 配置将物理接口GE0/0/0绑定在配置好的Dialer接口上,并建立PPPoE会话
代码语言:javascript
复制
interface GigabitEthernet0/0/0
 pppoe-client dial-bundle-number 1
  • 为内网接口配置IP地址
代码语言:javascript
复制
interface GigabitEthernet0/0/1
 ip address 192.168.1.1 255.255.255.0
  • 配置拨号规则及规则匹配条件
代码语言:javascript
复制
dialer-rule
 dialer-rule 1 ip permit
 # dialer-rule 1 acl 2000
  • 配置缺省路由
代码语言:javascript
复制
ip route-static 0.0.0.0 0.0.0.0 Dialer1
4.3.2 ISP设备配置
  • 创建IP地址池,指定网关地址、网段及DNS
代码语言:javascript
复制
ip pool pppoe
 gateway-list 120.0.12.1 
 network 120.0.12.0 mask 255.255.255.0
 dns-list 8.8.8.8 114.114.114.114
  • 配置aaa认证用户及服务
代码语言:javascript
复制
 aaa
  local-user user1 password cipher pwd@123
  local-user user1 service-type ppp
  • 创建虚拟模板接口,配置认证相关参数
代码语言:javascript
复制
interface Virtual-Template1
 ppp authentication-mode chap 
 # ppp authentication-mode pap
 remote address pool pppoe
 ip address 120.0.12.1 255.255.255.0 
  • 将虚拟接口Virtual-Template1与物理接口GE0/0/0绑定
代码语言:javascript
复制
interface GigabitEthernet0/0/0
 pppoe-server bind Virtual-Template 1

4.4 结果验证

在R1上查看PPPoE会话:

查看R1路由器获取到的公网IP地址:

在ISP设备上查看PPPoE会话:

在ISP设备上查看IP地址池IP使用情况:

PC1上ping路由器ISP的IP地址,在R1上查看NAT会话:

重置PPPoE会话相关命令:

R1路由器(客户端)

代码语言:javascript
复制
<R1>reset pppoe-client dial-bundle-number 1
<R1>reset pppoe-client all

ISP路由器(服务端)

代码语言:javascript
复制
<ISP>reset pppoe-server virtual-template 1
<ISP>reset pppoe-server interface g0/0/0
<ISP>reset pppoe-server all 

此次的分享就到这里了,喜欢的朋友点个关注相互交流学习。

图片
图片

· · · · · END · · · · ·

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT人家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、什么是PPPoE?
  • 二、PPPoE的报文格式
  • 三、PPPoE建立连接过程
  • 四、路由器配置案例
    • 4.1 实验网络拓扑图
    • 4.3 设备配置
    • 4.3.1 R1路由器配置
      • 4.3.2 ISP设备配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档