linux上搭建pppoe服务器,linux(centos)上搭建pppoe服务器
搭建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服务器相关推荐
- linux mysql8.0.16 下载_Linux CentOS上安装 MySQL 8.0.16
前言: 因为我需要在我新安装的Linux CentOS系统服务器中安装和配置MySQL服务器,然而对于我们这种Linux使用小白而言在Linux系统中下载,解压,配置MySQL等一系列的操作还是有些耗 ...
- linux安装2048游戏,如何在CentOS上安装一个2048小游戏
如何在centos上安装一个2048小游戏 最近在学习CentOS系统,就琢磨着玩点什么,然后我看到有人在玩2048小游戏,所有我就在想,为啥不装一个2048小游戏搞一下嘞,于是乎,我就开始工作啦 由 ...
- 搭建过程:在Centos上搭建个人云盘NextCloud
前言 为什么使用NextCloud 之前一直使用Windows自带的OneDrive,但有以下问题妨碍使用: 同步速度堪忧 空间非常有限 把自己的数据保存在他人的服务器上总觉得不舒服. NextClo ...
- linux 异星工厂服务器,在centos上搭建《异星工厂》(Factorio)服务器端小记
[TOC] 一.总记 这两天和基友喜欢上了游戏<异星工厂>(Factorio),好基友打游戏当然第一件事情是关心游戏能不能联机啦.答案是这个游戏是"联基"神器!由于和基 ...
- centos安装php服务器,在CentOS上安装搭建PHP+Apache+Mysql的服务器环境方法
以下安装过程是基于centos下,使用yum安装搭建PHP+Apache+Mysql的服务器环境 一:安装MySQL 1.安装yum install mysql mysql-server mysql- ...
- linux openssh升级7.4,RHEL Centos上升级OpenSSH7.4p1
二.配置yum源 1.新建光盘挂载目录/yum mkdir /yum 2.上传光盘到机器的某个目录,然后挂载到/yum目录下 mount -o loop rhel-server-6.5-x86_64- ...
- linux安装压缩文件的工具,centos上安装rar工具
一.下载rar安装包 wget https://www.rarlab.com/rar/rarlinux-x64-5.6.0.tar.gz 二.解压并安装 解压 tar -xzvf rarlinux-x ...
- 百度云服务器BCC centos实例搭建vsftpd站点
本文基于百度云服务器BCC的centOS 7实例.参考资料: Linux实例搭建FTP站点_搭建FTP站点_建站教程_云服务器 ECS-阿里云 一 安装vsftpd 安装vsftpd yum inst ...
- CentOS下搭建LAMP
CentOS下搭建LAMP 前言: 我这里会讲解lamp架构的安装到配置,以及安装过程中的一些报错点 提示:这里的安装包括源码安装和yum安装 什么是lamp? httpd服务通常和mysql.php ...
- 阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序
本篇博客主要内容为 介绍 阿里云服务器(CentOS) 搭建 Django 程序. 在正式开始之前,你需要有一台服务器. 文章目录 安装宝塔 配置 Python 运行环境 安装 Python 配置 d ...
最新文章
- java建一个conversion,Scala中的JavaConverters和JavaConversions有什么区别?
- 洛谷 [SDOI2015]约数个数和 解题报告
- Unity Shader着色器优化
- 读人人都是产品经理__2
- 高通cpu排行_安卓手机芯片排行:麒麟990 5G仅排第三,980还输给了765G?
- C++设计模式-迭代器模式
- Anti-Tech论 | 技术是如何一步一步腐蚀思想的?
- 失败的信息化案例分享
- HBase-shell及happyhbase
- LOJ 6278 数列分块入门2
- 并不是部所有市场都类似:评估 Marketplace 的 10 个特征
- 操作系统原理学习总结
- 视频转换器Prism Plus for mac轻松转换视频!
- 如何区分1位和4位数码管引脚图
- HOMAG工控机维修西门子IPC627D维修HG-A.1.0
- 绩效管理实务与管理效率提升-王晓耕老师
- 前端html制作中国地图,echarts实现中国地图
- Numpy中take的用法
- 互联网产品三大需求文档:BRD、MRD、PRD
- 干货 | Apache Flink 入门技术分享 PPT(多图预警)