1.yum install openssl
2.yum install openssl-devel
=============================================================================
JRadius 服務端安裝
3.在/usr目錄下創建jradius目錄,把server.zip包上傳到jradius目錄下
4.通過unzip server.zip 解壓zip包
5.通過cd命令進入server目錄
6.在 /usr/jradius/server/scripts目錄下有start.sh文件但是無法啓動,找不到類,vim start.sh打開
(cd `dirname $0`; classpath=".:./lib"
for jar in /data/jradius/server/target/lib/*.jar; do
classpath="$classpath:$jar"
done
CLASSPATH="$classpath" java net.jradius.StartSpring)
#把上面的/data/jradius修改成/usr/jradius, 再把 /usr/jradius/server/config下的所以配置文件copy到/usr/jradius/server/scripts的目錄下,
7.給start.sh文件授權:chmod a+x start.sh,通過/usr/jradius/server/scripts/start.sh運行jradius服務
#忽略出現的ERROR [net.jradius.log.Log4JRadiusLogger] - No command found for null錯誤
=============================================================================
FreeRADIUS 服務端安裝
8.在/usr目錄下創建freeradius目錄,把freeradius-server-2.2.10.tar.gz上傳到freeradius下。
9.執行下面的命令
tar zxf freeradius-server-2.2.10.tar.gz
cd freeradius-server-2.2.10
echo rlm_jradius >> src/modules/stable #有freeradius對jradius的支持模塊了。
./configure
make
make install
10.vim /usr/local/etc/raddb/users
查找 steve Cleartext-Password := "testing" (76-84行), 取消該段內容的註釋。
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
11./usr/local/sbin/radiusd -X
# 大寫X,意思是以debug模式運行。 如果有出現(
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /var/run/radiusd/radiusd.sock
Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
Listening on proxy address * port 1814表明正常啓動成功了
12./usr/local/bin/radtest steve testing localhost 0 testing123
#新開一個窗口執行,看到 "Access-Accept packet" 表示成功了,"Access-Reject" 表示失敗了。
============================================================================
FreeRadius MySQL 模塊配置
13.vim /usr/local/etc/raddb/radiusd.conf
# 查找"sql.conf”(743行),去掉#號
#設置FreeRadius寫log日誌
Log{
auth = yes #第476行
auth_badpass = yes #第484行
auth_goodpass = yes #第485行
}
#日誌位置在/usr/local/var/log/radius
#添加jradius支持 放在760行後面
modules {
...
# configure the rlm_jradius module
jradius {
name = "example" # The "Requester" name (a single
# JRadius server can have
# multiple "applications")
primary = "localhost" # Uses default port 1814
secondary = "192.168.0.1" # Fail-over server
tertiary = "192.168.0.1:8002" # Fail-over server on port 8002
timeout = 1 # Connect Timeout
onfail = NOOP # What to do if no JRadius
# Server is found. Options are:
# FAIL (default), OK, REJECT, NOOP
keepalive = yes # Keep connections to JRadius pooled
connections = 8 # Number of pooled JRadius connections
}
}
14.創建 radius 數據庫及表
mysqladmin -uroot -ppeople2000 create radius;
# people2000是mysql的root密碼
#修改radius帳號的密碼
cd /usr/local/etc/raddb/sql/mysql
sed -i 's/radpass/123456/g' admin.sql
sed -i 's/radpass/123456/g' /usr/local/etc/raddb/sql.conf
mysql -uroot -ppeople2000 < admin.sql
mysql -uroot -ppeople2000 radius < ippool.sql
mysql -uroot -ppeople2000 radius < schema.sql
mysql -uroot -ppeople2000 radius < wimax.sql
mysql -uroot -ppeople2000 radius < cui.sql
mysql -uroot -ppeople2000 radius < nas.sql
#freeRadius自帶8張表
#nas nas配置表
#radcheck 用戶檢查信息表
#radreply 用戶回覆信息表
#radgroupcheck 用戶組檢查信息表
#radgroupreply 用戶組回覆信息表
#radusergroup 用戶和組關係表
#radacct 計費情況表
#radpostauth 認證後處理信息,可以包括認證請求成功和拒絕的記錄。
#FreeRadius數據表詳解:https://blog.csdn.net/ChinaSanDuo/article/details/46630567
15.打開從數據庫查詢nas支持
默認從 "/usr/local/etc/raddb/clients.conf" 文件讀取,開啓後可從數據庫nas表讀取
sed -i 's/\#readclients/readclients/g' /usr/local/etc/raddb/sql.conf
16.打開在線人數查詢支持
vim /usr/local/etc/raddb/sql/mysql/dialup.conf
#查找simul_count_query將290-294行註釋去掉
17.修改sites-enabled目錄配置文件
vim /usr/local/etc/raddb/sites-enabled/default
找到authorize {}模塊,註釋掉files(170行),去掉sql前的#號(177行)
找到accounting {}模塊,註釋掉radutmp(396行),註釋掉去掉sql前面的#號(406行)。
找到session {}模塊,註釋掉radutmp(450行),去掉sql前面的#號(454行)。
找到post-auth {}模塊,去掉sql前的#號(475行),去掉sql前的#號(577行)。
#設置FreeRadius寫log日誌
Authorize{
auth_log #去掉前面的#號(第94行 )
}
post-auth{
reply_log #去掉前面的#號(第469行 )
}
#日誌位置在/usr/local/var/log/radius
#各個模塊添加jradius關鍵字
authorize {
jradius
}
post-auth {
jradius
Post-Auth-Type REJECT {
jradius
}
}
preacct {
jradius
}
accounting {
jradius
}
vim /usr/local/etc/raddb/sites-enabled/inner-tunnel
找到authorize {}模塊,註釋掉files(125行),去掉sql前的#號(132行)。
找到session {}模塊,註釋掉radutmp(252行),去掉sql前面的#號(256行)。
找到post-auth {}模塊,去掉sql前的#號(278行),去掉sql前的#號(302行)。
============================================================================
用戶權限管理
18.數據庫操作
mysql -uroot -ppeople2000;
#people2000是數據庫密碼
use radius;
#使用 radius 數據庫
#添加用戶demo,密碼demo,注意是在radchec表
INSERT INTO radcheck (username,attribute,op,VALUE) VALUES ('demo','Cleartext-Password',':=','demo');
# 將用戶demo加入users用戶組
INSERT INTO radusergroup (username,groupname) VALUES ('demo','user');
# 限制同時登陸人數,注意是在radgroupcheck表
INSERT INTO radgroupcheck (groupname,attribute,op,VALUE) VALUES ('normal','Simultaneous-Use',':=','1');
# 其他
INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Auth-Type',':=','Local');
INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Service-Type',':=','Framed-User');
INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-Protocol',':=','PPP');
INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-MTU',':=','1500');
INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-Compression',':=','Van-Jacobson-TCP-IP');
#添加用戶回覆信息
INSERT INTO radreply(username,attribute,op,value) VALUES('demo','Reply-Message','=','SUCCESS');
19.設定數據庫類型,帳號,密碼,數據庫,根據實際情況修改
vi /usr/local/etc/raddb/sql.conf
修改文件第36-39行
36 server = "localhost" #數據庫地址
37 port = 3306 #數據庫端口
38 login = "root" #數據庫用戶名稱
39 password = "people2000" #數據庫用戶密碼
20. 找到 readclients = yes取消前面的註釋(第108行),取消該註釋主要是啓用nas表查詢,clients.conf就可以不需要了
============================================================================
21.通過ps aux|grep radius 命令查詢是否有進程,通過kill -9 進程號 殺掉所有radius進程進程
22.啓動jradius 和 freeradius服務
jradius服務:
通過/usr/jradius/server/scripts/start.sh&啓動服務
通過kill -9 進程號停止服務
freeradius服務:
通過/etc/init.d/radiusd start 命令啓動服務
通過/etc/init.d/radiusd stop 命令停止服務
23.用剛纔插入數據庫的用戶名和密碼來檢驗
radtest demo demo localhost 1812 testing123
# 出現 rad_recv: Access-Accept packet字樣說明安裝已經成功
# 可以在radius數據庫radpostauth看到日誌
資料連接地址下載:https://download.csdn.net/download/weixin_38501485/10931709