前提:内核要支持PPP
RPM安装
RPM此文章是转载 网址:
系统环境:
fedora 4       2.6.11      i386
rp-pppoe-3.5-27
配置实现:
1
、检查系统是否已安装PPPOE服务器
        rpm -q rp-pppoe
        
如果未安装,可以到 [url]www.roaringpenguin.com/pppoe/[/url] 下载
2
、配置系统以支持IP转发
        
修改/etc/sysctl.conf文件:net.ipv4.ip_forward = 1
3
、修改PPPOE身份验证方式

        
修改/etc/ppp/pppoe-server-options,全部内容如下:
        require-chap       #
使用chap验证协议,如果使用pap验证协议,则此行为 require-pap
        login
        lcp-echo-interval 10
        lcp-echo-failure 2
        ms-dns 202.96.134.133       #
分配给客户端的
DNS
        ms-dns 202.96.128.68
4
、添加身份验证账户

        
修改/etc/ppp/chap-secrets,添加账户     #如果使用pap验证,则修改/etc/ppp/pap-secrets
        username * password *
5
、启动pppoe服务器

        pppoe-server -I eth0 -L 192.168.0.1 -R 192.168.0.5 -N 10
        -I eth0       
指定pppoe服务器在那个网卡接口监听连接请求
        -L 192.168.0.1       
指定pppoe服务器的ip地址。(注意:此IP地址不是网卡的IP地址,而是PPPOE服务器的虚拟IP
        -R 192.168.0.5       pppoe
服务器分配给客户端的IP地址,从192.168.0.5开始,递增
        -N 10       
指定最多可以连接pppoe服务器的客户端数量
6
、关闭PPPOE服务器
       killall pppoe-server
备注:
1
、如果使用 pap 验证方式, windowsxp 以上系统自带的 pppoe 拨号,无法拨通。可能原因是 pap 使用明文密码验证,而 windows 保存的密码是加密的,而且是不可恢复的加密,所以 windows 无法提供密码明文。
2
/etc/ppp/pppoe-server-options /etc/ppp/options ,配置无论写在哪个文件中,都能够起到作用。
编译安装
这篇文章是根据网上的文章作为参考,在根据自己的实验而得出的。
软件: pppoe-3.8.tar.gz
       Ppp-2.4.2.tar.gz 2.4.3 的版本以上与 syslog 冲突) (ppp.samba.org)
这只是做内部测试,并未提供使用,正式提供使用的话,必须要使用 iptalbes 开放 pppoe
echo “1”>/proc/sys/net/ipv4/ip_forward
二、建立 PPP 服务器
在建立拨号服务器之前,应确保你在内核中打开了 IP 转发功能:
编译 PPP 服务器很容易,就是按以下几步就可以了:
tar xzvf Ppp-2.4.2.tar.gz
cd ppp-2.4.2
./configure (默认会在 /usr/sbin
( 如果你要修改执行文件的路径,还有配置文件的路径,就修改 Makefiles. 要想执行文件找到你指定配置文件的路径,必须要改源代码,在 pppd 的安装目录下,进入 pppd 目录,找到 pathnames.h 这个头文件,找到 #define _PATH_*  修改后面的路径就行了 )
Make
Make install
修改 pppd 的访问权限,允许由 root 启动服务进程
chmod u+s /usr/sbin/pppd
三、建立 PPPOE 服务器
cd /rp-pppoe-3.8/src
./configure
make
make install
启动 PPPOE 进程:
pppoe-server -I eth0 –L 10.0.0.1 –R 10.0.0.2 –N 64 -u
-L:  指定 PPPOE 服务器的 IP 地址
-R   指定 PPPOE 拨入服务器分配给客户端的 IP 地址段
-N   允许客户端同时拨入的数量(默认是 64  最大是 65534
-I:  监听的接口
修改 /etc/ppp/options ,查看有没有以下几行,没有就加进去 :
linkname smooth
noauth
privgroup nobody
local
require-chap
login
auth
defaultroute
hide-password
ipcp-accept-local
ipcp-accept-remote
192.168.0.5:192.168.0.255
netmask 255.255.255.0
ms-dns 192.168.0.1
logfile /var/log/pppoe.log
修改 /etc/ppp/pppoe-server-options ,将所有的行都注释掉
添加用户到 /etc/ppp/chap-secrets , 例如添加用户 luo ,密码为 123456 ,允许从任何位置拨入 :
#client server secret ip addresses
luo  * “123456” *
/etc/ppp/ 下有个 ip-up 的脚本,它的作用是每次客户端拨号成功它就执行这个脚本,大家可以自定义这个脚本做出你想要的功能。
还有个 ip-down ,这个没试过,我想应该是断开执行的脚本吧!
设置 windows 的用户名: luo  密码:  123456 ,如果连接成功就可以进行下一步
备注:
可以跟radius ldap  相结合,可惜我一直未能结合成功,如果有人成功的话共享一下啊!