Jradius+freeRadius+mysql安裝與配置

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章