首 页文章中心

Linux学习网

您的位置Linux学习网 > Linux服务器应用 > 文章内容

PPPOE + FreeRADIUS + MySQL 配置过程

作者:佚名  来源:不详  发布时间:2008-6-20 8:09:00
最近两天花精力把PPPOE拨号服务器做了一下,因为网上这方面的资料少得可怜,
所以觉得有必要记录一下,用以方便今后需要做这些东西的同志们。

硬件环境:C4 2.6/ 256M/ 80G IDEHD/ intel 82801集成网卡。
软件环境:Debian sarge 3.1r0 netinst
用到的包:
ppp-2.4.3.tar.gz
ppp-2.4.3-mppe-mppc-1.1.patch.gz
linux-2.4.30.tar.bz2
linux-2.4.30-mppe-mppc-1.3.patch.gz
rp-pppoe-3.5.tar.gz
mysql-4.1.12.tar.gz
freeradius-1.0.4.tar.gz

其中的 ppp-2.4.3.tar.gz 在http://ppp.samba.org/ 可以下载到
linux-2.4.30.tar.bz2 在 http://www.kernel.org/ 可以下载到
ppp-2.4.3-mppe-mppc-1.1.patch.gz 和 linux-2.4.30-mppe-mppc-1.3.patch.gz
可以在 http://www.polbox.com/h/hs001/ 下载到
rp-pppoe-3.5.tar.gz 在 http://www.roaringpenguin.com/penguin/open_source_rp-pppoe.php
可以下载到
mysql-4.1.12.tar.gz 可以在 http://dev.mysql.com/ 下载到
freeradius-1.0.4.tar.gz 可以在 http://www.freeradius.org/ 下载到。


网络情况:
IP: 192.168.1.123
mask : 255.255.254.0
gateway: 192.168.0.1
dns: 192.168.0.2


下面开始:

我的系统一开始就给我装了ppp和pppoe,为了自立更生,我还是把他们删掉了,debian下做这个坏事比较方便:


# apt-get remove ppp pppconfig pppoe pppoeconf
1、重编译内核,加入PPP和PPPOE的支持;
首先解压内核源码,然后把MPPC+MPPE的补丁打上。之后就make menuconfig , 加入以下支持:


code maturity level options——>;
  • prompt for development and/or incomplete code/drivers
    networking options——>;
  • packet socket
  • packet socket:mmapped io
    network device support——>;
    ;PPP (point-to-point protocol) support
  • PPP multilink support (EXPERIMENTAL)
    ;PPP support for async serial ports
    ;PPP support for sync tty ports
    ;PPP Deflate compression
    ;PPP BSD-Compress compression
    ;Microsoft PPP compression/encryption (MPPC/MPPE)
    ;PPP over Ethernet (EXPERIMENTAL)
    character devices——>;
  • non-standard serial port support
    [M]hdlc line discipline support
    Cryptographic options--->;
    [M]SHA1 digest algorithm
    [M]ARC4 cipher algorithm
    按照上面的配置重新编译内核,然后安装内核,并用它启动完毕后,备用。

    2、创建一个/dev/ppp 设备文件,这是ppp拨号所必需的。


    # mknod --mode=664 /dev/ppp c 108 0
    3、确保 /etc/modules.conf 里面有如下几行:


    alias char-major-108 ppp_generic
    alias tty-ldisc-3 ppp_async
    alias tty-ldisc-13 n_hdlc
    alias tty-ldisc-14 ppp_synctty
    alias net-pf-24 pppoe
    4、安装 ppp-2.4.3.tar.gz
    解压缩之后,打上ppp-2.4.3-mppe-mppc-1.1.patch.gz 补丁,然后编译安装:


    # tar zxvf php-2.4.3.tar.gz
    # gunzip ppp-2.4.3-mppe-mppc-1.1.patch.gz
    # patch -p0 < ppp-2.4.3-mppe-mppc-1.1.patch
    # cd ppp-2.4.3
    # ./configure
    # make
    # make install install-etcppp
    # chmod u+s /usr/local/sbin/pppd
    # cd ..
    5、安装rp-pppoe


    # tar zxvf rp-pppoe-3.5.tar.gz
    # cd rp-pppoe-3.5/src
    # ./configure --prefix=/usr/local --enable-plugin=../../ppp-2.4.3
    # make
    # make install
    6、把生成的rp-pppoe.so/radius.so等模块复制到ppp的配置目录里


    # cp /usr/local/lib/pppd/2.4.3/* /etc/ppp/plugins
    7、配置 /etc/ppp/options


    # cat /etc/ppp/options
    lock
    crtscts
    nobsdcomp
    nodeflate
    nopcomp
    8、配置 /etc/ppp/pppoe-server-options


    # cat /etc/ppp/pppoe-server-options
    auth
    require-chap
    default-mru
    default-asyncmap
    lcp-echo-interval 60
    lcp-echo-failure 5
    ms-dns 192.168.0.2
    ms-dns 61.132.90.92
    noipdefault
    noipx
    nodefaultroute
    noproxyarp
    noktune
    10.0.0.1:10.0.0.200
    netmask 255.255.255.255
    logfile /var/log/pppd.log
    * 这里 192.168.0.2 和 61.132.90.92是我使用的dns
    * 10.0.0.1:10.0.0.200 是客户端分配的IP区间

    9、设置密码文件 (先实现文本文件密码认证)


    # cat /etc/ppp/chap-secrets
    hefish * 123456 *
    10、启动pppoe拨入服务:


    /usr/local/sbin/pppoe-server -k -I eth0 -L 192.168.1.123 -R 10.0.0.1 -N 128
    * -k 使用PPP的kernel mode
    * -I eth0 启动pppoe拨号接入的网卡设备
    * -L 本地地址IP
    * -R 客户端起始IP
    * -N 最大并发连接数

    11、启动IP转发,使客户端可以通过pppoe服务器访问外网。


    # echo 1 >; /proc/sys/net/ipv4/ip_forward
    # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE -s 0/0
    启动之后就可以使用PPPOE拨号接入了。
    客户端可以采用win2000+raspppoe或者WinXP自带的pppoe,我用的win2003+raspppoe就不行,改用win2003自带的PPPOE就好了,想必也是软件压缩的问题,按理说我打了MPPC补丁,应该是支持软件压缩了,这个问题以后再说吧。

    如果拨号之后无法访问拨号服务器,那就把客户端的PPP设置里面的启用软件压缩去掉,即可。

    先休息一下。稍候继续。
    ---------------------------------------------------------


    [1] [2]  下一页

  • 收藏本页到: 365Key | del.icio.us | | 添加到雅虎收藏+
  • 网站帮助 - 广告合作 - 网站地图