logo

Navigation:First_Community->Computer->Database Goto:New TopicSettingSearch
freeradius+mysql+rp-pppoe 绝配手记
Posted by: imac Date: March 29, 2008 04:23PM

                                注:所有安装在UBUUTU7.10上进行,不保证其他平台有些差异,另外命令也许有些参数也不一定相同。
1、安装 ppp-2.4.3.tar.gz  
   
   
# tar zxvf php-2.4.3.tar.gz
    # cd ppp-2.4.3
    # ./configure
    # make
   
# make install
    # chmod u+s /usr/local/sbin/pppd
2、安装rp-pppoe   
   
# tar zxvf rp-pppoe-3.6.tar.gz
    # cd rp-pppoe-3.6/src
   
# ./configure --prefix=/usr/local --enable-plugin=../../ppp-2.4.3(刚刚ppp-2.4.3的路径)
   
# make
    # make install
3、复制模块
   
# cp /usr/local/lib/pppd/2.4.3/* /etc/ppp/plugins
附1:在此处可先做PPPOE-SERVER的测试:
   
配置:
    # cat /etc/ppp/options
    lock
    crtscts
   
nobsdcomp
    nodeflate
   
nopcomp
    # cat /etc/ppp/pppoe-server-options
    auth
   
require-chap
    default-mru
    default-asyncmap
   
lcp-echo-interval 60
    lcp-echo-failure 5
    ms-dns 202.98.96.68
(本地DNS服务器1,可调整)
    ms-dns xxx.xxx.xxx.xxx (本地DNS服务器2,可调整)
   
noipdefault
    noipx
    nodefaultroute
    noproxyarp
   
noktune
    192.168.0.5:192.168.0.200 (为客户端分配的IP段)
   
netmask 255.255.255.255
    logfile /var/log/pppd.log
    # cat
/etc/ppp/chap-secrets
       "test"   *   "123456"   *
    测试:
   
启动服务:
       # /usr/local/sbin/pppoe-server -k -I eth0 -L 192.168.0.1
-R 192.168.0.5 -N 20
       // -k 为内核模式
       // -I 为指定接入的网络设备
      
// -L 本地IP
       // -R 远程起始IP
       // -N 最大支持连接数
      
在windows下用拨号程序直接拨号即可,用户名密码为上。没意外情况,将会很顺利。此步通过,即可接着干下面的。
4、安装mysql 5.0.20
   
添加mysql用户和用户组:
        # groupadd mysql
        # useradd g mysql mysql
   
将源码包解压缩:
        # tar zxvf mysql_mysql-5.0.20a.tar.gz
   
进入生成的目录中并编译安装:
        # ./configure prefix=/usr/local/mysql   
        # make
        # make install
   
创建配置文件:
        # cp support-files/my-medium.cnf /etc/my.cnf
   
创建mysql授权表:
        # cd /usr/local/mysql
        # bin/mysql_install_db -user=mysql
   
更改文件属主:
        # cd /usr/local/mysql
        # chown R root .
        # chown R mysql var
        # chgrp R mysql .
   
启动mysql:
        # bin/mysqld_safe --user=mysql &
        (停止mysql的命令是:bin/mysqladmin shutdown uname -ppasswd)
   
连接:
        # bin/mysql uroot
   
对默认的root用户进行设置:
        mysql> use mysql;
        mysql> update user set
host= 'localhost ',password=password( '111111 ') where Host= 'localhost ' and
user=’root’;
        mysql>delete from user where
host=’Admin’;
        mysql>create database radius;
   
退出mysql:
        mysql>q
5、安装freeradius1.1.2
     将源码包解压缩:
        # tar zxvf freeradius_version
   
进入生成的目录中进行编译安装:
        编译之前,先处理一下mysql的库,freeradius默认查找libmysqlclient_r.so,可是mysql默认为libmysqlclient.so,内容完全一样,做个链接即可:(至关重要,否则启动freeradius的时候会提示找不到rlm_sql_mysql.so:Could not link driver rlm_sql_mysql: file not found)
        # echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
        # ldconfig
        # cd /usr/local/mysql/lib/mysql/
        # ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so
        # cd -
        # ./configure prefix=/usr/local/freeradius
        # make
        # make install
附2:测试freeradius:
    配置:
   
添加一个帐户:
    # vi /usr/local/freeradius/etc/raddb/users
       加入如下代码在任意地方  
        test    Auth-Type:=local,
User-Password=="123456",            
                Service-Type = Framed-User,        
                Framed-Protocol = PPP,               
                Framed-IP-Address = 192.168.0.6,         
                Framed-IP-Netmask = 255.255.255.0
    启动freedius:
    # /usr/local/freeradius/sbin/radiusd -X (调试模式)
    连接:
    # /usr/local/freeradius/bin/radtest test 123456 localhost 0
testing123
    可在client.conf里更改服务器的密码;
    正常的话能接收到 Access-Accept字样,表示成功。接着做下面的:
6、配置freeradius+sql:
    # cd /usr/local/freeradius/etc/raddb
       将radiusd.conf中authorize和accouting项中的sql前的“#”去掉
   
更改sql.conf文件中:
            server=”localhost”
            login=”root”
            password=”mysql的root的密码”
            radius_db=”radius”
       将users中的下面两行注释掉:
            DEFAULT Auth-Type = System     
(这个是从系统获取帐号和密码来认证)51Testing软件测试网$c!R9kHvSP-C
            
Fall-Through = 1
        # cd /usr/local/mysql
        # bin/mysql -uroot -p111111 radius
        # bin/mysql uroot p111111 radius
            mysql>insert into radgroupreply (groupname,attribute,op,value) values
( 'user ', 'Auth-Type ', ':= ', 'Local ');
            mysql>insert into radgroupreply (groupname,attribute,op,value) values
( 'user ', 'Service-Type ', ':= ', 'Framed-User ');
            mysql>insert into radgroupreply (groupname,attribute,op,value) values
( 'user ', 'Framed-IP-Address ', ':= ', '255.255.255.254 ');
            mysql>insert into radgroupreply (groupname,attribute,op,value) values
( 'user ', 'Framed-IP-Netmask ', ':= ', '255.255.255.0 ');
            mysql>insert into radgroupreply (groupname,attribute,op,value) values
( 'user ', 'Simultaneous-Use ', ':= ', '1 ');   (限制一个帐号只能拨一次)
   
加入测试账号
x0lx/u)U:o Dy@0        
    mysql>insert into radcheck (username,attribute,op,value) values
( 'test ', 'User-Password ', ':= ', 'test ');51Testing软件测试网lf*])Sm6aq?L z3[
      
测试账号加入组51Testing软件测试网N:[n;meZU '{
            
mysql>insert into usergroup (username,groupname) values
( 'test ', 'user ');
             以后添加帐户只需要进行如下操作即可:
            mysql>insert into radcheck (username,attribute,op,value)
values ( '用户名 ', 'User-Password ', ':= ', '密码 ');51Testing软件测试网lf*])Sm6aq?L z3[51Testing软件测试网N:[n;meZU '{
            
mysql>insert into usergroup (username,groupname) values
( '用户名 ', 'user ');
    测试:
   
启动radius:
            #  /usr/local/freeradius/sbin/radiusd X
   
执行命令进行测试:
            # /usr/local/freeradius/bin/radtest test test localhost 0
testing123
   
能收到Access-Accept字样即表示成功。
7、配置pppoe进去:
     
# mkdir /etc/ppp/radiuds
     # cd ppp-2.4.3/pppd/plugins/radius/etc
     
# cp * /etc/ppp/radius
     
# vi /etc/ppp/options 加上下面两句   
        
plugin /etc/ppp/plugins/radius.so // 注意pppd安装时候radius.so的位置
        
radius-config-file /etc/ppp/radius/radiusclient.conf
     
# cat /etc/ppp/radius/radiusclient.conf
        auth_order radius
        
login_tries 4
        login_timeout 60
        nologin /etc/nologin
   
    issue /etc/ppp/radius/issue
        authserver localhost:1812
        
acctserver localhost:1813
        servers /etc/ppp/radius/servers
        
dictionary /etc/ppp/radius/dictionary
        
login_radius /usr/local/sbin/login.radius
        
seqfile /var/run/radius.seq
        
mapfile /etc/ppp/radius/port-id-map
        default_realm
        
radius_timeout 10
        radius_retries 3
        
login_local /bin/login   
     #
cat /etc/ppp/radius/servers        
   
    localhost testing123 // testing123是前面设置的radius服务器密码         
# vi /etc/ppp/radius/dictionary
       主要看最后一行的路径,应为:      
        
INCLUDE /etc/ppp/radius/dictionary.microsoft
8、完全测试
     
到此为止,整个服务器配置完毕,可以重新启动拨号服务器试看。用SQL里的帐号test/test进行测试,好运.^()^
呵呵
               
               
               
               
               
               
               

CopyRight owned by the original author.--(www.MegaEntry.com)



Reply To This Message
Subject: 

Copyright 2005-2006 megaentry,All Rights Reserved
IE 6.0 or above is perfect