freeradius一般用來進行賬戶認證管理,記賬管理,常見的電信運營商的寬帶賬戶,上網賬戶管理,記賬,都是使用的radius服務器進行鑒權記賬的。
官網:http://freeradius.org/download.html
下載地址:ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.2.0.tar.gz
配置:
tar zxvf freeradius-server-2.2.0.tar.gz
cd freeradius-server-2.2.0
./configure
make
make install
安裝完后,可以使用命令#radiusd -x 進入radiusd服務器的調式,
安裝成功后freeradius的配置文件的路徑是:usr/local/etc/raddb/
日志文件的路徑是:usr/local/var/log
測試freeradius是否安裝成功:
取消/etc/raddb/users從steve開始到Framed-Compression = Van-Jacobsen-TCP-IP為止的注釋符 # radtest steve testing localhost 1812 testing123 出現Access-Accept字樣則說明成功。 測試成功后 把/etc/raddb/users那些去掉的注釋符改回去。
Radiusd.conf 主要是定義環境變量和其他配置文件和日志文件的位置
Clients.conf 用來配置哪些NAS可以訪問radius
Eap.conf 用來配置與eap相關的參數,如使用哪種認證方法
Users 包含了每個用戶的配置和認證信息
登陸mysql #mysql -u root -p
創建數據庫:creat database radius
進入usr/local/etc/raddb/sql/mysql下
#mysql -u root -p radius <scheme.sql 把表導入到數據庫中
導入后,可以在用命令
#use radius
#show tabels;查看到導入的數據庫表
修改usr/local/etc/raddb/site_enabled下的defoult文件,把authorize{} 、accounting {}中的sql前面的 #去掉,并把authorize{} 中的files前加#;
修改與mysql數據庫連接的配置文件/usr/local/etc/raddb/sql.conf,
server = "localhost"
login = "root"
password = "數據庫root的登陸密碼111111"
radius_db = "radius" //radius為數據庫名
修改客戶端信息配置文件:/usr/local/etc/raddb/clients.conf
添加
Client 127.0.0.1 {
secret = testing123
shortname = localhost
nastype = other
}
修改radiusd.conf 去掉#include sql前的注釋
建立用戶信息:
mysql> insert into radcheck (username,attribute,op,value) values (‘zhang','User- Password',':=',‘user');
將用戶加入組中:
mysql> insert into usergroup (username,groupname) values (‘zhang','user');
輸入命令
#radiusd –X
再打開一個終端輸入命令
#radtest zhang user localhost 0 testing123
Sending Access-Request of id 222 to 127.0.0.1 port 1812
User-Name = “zhang"
User-Password = “user"
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=222, length=38
Service-Type = Framed-User
Framed-IP-Address = 255.255.255.255
Framed-IP-Netmask = 255.255.255.0
如果顯示如上信息,,freeradius和mysql安裝配置成功。
1、sql方式測試
用MySQL數據庫中加入的用戶進行測試
執行命令,啟動Freeradius的調試模式:
#Radiusd -X
另開終端執行命令,測試新增的用戶: radtest zhang user localhost 0 testing123
測試成功話會收到下面信息
Sending Access-Request of id 113 to 127.0.0.1 port 1812 User-Name = “zhang" User-Password = “user" NAS-IP-Address = 127.0.1.1 NAS-Port = 0 rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=113, length=20
2、測試SQL方式的EAP-MD5
執行命令
( echo "User-Name = /"sqluser/""; echo "Cleartext-Password = /"it580.com/""; echo "EAP-Code = Response"; echo "EAP-Id = 210"; echo "EAP-Type-Identity = /"sqluser/""; echo "Message- Authenticator = 0×00"; ) | /usr/local/bin/radeapclient -x 127.0.0.1 auth testing123
如果得到下面的結果說明測試成功
EAP-Id = 211 EAP-Code = Success