PPPoE原理及华为路由器拨号案例
一、什么是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复制
ISP路由器(服务端)
代码语言:javascript复制
此次的分享就到这里了,喜欢的朋友点个关注相互交流学习。
图片· · · · · END · · · · ·