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_openssl为no
再次启动,正常,出现:
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