- 论坛徽章:
- 0
|
翻阅了几天的资料,今天终于将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/local/etc/raddb/users 文件里添加你的测试用户名和密码和类别。
可以参阅里面的例子。要留意 Service-Type , 如果是登临验证要用:Login 。 Auth-Type := Local
每次改完都要在从新启动radius服务器一次。因为radius在启动时会检查该文件。并将他放到缓存中。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/12730/showart_65473.html |
|