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 包负责会话阶段的数据传输。

时间: 2024-08-07 10:46:39

linux(centos)上搭建pppoe服务器的相关文章

在CentOS上搭建PHP服务器环境

您也可以使用一键自动部署环境的工具,请参见网友开发的这个工具 http://www.centos.bz/2013/08/ezhttp-tutorial/ 安装apache: yum install httpd httpd-devel 启动apache: /etc/init.d/httpd start 此时输入服务器的IP地址,应该看到apache的服务页面,端口不用输,apache默认就是使用80端口 安装mysql: yum install mysql mysql-server 启动mysql

Linux centOS下搭建RTMP服务器的具体步骤

以下的所需的安装包,可直接在linux系统终端下载,也可从其他地方下载之后拷到对应目录下解压使用,遇到连接不到国外网站时可改变压缩包地址 1.安装依赖包: yum install glibc.i686 #yum –y update #yum -y install gcc glibc glibc-devel make nasm pkgconfig lib-devel openssl-devel expat-devel gettext-devel libtool mhash.x86_64 perl-

在CentOS上搭建PHP服务器环境(转)

1.您也可以使用一键自动部署环境的工具,请参见网友开发的这个工具 http://www.centos.bz/2013/08/ezhttp-tutorial/ 2. 安装: wget -c http://lamp.phpstudy.net/phpstudy.bin chmod +x phpstudy.bin    #权限设置./phpstudy.bin #运行安装 3. 安装apache: yum install httpd httpd-devel 启动apache: /etc/init.d/ht

Centos上搭建ftp服务器

1.检查是否安装 了vsftpd,如果未安装 则安装vsftpd. 1)查看系统中是否安装了vsftpd,可以通过执行命令 :rpm -qa | grep vsftpd 2)如果没有安装 vsftpd,则安装 :yum -y install vsftpd 2.创建ftp用户,比如ftpuser.命令:useradd -s /sbin/nologin -d /home/ftpuser ftpuser 注意: 1)目录尽量不要选择根目录下,这里是/home/ftpuser,并且ftpuser这个目录

Linux虚拟机上搭建ftp服务器

Linux虚拟机上搭建ftp服务器 实验介绍:本文主要介绍在虚拟机的Linux系统上搭建ftp服务器,并且最终可以在另外一台win7虚拟机中能够正常上传和下载文件,并建立访问用户的黑白名单,以及虚拟账户功能. 1.首先打开Linux虚拟机,配置IP地址,本文的Linux的IP地址为192.168.1.16/24,直接通过系统光盘自带的vsftpd软件包安装.(前提是已经挂载了光盘镜像文件) 2.安装成功后,开启vsftpd服务,在win7虚拟机上(IP地址192.168.1.100)就可以访问L

详解Linux 6&7上搭建DNS服务器

整个hteret大家庭中连接了数以亿计的服务器个人主机,其中大部分的网站,部件等服务器都使用了域名形式的地址,如www.google.com.mail 163.com 等.很显然这种地址形式要比使月01231317202103 7A 的户地址形式更加直观而且更容易被用户记住. DNS系统在网络中的 作用处是维护着一个地址数现连,其中记录了各种主机城名与户地址的技关系上内便光安户租序现供正向的地址解析服务正向解析根据域名查IP 地址即将指定的域名解析为相对应的P地址,域名的正向解 析是DNS服务器

linux Centos下搭建性能监控Spotlight on Unix

公司要做压力测试,有Linux服务器一台,系统Centos6.5,为了直观的展示系统性能,更好的去分析服务器,故要搭建一个监控.闲言休讲,直奔主题. 首先,Linux服务器一台:系统Centos6.5 其次,在我的笔记本上安装监控软件客户端 软件下载地址链接: 链接:http://pan.baidu.com/s/14Vwlw     密码:tmw4 配置spotlight登陆用户,注意spotlight默认不能使用root用户进行连接,需要用户自己创建一个具有root权限的用户.具体方法新建账号

CentOS上搭建java WEB开发环境Tomcat+MySQL+JDK

对于初学者来说,想在linux系统上搭建一个java web服务器,不知道什么方案可行, 这篇文章主要是告诉这些基础和概念相对薄弱的同学,这样搭建是可行的,大体上没问 题的,出问题也是细节问题.所以此文只讲一个大体流程即可. 一.准备工作: Linux系统: CentOS release 6.4: Tomcat: apache-tomcat-8.0.9.tar.gz:下载:http://dev.mysql.com/downloads/ MySQL:mysql-5.1.73-3el6-5.src.

NoSql1 在Linux(CentOS)上安装memcached及使用

前言:       今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看下这部分的基础知识,所以现在打算好好把这两部分的基础再看一看.我会把看到的东西努力记录下来,给自己以后留个参考,如果能帮助到大家,自然是更好了~. 1.在Linux(CentOS)上安装memcached及使用.http://www.cnblogs.com/PurpleDream/p/4298208