zoukankan      html  css  js  c++  java
  • 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端:

     

  • 相关阅读:
    yum插件yum-fastestmirror
    mysql利用yum安装指定数据存放路径
    快速搭建Seeddms文档管理系统
    Oracle单实例启动多个实例
    HTTP 304状态分析
    Oracle快速克隆安装
    Linux安装SQLite轻量级数据库
    redhat利用yum快速搭建LAMP环境
    将博客搬至CSDN
    GenericServlet 、Servlet和httpServler他们之间的关系
  • 原文地址:https://www.cnblogs.com/loganblogs/p/7544608.html
Copyright © 2011-2022 走看看