标签:
在Debian环境下架设PPPoE服务器方法步骤
         ;
一、环境 
服务器debian 2.6.18 
认证服务器radius+mysql 
软件ppp-2.4.4 rp-pppoe-3.8 radiusclient 
二、架设步骤 
1、编译内核 
为了能实现PPPoE,要先编译内核,让内核支持PPPoE。就在对内核进行编译。这里就不做介绍了,网上很多,相信很多人也编译过自己的内核。 
2、下载、安装ppp,pppoe软件 
(1)安装ppp软件 
这里用的是ppp-2.4.4,下载后,解压到/usr/src/ppp/ 
编译: 
cd /usr/src/ppp/ppp-2.4.4/ 
./configure --prefix=/usr/local/ppp //指定PPP安装的位置 
make 
maek install 
(2)安装rp-pppoe 
也是将rp-pppoe-3.8下载后,解压到/usr/src/ppp/下 
cd /usr/src/ppp/rp-pppoe-3.8/src 
./configure --prefix=/usr/local/ppp --enable-plugin=/usr/src/ppp/ppp-2.4.4 
指定rp-pppoe的安装位置为/usr/local/ppp ,加载ppp的路径/usr/src/ppp/ppp-2.4.4 
make 
make install 
(3)安装radiusclient 
这个很简单,直接apt-get install radiusclient 
不过先查找一下有没有radiusclient 
(4)创建pppd的快捷方式 
由于我的PPP和rp-pppoe是自己编译和指定路径安装的,所以安装程序不会将pppd安装到系统默认的系统路径/usr/bin/,所以这里我们要建立一个连接,将pppd 连接到系统默认的路径中去 
ln -s /usr/src/local/ppp/sbin/pppd /usr/bin/pppd 
(5)配置pppd 
更改/etc/ppp/pppoe.conf ,这个好象没有什么地方需要更改的,只是要注意一下 
# Ethernet card connected to DSL modem 
ETH=eth1 
这里需要指定你要进行拨号的网卡是哪一张 
(6)配置pppoe-server-options 
auth 
refuse-pap 
require-chap 
default-mru 
default-asyncmap 
lcp-echo-interval 60 
lcp-echo-failure 5 
ms-dns x.x.x.x 
noipdefault 
noipx 
nodefaultroute 
noproxyarp 
noktune 
10.0.0.1:10.0.0.254 
netmask 255.255.255.255 
这是我服务器上的配置,请参见配置说明,需要说明的是 
refuse pap 
require chap //认证方式 
ms-dns x.x.x.x 在这里为客户端配置DNS服务器。客户将被指定DNS服务器这里设定的DNS 
10.0.0.1:10.0.0.254 
netmask 255.255.255.255 这里指定PPPoE拨号成功后的分配的IP地址范围 
(7)配置options 
asyncmap 0 
auth 
crtscts 
nobsdcomp 
nodeflate 
nopcomp 
plugin /etc/ppp/plugins/radius.so 
radius-config-file /etc/radiusclient/radiusclient.conf 
defaultroute 
local 
lock 
hide-password 
modem 
proxyarp 
lcp-echo-interval 30 
lcp-echo-failure 4 
ipcp-accept-local 
ipcp-accept-remote 
noipx 
idle 3600 
其中 
plugin /etc/ppp/plugins/radius.so 
radius-config-file /etc/radiusclient/radiusclient.conf 
这两行指定加载radius.so的位置和radius-config配置文件的位置,这两个很重要,因为我采用的radius 进行认证。 
检查/etc/ppp/plugins/目录下有没有radius.so,如果没有,从安装目录下COPY一个过来就可以了 
cp /usr/local/ppp/lib/pppd/2.4.4/radius.so /etc/ppp/plugins/ 
(8)配置/etc/radiusclient/radiusclient.conf 
需要更改是 
auth_order radius 
authserver x:1812 
acctserver x:1813 
(9)配置/etc/radiusclient/servers 
在文件中添加与 radius服务器之间进行通信的密码和服务器名 
# Make sure that this file is mode 600 (readable only to owner)! 
# 
#Server Name or Client/Server pair Key 
#---------------- --------------- 
#portmaster.elemental.net hardlyasecret 
#portmaster2.elemental.net donttellanyone 
msrv whereknife 
(10)设置IP转发 
echo "1" > /proc/sys/net/ipv4/ip_forward 
        
    
    

