参考:

http://blog.csdn.net/zhangwenjianqin/article/details/7655375

http://blog.sina.com.cn/s/blog_80435476010146n8.html

http://blog.csdn.net/liangyamin/article/details/7092358

http://www.sudu.cn/info/html/edu/20070102/290442.html

http://blog.csdn.net/babyfans/article/details/5978882

http://www.php100.com/html/webkaifa/Linux/2008/0418/2524.html

http://www.360doc.com/content/11/1212/13/1317564_171672507.shtml

http://www.360doc.com/content/11/1129/08/1317564_168265809.shtml

http://www.cnblogs.com/cutepig/archive/2007/10/03/913383.html

安装软件:

sudo apt-get install pppoe pppoeconf pppstatus

/etc/ppp/pap-secrets配置如下:

#client server secret IP address
"usr" * "123" *

/etc/ppp/chap-secrets的配置和pap-secrets一样
/etc/ppp/pppoe-server-options配置如下:

#auth  #注释掉这三行使用任意帐号就可以登录
#require-pap
#require-chap
login
lcp-echo-interval 30
lcp-echo-failure 4
ms-dns  202.118.224.101

然后运行:

modprobe pppoe
pppoe-server -I eth1 -N 200 -L 192.168.0.1 -R 192.168.0.100

I:指定响应PPPOE请求的端口,现在使用的eth0,也就是内网的

L:PPPOE服务器的IP地址,客户端连接可以看到的服务器地址

R:这是分配给客户端的地址池起始地址,本例中从192.168.1.2开始

N:地址池的IP地址递增几个,本例中添增10,也就是从192.168.1.2开始分配,一 共

分 配20个IP地址

到现在这个pppoe服务器就可以工作了。

测试:

pppoe-setup usr 123

pppoe-start

需要注意:

客户端要跟服务器在一个网段。

iptables设置:

打开ip转发和NAT功能

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables  -t nat -F
iptables  -t nat -L
iptables -t nat -A POSTROUTING -o eth0 -j SNAT  --to 219.217.235.73
#iptables -t nat -A POSTROUTING -o eth0 -j SNAT -s 192.168.0.0/24 --to 219.217.235.73

pppoe-server -I eth1  -r -u

用xp连接就可以了

注意:

为了防止局域网内用户设置ip和eth1一致,从而达到间接上网的目的,必须将eth1的ip设置为空!
我猜测
用NAT上网时,客户设置好ip和网关为eth1后,发给服务器的连接会被iptables识别并路由过去。
用pppoe设置好后,客户如果没有建立pppoe连接,发给服务器的数据报会被过虑到,iptables识别不了。
而建立连接后,iptables识别就能识别出他来了。
具体是怎么实现的有待研究。

Debian下的PPPOE服务器配置的更多相关文章

  1. debian下安装zendframework

    第一步,打开apache的rewrite模块,因为在debian下使用apache必须执行这一步 a2enmod rewrite #激活rewrite模块 /etc/init.d/apache2 re ...

  2. debian下使用gitosis+gitweb搭建SSH认证的git服务器

    搭建完成Git服务器后,需要使用两台机器进行测试,一台机器作为服务器端server,一台服务器作为客户端client.整个系统,需要三个计算机账户,这里假设server端的账户名为git,client ...

  3. Debian下查看系统版本信息命令汇总

    Debian下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然. 1.odoo@debian64:~$ uname -a(Debian查看版本当前操 ...

  4. pycharm 4.5在debian下安装

    1.去官网下载linux下的Tar包,下载后解压. 2.直接进入解压后的folder里面找bin下面的pycharm.sh,执行后发现没有任何反应. 3.查询资料发现是因为pycharm需要sun j ...

  5. Debian下安装Firefox与flash简介

    Debian下安装Firefox与flash简介 由于Debian在Firefox的版权上出现了问题,导致官方发布的Debian系统不能使用默认的Firefox浏览器,最后官方重编的Firefox改名 ...

  6. debian下软件包管理方式总结

    linux最流行的包管理方式除了rpm之外就是debian的deb格式了.目前采用deb管理方式的主流操作系统主要有debian和ubuntu系列.和rpm包管理方式不同的是,虽然debian也有包含 ...

  7. Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

    说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是 ...

  8. debian下samba配置

    debian下samba配置  http://blog.chinaunix.net/uid-2282111-id-2113216.html 服务器端配置过程:1. apt-get install sa ...

  9. Debian下安装中文包和输入法

    Debian下安装中文包和输入法 #aptitude install locales(没有aptitude的话可以先安装apt-get insall aptitude )  #dpkg-reconfi ...

随机推荐

  1. 读《编写高质量代码-Web前端开发修炼之道》笔记

    第一章 1.Web标准由一系列标准组合而成,核心理念是将网页的结构,样式和行为分离,所以分为三大部分:结构标准,样式标准和行为标准.结构标准包括XML标准,XHTML标准,HTML标准:样式标准指CS ...

  2. 《Java数据结构与算法》笔记-CH4-1栈的实现

    class StackX{ private int maxSize; private long[] stackArray; private int top; public StackX(int siz ...

  3. Spark SQL概念学习系列之Spark SQL的简介(一)

    Spark SQL提供在大数据上的SQL查询功能,类似于Shark在整个生态系统的角色,它们可以统称为SQL on Spark. 之前,Shark的查询编译和优化器依赖于Hive,使得Shark不得不 ...

  4. [转载]Linux LVM硬盘管理及LVM扩容

    最近项目中一直在用Linux,其中涉及到了Linux的LVM,本来想自己写一篇关于LVM的文章,搜了一下,发现了一篇更好的,转载过来,也感谢作者gaojun 原文Linux LVM硬盘管理及LVM扩容 ...

  5. mysql优化(一)

    1.选取最适用的字段属性  MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得 ...

  6. thymeleaf的属性优先级

    所有Thymeleaf属性定义一个数字优先,建立他们的顺序执行的标签.这个顺序是: Order Feature Attributes 1 Fragment inclusion th:includeth ...

  7. [iOS微博项目 - 1.0] - 搭建基本框架

    A.搭建基本环境   github: https://github.com/hellovoidworld/HVWWeibo   项目结构:   1.使用代码构建UI,不使用storyboard     ...

  8. (hzau)华中农业大学第四届程序设计大赛网络同步赛 G: Array C

    题目链接:http://acm.hzau.edu.cn/problem.php?id=18 题意是给你两个长度为n的数组,a数组相当于1到n的物品的数量,b数组相当于物品价值,而真正的价值表示是b[i ...

  9. Angularjs 初始化框架

    bindJQuery(); publishExternalAPI(angular); jqLite(document).ready(function() { angularInit(document, ...

  10. 实现CCLayer只显示一个矩形可见区域

    转自:http://blog.csdn.net/while0/article/details/11004147 CCLayer的区域可能会比较大,怎样让它只显示其中一部分区域呢?  这个还是有很多场景 ...