在Debian环境下架设PPPoE服务器方法

上一篇 / 下一篇  2008-05-10 18:35:59 / 个人分类:Linux

 一、环境

    服务器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


TAG: Linux

 

评分:0

我来说两句

Open Toolbar