Linux下freeradius-server和freeradius-client的安装和验证
1. radius server服务搭建
- 从 http://freeradius.org 下载freeradius-server-3.0.15.tar.gz 安装包
- 一般缺少libtalloc 库,需要安装talloc-2.1.7.tar.gz
先从 https://www.samba.org/ftp/talloc/talloc-2.17.tar.gz 下载 talloc-2.1.7.tar.gz
解压安装如下:
$ tar -zxvf talloc-2.1.7.tar.gz
$ cd talloc-2.1.7/
$ ./configure
$ make
$ sudo make install
3.解压 freeradius-server-3.0.15.tar.gz
tar -zxvf freeradius-server-3.0.15.tar.gz
cd freeradius-server-3.0.15
4. ./configure
5. make
6. make install
7. sudo radiusd –X (启动服务)
启动失败:
修改usr/local/etc/raddb下的radiusd.conf文件,找到allow_vulnerable_openssl = no,修改成allow_vulnerable_openssl = yes
在docker 下的freeradius-server-3.0.15$目录下,启动server 服务,如下图为开启服务成功
(ctrl +c 中断服务)
8.打开配置文件目录:/usr/local/etc/raddb ,编辑其中的users文件
这个文件就是定义radiusd用户的文件、其实正式使用验证服务器的话应该是使用数据库如mysql来管理这些用户数据的、不过现在开发测试阶段就先把用户信息使用这个users的文本方式来简单记录一下,
找到如下代码段,取消注释并保存退出:
steve Cleartext-Password := "testing" Service-Type = Framed-User, Framed-Protocol = PPP, Framed-IP-Address = 172.16.3.33, Framed-IP-Netmask = 255.255.255.0, Framed-Routing = Broadcast-Listen, Framed-Filter-Id = "std.ppp", Framed-MTU = 1500, Framed-Compression = Van-Jacobsen-TCP-IP
这时,多了个steve 用户,
先用docker——enter 分裂出一个窗口,再执行
radtest steve testing localhost 1812 testing123
出现以下字样表示安装成功
Access-Accept 收到接受字样,如图
至此,freeradius-server 搭建成功
2. CSU freeradius-client 客户端的移植
下载freeradius-client-1.1.7.tar.gz tar ...
2. sudo ./configure --host=arm-linux-gnueabihf --prefix=$HOME/ZXDUPA-PMSA-V3/platform/power/etc/radius
(不指定prefix,则可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr /local/share。你要卸载这个程序,要么在原来的make目录下用一次make uninstall(前提是make文件指定过uninstall),要么去上述目录里面把相关的文件一个个手工删掉。
指定prefix,直接删掉一个文件夹就够了。)
3. Sudo make
4.Sudo make install
注:编译报错的sudo 一下
3. 测试CSU和服务器之间的认证功能
3.1配置linux radius服务器
需要修改以下几个文件
修改文件 /usr/local/etc/raddb/users,增加如下所示意
修改文件 /usr/local/etc/raddb/clients.conf,增加如下所示
执行如下命令 radiusd –X
3.2配置csu radius client客户端
需要修改以下几个文件
/mnt/radius/etc/radiusclient/ radiusclient.conf
....../radius/etc/radiusclient/ servers
把/mnt/radius/lib下的文件拷贝到/lib下
在/mnt/radius/sbin目录下
执行 ./radlogin -f ../etc/radiusclient/radiusclient.conf 命令
export LD_LIBARY_PATH="/usr/local/lib"
/sbin/ldconfig -v
输入用户名:jj,密码:jj
表示认证成功
4. 移植eapol_test
- 下载wpa_supplicant-0.7.3.tar.gz
- tar –zxvf wpa_supplicant-0.7.3.tar.gz
- cd wpa_supplicant-0.7.3/wpa_supplicant
- cp defconfig .config
- vi .config,按照如下修改
(硬浮点的交叉编译,且openssl 为1.0.2g,openssl的include和lib路径和 0.9.8g的稍有不同)
CC=arm-linux-gnueabihf-gcc
CFLAGS += -Os -I/usr/arm-linux-gnueabihf/include
LIBS = -L/usr/arm-linux-gnueabihf/lib
6.make eapol_test
7.此时生成eapol_test,file eapol_test
eapol_test 配置文件
执行
./eapol_test -c ../etc/config/eapol.conf -a 10.9.85.19 -s Power123 -p 4000
补充:
radius server 配置文件目录
/usr/local/etc/raddb/users
/usr/local/etc/raddb/clients.conf
/radius/sbin目录下
执行 ./radlogin -f ../etc/radiusclient/radiusclient.conf 命令
radius client目录 /usr/local/etc/radiusclient$
radius client 配置文件目录
/etc/radiusclient/ radiusclient.conf
/etc/radiusclient/ servers