文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>freeradius 和PostgreSQL设置心得!

freeradius 和PostgreSQL设置心得!

时间:2006-01-05  来源:edwardzeng

翻阅了几天的资料,今天终于将freeradius 和postgreSQL 的配置运行搞点了。
下面是我的安装步骤:
安装环境:  Radius-server(Debian):192.168.1.219; NAS:192.168.1.222; PostgreSQL server: 10.0.0.218.
1。软件包:
        postgres7.4
        Freeradius0.93
        Debian / turboLinux7
2。参阅资料: /
        http://www.frontios.com/freeradius.html (该文章非常详细。如果使用mysql按照它的指示做就ok.)
        http://www.mail-archive.com/free ... s.org/msg01180.html
        http://www.freeradius.org
(建议先看看Freeradius自带的文档资料:在freeradius-0.9.3/doc/目录下有各种资料,例如:rlm_sql,里面介绍的网站非常有用。)
(有兴趣还可以加入freeradius 的 maillist 讨论)

3。安装postgres 就不在这里谈了,只要你能登陆: psql -U postgres -d radius -h X.X.X.X 就行了。(另外,如果您的PostgreSQL安装路径不是在默认的地方,或者 /etc/ld.so.conf 下没有添加您要的postgresql 的lib. 那么您还要将您安装该postgresql 的lib目录添加上. 例如, 我的PostgreSQL安装目录是: /usr/local/pgsql 那么我就在/etc/ld.so.conf 文件里添加 /usr/local/pgsql/lib/ 然后再执行 ldconfig)
4。安装freeradius0.9.3.使用默认安装:./configure =>;make =>;make install.
5. 配置:首先在默认安装模式下:/usr/local/etc/raddb/会有几个配置文档。
       
                A.) clients:         Cli
                                local        testing321
                                192.168.1.222        okokokokok
                B.) clients.conf:设置share security 要和你的NAS的一致。
                                client 192.168.1.222 {
                                        secret         = test321
                                        shortname = ed_radius
                                        nastype = other }
                c.) postgresql.conf: 在sql { }里,设置 "driver = " rlm_sql_postgresql"
                                                       server = "10.0.0.218"
                                                       login = ''freeradius''
                                                       radius_db = "radius"
                                        其他默认设置。
                d.) radiusd.conf: 更改:"$INCLUDE ${confdir}/postgresql.conf"
                                        在authorize{ }里添加,在 "files" 前添加 "sql" 如果你不使用文本例如“users”来管理用户,可以直接将files注掉。                               
                                        在accccounting{ } 里添加: 在"unix"和"radutmp"之间添加"sql",
                                        在authentication{ } ,我注释掉了"unix" 和"eap" "files" (在新的版本1.04里已经没有该项,只要将上面的两项加上即可.)
                                        在新的版本1.04里, post-auth{} , 如果将 sql 前的屏闭#去掉, 那么Radius会将每次用户验证通过的时间纪录在表 radpostauth里。
                e.) sql.conf : 更该: 填上你数据库的资料。我发现如果你使用postgres.conf 该文件好象不起作用.为了保险起见还是修改相应的设置。
                f.) users: 添加测试帐号:bob        Password == "test"
                                                Reply-Message = "Hello,Bob"
                g.) 准备数据库:添加一个空白数据库:radius : su postgres =>; /usr/local/pgsql/bin/createdb radius =>;createuser freeradius
(注意: 在新的版本 1.04 里启用了新的Function, 因此在倒表格前先执行创建该功能, 通过: su pgsql -c ''/usr/local/pgsql/bin/createlang plpgsq freeradiusl''。 在执行完后再导就不会有报错: Error: Language "plpgsql" does not exist 。 )
                                导入表:=>;su root =>; psql -U postgres -d radius -h 10.0.0.218 < /usr/src/freeradius-0.9.3/src/modules/rlm_sql/drivers/rlm_sql_postgresql/db_postgresql.sql
                h.) 建立测试数据:具体看我上面的资料:        http://www.frontios.com/freeradius.html, 要非常注意attribute里的值,要完全一致,例如:不能将"Auth-Type"写为"Auth_type",或Framed-IP- Address 写为"Frame-IP-Address.                               
6. 测试:
        A.) 启动FreeRdaius: /usr/local/sbin/radiusd -Xxyz -l stdout
        b.) 测试文本帐号: radtest bob test 192.168.1.222:1645 0 test321.
                        通过:显示"Reply-Message" = "Hello,Bob"
        c.) 测试数据库帐号: rattest tom 654321 192.168.1.222:1645 0 test321
                        通过: 显示:Framed-IP-Address = 192.168.1.254.

===============
如果用文本验证模式来测试,将/usr/local/etc/raddb/users 文件里添加你的测试用户名和密码和类别。
可以参阅里面的例子。要留意 Service-Type , 如果是登临验证要用:Login 。 Auth-Type := Local
每次改完都要在从新启动radius服务器一次。因为radius在启动时会检查该文件。并将他放到缓存中。
相关阅读 更多 +
排行榜 更多 +
崩溃大陆2鱼竿如何获取

崩溃大陆2鱼竿如何获取

冒险解谜 下载
狙击手行动

狙击手行动

冒险解谜 下载
狙击突围行动最新版

狙击突围行动最新版

冒险解谜 下载