FreeRadius 安装过程记录

注:在阅读完之前,请勿尝试!

使用 apt-get 安装

输入命令:

sudo apt-get install freeradius

apt-get 安装时,没有radiusd程序。但是在man freeradius时,要求运行的是radiusd,同时,在官方网站上的文档中,也要求使用radiusd程序。因此卸载了这个方法安装的freeradius。

下载原代码编译安装

官方网站中,有这样的说法:

The server has reached a stable Version 2.2.6 (sig),
with incremental improvements added in ever release

因此我选择了这个版本。注意,sig文件是一种数字签名文件,存在的意义只是为了验证下载文件的正确。应该下载正确的tar.bz2文件。

解压及安装

运行命令:

tar xjzf freeradius-server-2.2.6/

然后进入解压后的文件夹,运行命令(参考INSTALL文件):

./configure

make

make install

问题

按照官方文档,以超级用户身份运行:

radius -X

有错误提示:

adiusd: error while loading shared
libraries: libfreeradius-radius-020206.so

但是在目录/usr/local/lib/下面是存在libfreeradius-radius-020206.so的。因此运行ldconfig命令。

再次运行radiusd,发现有以下问题:

unable to write 'random state'

解决方法是编辑文件/usr/local/etc/raddb/radiusd.conf, 设置其allow_vulnerable_opensslno

再次启动,正常,出现:

Ready to process requests.

按照官方文档的测试方法,在/usr/local/etc/raddb/users的最前面添加:

`testing Cleartext-Password := “password”

再次运行radius -X,运行:

radtest testing password 127.0.0.1 0 testing123

出现 Access-Accept,标志FreeRadius安装成功。

再次使用apt安装

今天看到了完整的官方pdf文档,作为Debian还是应该使用apt安装。方法为:

sudo apt-get install freeradius

然后在/usr/sbin目录下创建连接:

sudo ln -s freeradius radiusd

在运行radiusd时会说是端口已经被使用,是因为系统服务已经自动运行。关闭之后再运行即可:

sudo service freeradius stop
sudo radiusd -X