Debian下的PPPOE服务器配置
参考:
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服务器配置的更多相关文章
- debian下安装zendframework
第一步,打开apache的rewrite模块,因为在debian下使用apache必须执行这一步 a2enmod rewrite #激活rewrite模块 /etc/init.d/apache2 re ...
- debian下使用gitosis+gitweb搭建SSH认证的git服务器
搭建完成Git服务器后,需要使用两台机器进行测试,一台机器作为服务器端server,一台服务器作为客户端client.整个系统,需要三个计算机账户,这里假设server端的账户名为git,client ...
- Debian下查看系统版本信息命令汇总
Debian下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然. 1.odoo@debian64:~$ uname -a(Debian查看版本当前操 ...
- pycharm 4.5在debian下安装
1.去官网下载linux下的Tar包,下载后解压. 2.直接进入解压后的folder里面找bin下面的pycharm.sh,执行后发现没有任何反应. 3.查询资料发现是因为pycharm需要sun j ...
- Debian下安装Firefox与flash简介
Debian下安装Firefox与flash简介 由于Debian在Firefox的版权上出现了问题,导致官方发布的Debian系统不能使用默认的Firefox浏览器,最后官方重编的Firefox改名 ...
- debian下软件包管理方式总结
linux最流行的包管理方式除了rpm之外就是debian的deb格式了.目前采用deb管理方式的主流操作系统主要有debian和ubuntu系列.和rpm包管理方式不同的是,虽然debian也有包含 ...
- Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本
说明: 1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是 ...
- debian下samba配置
debian下samba配置 http://blog.chinaunix.net/uid-2282111-id-2113216.html 服务器端配置过程:1. apt-get install sa ...
- Debian下安装中文包和输入法
Debian下安装中文包和输入法 #aptitude install locales(没有aptitude的话可以先安装apt-get insall aptitude ) #dpkg-reconfi ...
随机推荐
- 通过gdb跟踪进程调度分析进程切换的过程
作者:吴乐 山东师范大学 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 本实验目的:通过gdb在lin ...
- mahout协同过滤算法
一直使用mahout的RowSimilarity来计算物品间的相似度,今晚仔细看了其实现,终于搞明白了他的计算逻辑. 上篇中介绍了整个itemBaseCF的mapreducer过程,主要有三个大的步骤 ...
- sqlserver 删掉日志文件ldf以后 救命语句
sqlserver 删掉日志文件ldf以后 救命步骤: 先新建一个新数据库, 删掉新建的 .mdb 用想要还原的mdb覆盖 执行下面的语句 ALTER DATABASE 'DB_Core' SET ...
- 生成chm文档工具- Sandcastle -摘自网络
Sandcastle是微软官方的文档生成工具,NDoc开发停止后,这个貌似也是唯一的一个这方面的工具.它从dll文件及其xml注释文件能够 生成完整的帮助文档,支持多种生成格式(Helpe1x:chm ...
- 转】Apache解决高并发和高可用
原博主于: http://www.ha97.com/5803.html 感谢! 服务器集群 Apache 和 nginx(web服务器) 1. 多台集群机器联合处理一个任务. 2. 一台机器处 ...
- 【转】从零开始,让你的框架支持CocoaPods
首先概括一个大概的步骤: 代码上传到Github 创建podspec文件 在Github上创建release版本 注册CocoaPods账号 上传代码到CocoaPods 检验是否上传成功 更新框架版 ...
- (转)从工程中删除Cocoapods
1. 删除工程文件夹下的Podfile.Podfile.lock及Pods文件夹 2. 删除xcworkspace文件 3. 使用xcodeproj文件打开工程,删除Frameworks组下的Pods ...
- Oracle导入导出之dmp
Oracle导入导出有两种方式,分别是imp/exp与impdp/expdp. 1.imp/exp exp scott/tiger file=d:\test.dmp log=d:\test.log o ...
- thymeleaf中的Literals
Literals即为文字 一.Text literals:文本文字 文本文字只是字符串指定的单引号之间.他们可以包含任何字符,但你应避免任何单引号里面\ ' <p> Now you are ...
- Linux命令之env:显示当前用户的环境变量
Linux系统里的env命令可以显示当前用户的环境变量,还可以用来在指定环境变量下执行其他命令.下面来比较一下set,env和export命令的异同:set命令显示当前shell的变量,包括当前用户的 ...