Linux下PPPoE Server测试环境搭建
1.1 服务器软件安装
安裝PPPoE Server 所需的软件:
- 安装ppp模块:
sudo apt-get install ppp //一般默认下已安装
- 安装rp-pppoe,从网络上下载安装包后拷贝到任意路径下,本文使用rp-pppoe-3.11版本:
sudo tar zxvf rp-pppoe-3.11.tar.gz //解压安装文件到当前路径,解压后ls可以看到当前路径下多出了一个rp-pppoe-3.11的文件夹
sudo chown -R root:root rp-pppoe-3.11 //改变文件属性
- 安裝软件开发函数库:
sudo apt-get install libc6-dev
- 生成需要的pppoe server程序

进入设置项页面后,这基本上不需要设置什么,直接回车,到防火墙选择项时选择0(即不需要防火墙):

到此软件安装完成。
1.2 配置
进入配置文件路径 :

- 配置option文件,编辑修改如下(基本取消红色项的注释符就可以了):
------------------/etc/ppp/options-----------------------------
ms-dns 202.106.0.20 //设置DNS
ms-dns 5.5.5.5
asyncmap 0
noauth
crtscts
local
lock
hide-password
modem
-pap //禁用pap认证方式
+chap //启用chap认证方式
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipx
-------------------------------------------------------------------
- 配置pppoe-server-option文件,编辑修改如下:
------------------/etc/ppp/pppoe-server-option-----------------------------
# PPP options for the PPPoE server
# LIC: GPL
auth
require-chap
default-mru
default-asyncmap
lcp-echo-interval 10
lcp-echo-failure 2
ms-dns 202.106.0.20
ms-dns 5.5.5.5
noipdefault
noipx
nodefaultroute
proxyarp
noktune
-------------------------------------------------------------------

- 添加用户,编辑chap-secrets文件增加用户名密码:
---------------/etc/ppp/chap-secrets------------------
# Secrets for authentication using CHAP
# client server secret IP addresses
test-pppoe * 123456 *
-----------------------------------------------------------
//*表示不指定服务器和IP地址

1.3 启动和关闭服务器
执行如下命令可以启动pppoe server:
pppoe-server -I eth0 -L 55.55.55.1 -R 55.55.55.55 -N 100
- 命令说明如下(也可以使用man pppoe-server查看更详细的内容):
-I eth0 指定pppoe服务器在哪个网卡接口监听连接请求
-L 55.55.55.1 指定pppoe服务器的ip地址。(注意:此IP地址不是网卡的IP地址,而是PPPOE服务器的虚拟IP,地址可以任意)
-R 55.55.55.55 pppoe服务器分配给客户端的IP地址,从55.55.55.55开始递增
-N 100 指定最多可以连接pppoe服务器的客户端数量(默认是64 最大是65534)
可以查看进程检查服务器是否已启动:

执行killall pppoe-server命令可以关闭所有pppoe服务器进程:

1.4 启用服务器数据转发
通过前面的配置,pppoe拨号客户端应该已经可以正常拨号并获取地址,但是如果不启用服务器的数据转发,client即使拿到IP地址,流量也只能到达server而无法转发出去,可通过以下步骤启用服务器的数据转发。
- 修改sysctl.conf文件启用forward:
# vi /etc/sysctl.conf

执行命令sysctl –p让修改生效:

- 使用iptables规则
iptables -A INPUT -i eth0 -s 55.55.55.0/24 -j DROP
iptables -t nat -A POSTROUTING -s 55.55.55.0/24 -j SNAT --to-source 192.168.10.99 //192.168.10.99为服务器上实际网络出口的地址
1.5 测试
本处使用win7系统进行测试:
创建新的网络连接



创建完成后,拨号连接则可以正常从服务器上获取地址并连接网络:

查看获取到的地址和DNS:

路由跟踪可以看到所有访问外部网络的数据均经过pppoe server进行转发:

电脑上抓包可以看到数据包已进行pppoe封装:

Server端:

Linux下PPPoE Server测试环境搭建的更多相关文章
- linux下PPTP Server测试环境搭建
1.1 服务器软件安装 安裝PPTP Server 所需的软件: 安装PPTP: sudo apt-get install pptpd PPTP Server的软件安装很简单,只需要安装pptpd ...
- 2019-9-16:渗透测试,基础学习,Linux下软件安装,环境搭建,笔记
Centos linux下软件安装yum 通过分析rpm包头数据后,自动解决依赖关系,直接云端下载软件,根据不同版本系统获取不同软件信息,按顺序下载rpm包,安装软件yum search 软件名:搜索 ...
- Linux下分布式项目部署环境搭建与使用(druid-1.0.25.jar)数据库连接加密
一.JDK安装 1.执行命令:cd Downloads/ 2.上 传:jdk-8u111-linux-x64.tar.gz 到Downloads 3.执行命令:tar -zxvf jdk-8u111- ...
- linux下安卓编译apk环境搭建
ubuntu下linux安卓编译环境搭建. 配置好编译环境 (前提是已经安装了jdk,可以用java -verison 命令查看) 一.设置环境变量 用vi ~/.bashrc 打开编译环境 JA ...
- Linux下.Net Core+Nginx环境搭建小白教程
前言 对于接触.Net Core的我们来说之前从未接触过Linux,出于资源和性能及成本的考虑我们可能要将我们的环境搬到Linux下,这对于我们从未接触过Linux的童鞋们来说很棘手,那么我今天将带你 ...
- Linux下的ssh实验环境搭建与管理
实验环境[size=10.5000pt]1:网桥模式[size=10.5000pt]2:安装好vmtoos[size=10.5000pt]3:安装好yum[size=10.5000pt]4:安装好ss ...
- linux下solr5.0.0环境搭建
1解压 linux下解压命令 tar -zxvf solr-5.0.0.tgz 2启动 linux 系统 直接切换solr-5.0.0\bin 文件夹 执行 solr star -p 8983 (如果 ...
- linux下系统编程C环境搭建
一.系统安装 我使用的是VMware8下的ubuntu12.04,这是培训老师说的,12.04相对来说,比较新,而且是5年长期支持版,不容易过时.对于系统的安装,我不想说很多,只是希望大家主义这几点: ...
- 【redis】 linux 下redis 集群环境搭建
Redis集群 (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:63791 ...
随机推荐
- Deep Learning 30: 卷积理解
一.深度卷积神经网络学习笔记(一): 1. 这篇文章以贾清扬的ppt说明了卷积的实质,更说明了卷积输出图像大小应该为: 假设输入图像尺寸为W,卷积核尺寸为F,步幅(stride)为S(卷积核移动的步幅 ...
- 使用Visual Studio 利用WinGDB编译和远程调试嵌入式Linux的程序
写这篇文章的目的在于帮助那些既要使用Visual Studio编写程序又要开发和调试嵌入式Linux 程序的苦命程序员们! 第一步, 安装 WinGDB ,下载位置 http://www.wingd ...
- ConfigParser模块用法
ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section, section 下有op ...
- ChartCtrl源码剖析之——CChartLegend类
CChartLegend类用来绘制每一个波形的描述信息,它处于该控件的区域,如下图所示: CChartLegend类的头文件. #if !defined(AFX_CHARTLEGEND_H__CD72 ...
- Pascal之工种问题
program Project2; Type ma=(A,B,C); wk=..; const x:array[ma,wk] of integer =((,,),(,,),(,,)); var max ...
- Linux 软链接 硬链接 ln命令(简约说明版)
注意:路径使用绝对路径!! 解决方法: 当我们需要在不同的目录下用到同一个文件时,会用到以下命令. 命令:ln 作用:为某一个文件在另外一个位置建立一个同步的链接 语法:ln [option] 源文件 ...
- hdu4608 I-number
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4608 题意:给定一个数X,注意X是个大数,X的长度不超过1e5. 让你求出一个Y,满足三个条件,Y&g ...
- 洛谷P4116 Qtree3(树剖+线段树)
传送门 LCT秒天秒地 树剖比较裸的题了 用线段树记录一下区间的最左边的黑点的编号(因为同一条链上肯定是最左边的深度最小,到根节点距离最近) 然后记得树剖的时候肯定是越后面的答案越优,因为深度越浅 / ...
- 原生javascript之实战 轮播图
成品效果如下图所示: 因为博客园限制图片上传大小被我删了一些帧数,所以图片看起来会有一点卡,现实运行是不会的 搭建HTML和CSS结构 HTML代码如下: <div class="wr ...
- Elasticsearch的功能、使用场景以及特点
1.Elasticsearch的功能,干什么的 2.Elasticsearch的适用场景,能在什么地方发挥作用 3.Elasticsearch的特点,跟其他类似的东西不同的地方在哪里 1.Elasti ...