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