UBUUTU7.10上安装配置freeradius+mysql+rp-pppoe手记

来源:互联网 发布:网络品牌营销策略研究 编辑:程序博客网 时间:2024/06/05 04:12

 

注:所有安装在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

TOP

automatic

新手上路

Rank: 1

  • 个人空间
  • 发短消息
  • 加为好友
  • 当前离线
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字样,表示成功。接着做下面的:

TOP

automatic

新手上路

Rank: 1

  • 个人空间
  • 发短消息
  • 加为好友
  • 当前离线
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 < (freeradius路径)/doc/examples/mysql.sql
        # 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进行测试,好运.^()^
源自:http://www.phpap.com/bbs/viewthread.php?tid=15297