搭建pppoe,成功了的话,就觉得TM超级简单,在centos更是5步左右就能搞定

1、安装pppoe,安装完成后,会有pppoe-server命令yum install rp-pppoe

2、安装完成后,会在动在/etc/ppp目录下生成pppoe-server-options文件,文件内容如下,照着改就可以了

写道# PPP options for the PPPoE server

# LIC: GPL

require-pap

require-chap

login

lcp-echo-interval 10

lcp-echo-failure 2

logfile /var/log/pppoe.log

3、添加用户名密码,修改/etc/chap-secrets文件,添加下列一行

写道pppoe * "123456" *

很通俗,用户名:pppoe,密码是:123456

4、添加防火墙规则,做nat转换

写道iptables -A POSTROUTING -t nat -s 10.10.10.0/24 -j MASQUERADE

iptables -A FORWARD -p tcp --syn -s 10.10.10.0/24 -j TCPMSS --set-mss 1256

echo 1 > /proc/sys/net/ipv4/ip_forward

sysctl -w net.ipv4.ip_forward=1

第一条是添加nat,转换来自10.10.10.0/24网段的ip

第二天是修改mtu,根据自身需求改了

第三条打开转发

第四条是修改转发文件

5、启动pppoe

写道pppoe-server -I eth0 -L 10.10.10.1 -R 10.10.10.100-200

这条命令的作用是:-I eth0  在eth0端口上检测pppoe discover包

-L 10.10.10.1    虚拟网关的意思,就是pppoe服务器端虚拟网关ip

-R 10.10.10.100-200  分配虚拟IP,分别是10.10.10.100到10.10.10.200

还有一些其他的参数你可以参考一下,直接man pppoe-server自己看了,每个参数都有默认值

成功完成上述步骤,就完成了搭建pppoe服务器端了,下面就是windows验证了

我的是windows xp系统,win7或者路由器应该都没问题

不过要改下验证方式,在“属性”--》“安全”--》“高级--设置”--》将“数据加密”改为“可选加密”,然后勾选上chap或者pap验证就可以了

输入用户名密码,不可意外就可以连接成功了

不过只是局域网的,意义并不大。

顺带贴一下pppoe建立的原理过程

写道

PPPoE 的验证过程

PPPoE 的验证过程包括 2 个阶段,Discovery 阶段和 PPP Session 阶段。

Discovery 阶段,包含 4 个步骤:

Step 1: PADI

PPPoE 客户端发送主动发现初始包(PPPoE Active Discovery Initiation,PADI),以太头中的目的地址是以太广播地址 FF:FF:FF:FF:FF:FF,PPPOE 头中的 CODE 为 0x09,SESSION_ID 值必须为 0,负载部分必须只包含一个 Service-Name 类型的 TAG 表示请求的服务类型,另外可以包含其他 TAG,整个 PPPOE 包不能超过 1484 字节;

Step 2: PADO

服务器端 PPPoE 进程在网络接口侦听到 PADI 包后,发送主动发现提议包(PPPoEActive Discovery Offer, PADO),用来回应客户机的 PADI 包,以太头中的目的地址是客户机的MAC 地址,PPPOE 头中的 CODE 为 0x07, SESSION_ID 值必须为 0,负载部分必须包含一个 AC-Name 类型的 TAG,用来指示本 AC 的名称,一个在 PADI 包中指定的Service- Name 的 TAG,另外可以包含其他 Service-Name 的 TAG。如果 AC 不对该客户机提供服务,AC 就不回应 PADO 包。

Step 3: PADR

PPPoE 客户端收到 PADO 包后,在 PADO 包中选择一个(可能有多个 PPPoE 服务器,通常选取最快的一个)发送主动发现请求包(PPPoEActive Discovery Request,PADR),以太头中的目的地址是所选取的 PADO 包的源以太头地址(即 PPPoE 服务器的 MAC 地址),PPPOE 头中的 CODE 为 0x19,SESSION_ID 值必须为 0,负载部分必须只包含一个 Service-Name 类型的 TAG 表示请求的服务类型,另外可以包含其他 TAG。

Step 4: PADS

MAC 地址匹配的 PPPoE 服务器收到 PADR 包后,发送主动发现会话确认包(PPPoE Active Discovery Session-confirmation, PADS),将产生一个 SEESSION_ID 值用来标志本次 PPP 会话,以 PADR 包方式发送给客户机。以太头中的目的地址是客户机的 MAC 地址,PPPOE 头中 的 CODE 为 0x65,SESSION_ID 值必须为所生成的那个SESSION_ID,负载部分必须只包含一个 Service-Name 类型的 TAG, 表示该服务类型被 PPPoE 服务器接受,另外可以包含其他 TAG。如果 PPPoE 服务器不接受 PADR 中的

Server-Name,PADS 中则包含一个 Service-Name -Error 类型的 TAG,这时 SESSION_ID 设置为 0。

PPP Session 阶段:

当客户端与服务器端远成发现阶段之后,即进入会话阶段,在 PPP 会话阶段,PPP 包被封装在 PPPOE 以太帧中,以太包目的地址都是单一的,以太协议为 0x8864,PPPOE 头的CODE必须为0,SESSION_ID必须一直为发现阶段协商出的SEESION_ID值,PPPOE的负载是整个 PPP 包,PPP 包前是两字节的 PPP 协议 ID 值。

在 Session 阶段,主机或服务器任何一方都可发 PADT(PPPoE Active Discovery Terminate)报文通知对方结束 Session。

PPPoE 的身份验证发生在会话(PPP Session)阶段。可以这样更解,rp-pppoe 包负责Discovery 及会话终止 PADT,ppp 包负责会话阶段的数据传输。

linux上搭建pppoe服务器,linux(centos)上搭建pppoe服务器相关推荐

  1. linux mysql8.0.16 下载_Linux CentOS上安装 MySQL 8.0.16

    前言: 因为我需要在我新安装的Linux CentOS系统服务器中安装和配置MySQL服务器,然而对于我们这种Linux使用小白而言在Linux系统中下载,解压,配置MySQL等一系列的操作还是有些耗 ...

  2. linux安装2048游戏,如何在CentOS上安装一个2048小游戏

    如何在centos上安装一个2048小游戏 最近在学习CentOS系统,就琢磨着玩点什么,然后我看到有人在玩2048小游戏,所有我就在想,为啥不装一个2048小游戏搞一下嘞,于是乎,我就开始工作啦 由 ...

  3. 搭建过程:在Centos上搭建个人云盘NextCloud

    前言 为什么使用NextCloud 之前一直使用Windows自带的OneDrive,但有以下问题妨碍使用: 同步速度堪忧 空间非常有限 把自己的数据保存在他人的服务器上总觉得不舒服. NextClo ...

  4. linux 异星工厂服务器,在centos上搭建《异星工厂》(Factorio)服务器端小记

    [TOC] 一.总记 这两天和基友喜欢上了游戏<异星工厂>(Factorio),好基友打游戏当然第一件事情是关心游戏能不能联机啦.答案是这个游戏是"联基"神器!由于和基 ...

  5. centos安装php服务器,在CentOS上安装搭建PHP+Apache+Mysql的服务器环境方法

    以下安装过程是基于centos下,使用yum安装搭建PHP+Apache+Mysql的服务器环境 一:安装MySQL 1.安装yum install mysql mysql-server mysql- ...

  6. linux openssh升级7.4,RHEL Centos上升级OpenSSH7.4p1

    二.配置yum源 1.新建光盘挂载目录/yum mkdir /yum 2.上传光盘到机器的某个目录,然后挂载到/yum目录下 mount -o loop rhel-server-6.5-x86_64- ...

  7. linux安装压缩文件的工具,centos上安装rar工具

    一.下载rar安装包 wget https://www.rarlab.com/rar/rarlinux-x64-5.6.0.tar.gz 二.解压并安装 解压 tar -xzvf rarlinux-x ...

  8. 百度云服务器BCC centos实例搭建vsftpd站点

    本文基于百度云服务器BCC的centOS 7实例.参考资料: Linux实例搭建FTP站点_搭建FTP站点_建站教程_云服务器 ECS-阿里云 一 安装vsftpd 安装vsftpd yum inst ...

  9. CentOS下搭建LAMP

    CentOS下搭建LAMP 前言: 我这里会讲解lamp架构的安装到配置,以及安装过程中的一些报错点 提示:这里的安装包括源码安装和yum安装 什么是lamp? httpd服务通常和mysql.php ...

  10. 阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序

    本篇博客主要内容为 介绍 阿里云服务器(CentOS) 搭建 Django 程序. 在正式开始之前,你需要有一台服务器. 文章目录 安装宝塔 配置 Python 运行环境 安装 Python 配置 d ...

最新文章

  1. java建一个conversion,Scala中的JavaConverters和JavaConversions有什么区别?
  2. 洛谷 [SDOI2015]约数个数和 解题报告
  3. Unity Shader着色器优化
  4. 读人人都是产品经理__2
  5. 高通cpu排行_安卓手机芯片排行:麒麟990 5G仅排第三,980还输给了765G?
  6. C++设计模式-迭代器模式
  7. Anti-Tech论 | 技术是如何一步一步腐蚀思想的?
  8. 失败的信息化案例分享
  9. HBase-shell及happyhbase
  10. LOJ 6278 数列分块入门2
  11. 并不是部所有市场都类似:评估 Marketplace 的 10 个特征
  12. 操作系统原理学习总结
  13. 视频转换器Prism Plus for mac轻松转换视频!
  14. 如何区分1位和4位数码管引脚图
  15. HOMAG工控机维修西门子IPC627D维修HG-A.1.0
  16. 绩效管理实务与管理效率提升-王晓耕老师
  17. 前端html制作中国地图,echarts实现中国地图
  18. Numpy中take的用法
  19. 互联网产品三大需求文档:BRD、MRD、PRD
  20. 干货 | Apache Flink 入门技术分享 PPT(多图预警)

热门文章

  1. .NET SmtpClient发送电子邮件 JMail组件
  2. 香侬科技Service Streamer:加速深度学习Web服务、极大提高GPU利用率。| 百万人学AI评选
  3. 泡泡机器人SLAM公开课链接(实时更新中)
  4. 阿里云视频点播vod视频无法播放预览的问题
  5. VSCode配置golang
  6. python中的运算表达式规则
  7. JS实时获取鼠标坐标
  8. 老视频修复软件,Topaz Video Enhance Al可以视频无损放大,支持win/mac版
  9. php中sql语句字符串截取字符串,sql语句的截取字符串下标是从1开始
  10. SOAP XML报文解析