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
相关文章:
PPPoE基础笔记
一、拨号原理 1.Discovery(发现阶段) PADI Client 发送广播的PADI报文,报文中包含Client想要的服务信息。 PADO Server收到PADI后,会向Client回复一个单播的PADO报文。 PADR Client 收到最先收到的PADO…...
开发组日志记录SPEC_v0.1.0
文章目录 开发组日志记录SPEC_v0.1.0目的设计逻辑1. User日志记录器1.1 记录器标签内容介绍1.2 程序打印User日志规则 2. Dev日志记录器2.1 记录器标签内容介绍2.2 程序打印Dev日志规则 3.代码说明3.1 代码详情3.2 使用说明 更新记录 时间版本内容修订者备注2024/08/150.1.0创…...
MySQL8 innoDB引擎的精髓
[client] port 3306 socket /var/lib/mysql/mysql.sock [mysql] #prompt"\umysqldb \R:\m:\s [\d]> " #关闭自动补全sql命令功能 no-auto-rehash ########################################################################### ##服务端参数配置 ######…...
【C语言实现花屏效果并打包程序为exe可执行文件】
说明:该程序为临摹改良(😀)作品,源地址C/C屏幕恶搞程序 效果展示 上代码 #include <windows.h>#define NUM 11451LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int main() // Renamed WinMain to main {static int iKeep[NU…...
数据结构——排序(2):选择排序+交换排序
目录 一、选择排序 (1)直接选择排序 ①思路 ②过程图示 ③代码实现 ④代码解释 ⑤优化 1.代码实现 2.过程图示 3.代码解释 4.注意 ⑥直接选择排序的复杂度 (2)堆排序 ①注意 ②代码实现 二、交换排序 (…...
jenkins升级踩坑记录
1. 直接用java 1.8版本启动最新版jenkins.war,直接失败 2. 下载java 11启动,依然失败,换成java17版本可以启动,但会报错 解决报错1: java.io.IOException: Failed to load: Parameterized Remote Trigger Plugin (Pa…...
mysql笔记第二篇
平时业务开发,大部分业务逻辑是使用sql还是代码编写呢? 这个每个公司可能要求不同,其实是每个公司负责人根据公司业务制定的规定。或者根本没有规定,每个负责单个项目的人领到需求直接开整,sql一把梭导致后面其他人维护…...
Facebook的区块链技术:提升数据安全与隐私保护
去中心化的优势 随着数字化时代的快速发展,数据安全和隐私保护已成为全球范围内备受关注的话题。Facebook作为全球最大的社交平台之一,正在积极探索如何通过区块链技术来提升数据的安全性和用户的隐私保护。区块链技术以其去中心化、不可篡改和透明的特…...
⌈ 传知代码 ⌋ Visual SLAM函数
💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…...
Vue组件之间的通信
一、通信方式 Props 和 Events:通过父组件传递 props 给子组件,子组件使用 $emit 发送事件到父组件。Event Bus:使用一个中央事件总线来跨组件通信。Vuex:使用 Vuex 进行全局状态管理,以便在任何组件间共享状态。Prov…...
【AI 绘画】模型转换与快速生图(基于diffusers)
AI 绘画- 模型转换与快速生图(基于diffusers) 1. 本章介绍 本次主要展示一下不同框架内文生图模型转换,以及快速生成图片的方法。 SDXL文生图 2. sdxl_lightning基本原理 模型基本原理介绍如下 利用蒸馏方法获取小参数模型。首先&#x…...
甄选范文“论软件设计方法及其应”软考高级论文系统架构设计师论文
论文真题 软件设计(Software Design,SD)根据软件需求规格说明书设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及程序流程等,形成软件的具体设计方案。软件设计把许多事物和问题按不同的层次和角度进行抽象,将问题或事物进行模块化分解,以便更容易解决…...
leetcode线段树(2940. 找到 Alice 和 Bob 可以相遇的建筑)
前言 经过前期的基础训练以及部分实战练习,粗略掌握了各种题型的解题思路。现阶段开始专项练习。 描述 给你一个下标从 0 开始的正整数数组 heights ,其中 heights[i] 表示第 i 栋建筑的高度。 如果一个人在建筑 i ,且存在 i < j 的建筑…...
用于不平衡医疗数据分类的主动SMOTE
一、主动学习如何应用于不平衡数据的处理 首先,主动SMOTE不是像经典的SMOTE那样从训练集中随机选择一个样本作为生成合成样本的轴心点,而是通过不确定性和多样性采样来智能地进行样本选择,这是主动学习的两种技术。 在数据不平衡的情况下&…...
linux文件更新日期与系统日期比较
项目说明: 要获取linux系统中某目录下最新文件的修改时间并与当前系统时间进行比较,可以使用以下步骤: 使用 ls 命令获取最新文件的修改时间。 使用 date 命令获取当前时间。 计算时间差并打印结果。 实例脚本如下: #!/bin/…...
leetCode - - - 哈希表
目录 1.模拟行走机器人(LeetCode 874) 2.数组的度(LeetCode 697) 3.子域名访问次数(LeetCode 811) 4.字母异位词分组(LeetCode 49) 5.小结 1.常见的哈希表实现 2.遍历Map 1.模…...
NGINX自动清理180天之前的日志
需求描述 日志每天会以天为单位产生一个日志,不清理的话会越来越多。这里写一个Lua自定定时清理日志目录下的日志文件。 依赖安装 安装 lfs 模块 yum install luarocks yum install lua-develluarocks install luafilesystem 创建模拟旧文件 创建了一个1月的旧…...
jackson 轻松搞定接口数据脱敏
一、简介 实际的业务开发过程中,我们经常需要对用户的隐私数据进行脱敏处理,所谓脱敏处理其实就是将数据进行混淆隐藏,例如下图,将用户的手机号、地址等数据信息,采用*进行隐藏,以免泄露个人隐私信息。 如…...
Nginx 正则表达式与rewrite
目录 一、正则表达式 二、rewrite 2.1 rewrite简述 2.2 rewrite 跳转 2.3 rewrite 执行顺序 2.4 rewrite 语法格式 三、location 3.1 location 类别 3.2 location常用匹配规则 3.3 location优先级 3.4 示例说明 3.5 匹配规则总结 3.6 三个匹配规则定义 四、实战…...
tekton什么情况下在Dockerfile中需要用copy
kaniko配置如下 如果docker中的workDir跟tekton中的workDir不一致需要copy。也可以通过mv,cp达到类似效果...
系统架构设计师知识点21-40
21.ABSD方法的三个基础。①功能分解,使用已有的基于模块的内聚与耦合技术②选择架构风格实现质量和业务需求③软件模板使用22.ABSD方法是一个自顶向下,递归细化的方法,软件系统的体系结构通过该方法得到细化,直到能产生软件构件和…...
SAP EWM开发实战:手把手教你用ABAP OO类 /SCWM/CL_SP_PRD_INB 创建内向交货单
SAP EWM开发实战:基于ABAP OO类实现内向交货单自动化创建 1. 理解内向交货单创建的技术背景 在SAP扩展仓库管理(EWM)系统中,内向交货单(Inbound Delivery)是管理入库流程的核心凭证。与传统的SAP ERP系统不同,EWM模块在设计上采用了更加灵活的…...
基于Matlab的正态云模型花卉特征提取:从理论到代码实现
257.基于matlab的正态云模型花卉特征提取,用正向正态云发生器和逆向正态云发生器来模拟花卉的部分特征提取 程序已调通,可直接运行在花卉研究领域,准确提取花卉特征对于花卉分类、品种识别等工作至关重要。今天咱们来聊聊基于Matlab的正态云模…...
字节开源AI神器DeerFlow,4.1万星标刷屏,普通人免费就能用
文章目录这玩意儿不是ChatGPT那种"嘴炮型"选手35k星标怎么来的?字节这次把"龙虾"养明白了多智能体协作:不是一个人在战斗沙箱执行:让AI真的"动手"干活对比OpenAI:免费、本地、可控普通人怎么上手&a…...
Kali Linux 2026.1 发布 (2026 主题 BackTrack 模式) - 领先的渗透测试发行版
Kali Linux 2026.1 发布 (2026 主题 & BackTrack 模式) - 领先的渗透测试发行版 The most advanced Penetration Testing Distribution 请访问原文链接:https://sysin.org/blog/kali-linux/ 查看最新版。原创作品,转载请保留出处。 作者主页&…...
别再只会调库了!用NumPy和Random手搓一个SMOTE算法,我踩过的坑都在这了
从零实现SMOTE算法:NumPy实战与关键问题解析 理解类别不平衡问题的本质 在数据科学和机器学习领域,我们经常会遇到类别分布严重不均衡的数据集。想象一下,你正在处理一个信用卡欺诈检测项目,正常交易记录可能有数百万条࿰…...
避坑指南:关系数据库设计中90%人会犯的完整性约束错误(附真实案例)
避坑指南:关系数据库设计中90%人会犯的完整性约束错误(附真实案例) 在电商大促期间,某平台突然出现大量"幽灵订单"——用户支付成功后订单消失,而库存却异常扣减。技术团队紧急排查发现,问题根源…...
新手入门:用快马平台生成第一个labelimg式图像标注demo
今天想和大家分享一个特别适合计算机视觉新手的小项目——用InsCode(快马)平台快速搭建一个简易版的图像标注工具。这个工具类似labelimg的核心功能,但更轻量级,能帮助理解数据标注的基本流程。 项目背景理解 图像标注是计算机视觉的基础环节,…...
MelonLoader终极指南:3分钟掌握Unity游戏模组加载器完整使用技巧
MelonLoader终极指南:3分钟掌握Unity游戏模组加载器完整使用技巧 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader Me…...
Babel polyfill配置全解析:为什么你的Next.js项目在IE11还是报错?
Babel polyfill配置全解析:为什么你的Next.js项目在IE11还是报错? 在2023年的前端生态中,浏览器兼容性依然是个令人头疼的问题。最近接手一个企业级Next.js项目时,我遇到了一个典型场景:开发环境一切正常,但…...
