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测试环境搭建的更多相关文章

  1. linux下PPTP Server测试环境搭建

    1.1  服务器软件安装 安裝PPTP  Server 所需的软件: 安装PPTP: sudo apt-get install pptpd PPTP Server的软件安装很简单,只需要安装pptpd ...

  2. 2019-9-16:渗透测试,基础学习,Linux下软件安装,环境搭建,笔记

    Centos linux下软件安装yum 通过分析rpm包头数据后,自动解决依赖关系,直接云端下载软件,根据不同版本系统获取不同软件信息,按顺序下载rpm包,安装软件yum search 软件名:搜索 ...

  3. Linux下分布式项目部署环境搭建与使用(druid-1.0.25.jar)数据库连接加密

    一.JDK安装 1.执行命令:cd Downloads/ 2.上 传:jdk-8u111-linux-x64.tar.gz 到Downloads 3.执行命令:tar -zxvf jdk-8u111- ...

  4. linux下安卓编译apk环境搭建

    ubuntu下linux安卓编译环境搭建. 配置好编译环境 (前提是已经安装了jdk,可以用java -verison 命令查看) 一.设置环境变量 用vi  ~/.bashrc  打开编译环境 JA ...

  5. Linux下.Net Core+Nginx环境搭建小白教程

    前言 对于接触.Net Core的我们来说之前从未接触过Linux,出于资源和性能及成本的考虑我们可能要将我们的环境搬到Linux下,这对于我们从未接触过Linux的童鞋们来说很棘手,那么我今天将带你 ...

  6. Linux下的ssh实验环境搭建与管理

    实验环境[size=10.5000pt]1:网桥模式[size=10.5000pt]2:安装好vmtoos[size=10.5000pt]3:安装好yum[size=10.5000pt]4:安装好ss ...

  7. linux下solr5.0.0环境搭建

    1解压 linux下解压命令 tar -zxvf solr-5.0.0.tgz 2启动 linux 系统 直接切换solr-5.0.0\bin 文件夹 执行 solr star -p 8983 (如果 ...

  8. linux下系统编程C环境搭建

    一.系统安装 我使用的是VMware8下的ubuntu12.04,这是培训老师说的,12.04相对来说,比较新,而且是5年长期支持版,不容易过时.对于系统的安装,我不想说很多,只是希望大家主义这几点: ...

  9. 【redis】 linux 下redis 集群环境搭建

    Redis集群 (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:63791 ...

随机推荐

  1. 原生js写简单轮播图方式1-从左向右滑动

    轮播图就是让图片每隔几秒自动滑动,达到图片轮流播放的效果.轮播图从效果来说有滑动式的也有渐入式的,滑动式的轮播图就是图片从左向右滑入的效果,渐入式的轮播图就是图片根据透明度渐渐显示的效果,这里说的是实 ...

  2. 并不对劲的loj2179:p3714:[BJOI2017]树的难题

    题目大意 有一棵树,\(n\)(\(n\leq2*10^5\))个点,每条边\(i\)有颜色\(w_i\),共有\(m\)(\(m\leq n\))种颜色,第\(i\)种颜色的权值是\(c_i\)(\ ...

  3. sizeof注意

    1.sizeof用于获取非托管类型的大小(以字节为单位). 非托管类型包括下表列出的内置类型以及以下类型: 枚举类型 指针类型 用户定义的结构,不包含任何属于引用类型的字段或属性     struct ...

  4. css content

    before after demo 1 添加描述信息 div1:after{conent:"天假额外的文字"} 2 也可以显示元素的某些属性 <a class="d ...

  5. ChartCtrl源码剖析之——CChartLegend类

    CChartLegend类用来绘制每一个波形的描述信息,它处于该控件的区域,如下图所示: CChartLegend类的头文件. #if !defined(AFX_CHARTLEGEND_H__CD72 ...

  6. silverlight 子UserControl获取父UserControl

    文章转载自: [Silverlight] Silverlight中访问父对象 http://bbs.blueidea.com/thread-2964806-1-1.html 当前一个需求是一个User ...

  7. bzoj 1084: [SCOI2005]最大子矩阵【dp】

    分情况讨论,m=1的时候比较简单,设f[i][j]为到i选了j个矩形,前缀和转移一下就行了 m=2,设f[i][j][k]为1行前i个,2行前j个,一共选了k个,i!=j的时候各自转移同m=1,否则转 ...

  8. P4412 [SHOI2004]最小生成树

    传送门 不难发现,对于每一条树边肯定要减小它的权值,对于每一条非树边要增加它的权值 对于每一条非树边\(j\),他肯定与某些树边构成了一个环,那么它的边权必须大于等于这个环上的所有边 设其中一条边为\ ...

  9. VirtualBox搭建1主2从虚拟机

    环境要求 最近在使用VirtualBox搭建一个实验环境,由于公司规定了所有的机器都不能使用固定IP,都必须由DHCP自动获取. 为了不影响公司整理的网络环境,只能把实验用的网络环境限制在使用内部IP ...

  10. 传统的线程互斥技术:Synchronized关键字

    多个线程操作同一个方法或变量时常常出现错误,要保证每个线程都正常运行就要通过加锁,每次只有一个能够拿到锁通过.如下: package cn.sp.thread; /** * Created by 2Y ...