参考:

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. linux-制作linux启动U盘

    1. 使用的制作工具 Ø 下载需要制作启动盘的linux的iso文件 Ø 制作启动盘的软件linux usb creater Ø U盘(大小差不多需要4G的空间) 软件可以的下载的地址:http:// ...

  2. BestCoder Round #76 解题报告

    DZY Loves Partition [思路] 贪心 [代码] #include <iostream> using namespace std; typedef long long ll ...

  3. 叉积判断 POJ1696

    // 叉积判断 POJ1696 #include <iostream> #include <algorithm> #include <cstring> #inclu ...

  4. CentOS 安装 Sun JDK

    1. 卸载原Open JDK 查看已安装包 rpm -qa | grep java 如果已经安装有Open JDK,可能会列出类似下面的内容: tzdata-java-2015e-.el6.noarc ...

  5. windows防火墙无法启动,服务不存在

    系统的防火墙无法启动,系统服务里面也没有防火墙的服务,用下面第一种方法,导 入注册表,重启服务器,在服务里面有防火墙的服务了,然后启动就好了,需要重新配置防火墙 在控制面板中启动防火墙的时候提示无法识 ...

  6. NLog 錯誤小記

    IISExpress使用NLog遇到寫入權限錯誤,特記錄下來: NLog配置文件中指定FileName時需要指定為當前目錄,如不指定會產生 拒絕訪問 錯誤, 估計為不指定當前目錄時會將文件寫入iise ...

  7. Web Service学习之二:Web Service(for JAVA)的几种框架

    在讲Web Service开发服务时,需要介绍一个目前开发Web Service的几个框架,分别为Axis,axis2,Xfire,CXF以及JWS(也就是前面所述的JAX-WS,这是Java6发布所 ...

  8. ocp 1Z0-051 141-175题解析

    141. View the Exhibitand examine the structure of CUSTOMERS and GRADES tables. You need to displayna ...

  9. My97DatePicker的calendar.js的反混淆

    eval(string)函数 <script> eval(function(p, a, c, k, e, d) { p = 'function p(){console.log(" ...

  10. CodeForces 567A Gerald is into Art

    http://codeforces.com/problemset/problem/567/A A. Lineland Mail time limit per test 3 seconds memory ...