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达到类似效果...
第九届世界渲染大赛在哪里提交作品呢?
自第九届世界渲染大赛开放投稿以来,已经过去了10天。在这段时间里,众多CG爱好者已经完成了他们的动画创作。然而,许多参赛者对于如何提交他们的作品仍然感到困惑。接下来,让我们一起了解具体的投稿流程和入口,确保每位…...
fastjson(autoType)反序列化漏洞
1. 温少和他的fastjson 阿里巴巴的 FastJSON,也被称为 Alibaba FastJSON 或阿里巴巴 JSON,是一个高性能的 Java JSON 处理库,用于在 Java 应用程序中解析和生成 JSON 数据。FastJSON 以其卓越的性能和功能丰富的特点而闻名,并在…...
Java入门基础16:集合框架1(Collection集合体系、List、Set)
集合体系结构 Collection是单列集合的祖宗,它规定的方法(功能)是全部单列集合都会继承的。 collection集合体系 Collection的常用方法 package com.itchinajie.d1_collection;import java.util.ArrayList; import java.util.HashSet;/* * 目…...
Qt如何调用接口
在Qt中,你可以使用QNetworkAccessManager类来调用API。以下是一个简单的示例: cpp #include <QCoreApplication> #include <QNetworkAccessManager> #include <QNetworkRequest> #include <QNetworkReply> int main(int arg…...
Android14之解决编译libaaudio.so报错问题(二百二十七)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列…...
【专题】2024年7月人工智能AI行业报告合集汇总PDF分享(附原数据表)
原文链接:https://tecdat.cn/?p37350 随着人工智能技术的飞速发展,AI已经成为当今时代的重要驱动力。本报告将聚焦于人工智能AI行业的最新动态,涵盖客户服务、体验营销、资产管理以及国产AI大模型应用等多个领域。通过深入研究和分析,我们…...
干货分享|如何使用Stable Diffusion打造会说话的数字人?
数字人已不是什么新鲜名词了。在许多领域,尤其是媒体和娱乐领域,经常可以看到卡通形象的人物或逼真的虚拟主持人。在Stable Diffusion中,我们可以上传一段录制好的音频文件,然后使用SadTalker插件,将音频和图片相结合&…...
OrangePi AIpro学习4 —— 昇腾AI模型推理 C++版
目录 一、ATC模型转换 1.1 模型 1.2 ATC工具 1.3 实操模型转换 1.4 使用ATC工具时的一些关键注意事项 1.5 ATC模型转换命令举例 二、运行昇腾AI模型应用样仓程序 2.1 程序目录 2.2 下载模型和模型转换 2.3 下载图片和编译程序 2.4 解决报错 2.5 运行程序 三、运行…...
vue js 多组件异步请求解决方案
接口之间异步问题可以采用Promiseasyncawait 链接: https://blog.csdn.net/qq_39816586/article/details/103517416 使用场景: 1.保障用户必须完成自动登录,才调用后续逻辑 2.保障必须完成初始启动,才调用后续逻辑 3.保障先执行on…...
【Android】不同系统版本获取设备MAC地址
【Android】不同系统版本获取设备MAC地址 尝试实现 尝试 在开发过程中,想要获取MAC地址,最开始想到的就是WifiManager,但结果始终返回02:00:00:00:00:00,由于用得是wifi ,考虑是不是因为用得网线的原因,但…...
网站开发专业术语/seo优化服务
一、引入Toolbar 在介绍ToolBar之前,我们先回忆一下ActionBar。 相信下面这个界面大家都已经烂熟于心了,没错,在我们每次最初创建项目的时候,Android Studio会为我们创建出这样最初始的界面效果:除了一个“HelloWorld”…...
网站托管是什么/医院营销策略的具体方法
再游洛带有感——代腾飞 2007年9月15日 于成都今游古镇到洛带恍然忽至回唐朝身穿古装成侠客浪迹江湖甚逍遥...
外贸网站建设软件/推广网站的方法有哪些
一、实验目的 熟悉关系的性质,掌握求判断关系性质的方法二、实验内容 定义1 设R是集合X上的二元关系,对任意的x∈X,都满足<x,x>∈R,则R是自反的。 定义2 设R是集合X上的二元关系,对任意的x∈X,都满…...
做网站都是花钱吗/关键词调整排名软件
本节书摘来华章计算机出版社《JavaScript应用程序设计》一书中的第2章,第2.18节,作者:Eric Elliott 更多章节内容可以访问云栖社区“华章计算机”公众号查看。 2.18 Promises与Deferreds Promises作为一个对象,维护着成功与失败两…...
商城建站服务/东莞seo优化
下面由sublime教程栏目给大家介绍sublime自动修复eslint报错的方法,希望对需要的朋友有所帮助!问题描述PyQt 环境正常,可以使用 Windows 的 虚拟 DOS 正常运行,但在 Sublime Text 2 下使用 Ctrl B运行后,界面不显示&a…...
免费注册一个网站/公司网络推广方案
只包含中文和数字 /^(([\u4E00-\u9FA5])|(\d))$/不能包含字母 /^[^A-Za-z]*$/ A股代码 /^(s[hz]|S[HZ])(000[\d]{3}|002[\d]{3}|300[\d]{3}|600[\d]{3}|60[\d]{4})$/大于0, 小于150, 支持小数位出现5, 如145.5, 用于判断考卷分数 /^150$|(^\d|^[1-9]\d|^[1][0-4]\d)(\.5)?$/ht…...