close

現場(環境):CentOS 7.4  套件: MariaDB freeRadius daloRadius

 


Step 1. 增添MariaDB.repo

#vim /etc/yum.repos.d/MariaDB.repo

!###

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.1/centos7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

###!

 


Step 2. 下載MariaDB

這邊的MariaDB除了儲存使用者資料外,還要給daloRadius使用。

#yum -y update

#yum install -y mariadb-server mariadb

 


Step3. 下載httpd(Apache) & Radius(freeRadius)

#yum -y install httpd httpd-devel

#yum -y install freeradius freeradius-utils freeradius-mysql

 


Step4. 啟用mariadb & httpd

#systemctl start httpd mariadb

#systemctl enable httpd mariadb

 


Step5. 設定mariadb資料庫

很方便的設定工具

# mysql_secure_installation

(基本上選項都選n,除了最後一個Y)


創建資料庫 (可以帶參數 –e “” 去執行相關操作)

#mysql -u root -p -e  "create database radius"

#mysql -u root -p -e  "show databases"


但比較簡單的還是直接到資料庫內進行處理(給予權限)

# mysql -u root –p

 

這邊創建一個radius帳號,密碼radius

可以透過localhost的連線方式存取radius資料庫內所有資料。

> GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "radius";

> flush privileges

離開(也可以用quit)
>\q

 


Step6. freeRadius內的sql匯入資料庫(radius)當中

#mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql

 

建立連結

#ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/


到這邊Radius + Mysql就算是完成了。

但還是需要一個方便的管理介面,所以要來安裝daloRadius

 


Step 7. 安裝daloRadius事前準備

1)需要安裝PHP7套件。<這是比較容易有問題的地方>

先去將remi-release-7.rpm套件抓回來

# yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm


這樣抓回來後會有很多版本可以使用。(這邊要選用php71)

#vim /etc/yum.repos.d/remi-php71.repo

enabled 修改為1 (這樣表示要使用這個,如果是0表示不啟用)

 

安裝php & 相關套件

#yum install php

可以看到是安裝71版本

 

# yum -y install mod_php php_cli php-pear php-mysqlnd php-devel php-gd php-mbstring php-mcrypt php-xml

後面其他相關套件也都是71版本

 

最重要的是下面的步驟。

# pear install DB

到這邊php7安裝完成,我們要重啟一下httpd服務。

#apachectl restart

 


Step 8. 設定資料庫連線

#vim /etc/raddb/mods-available/sql

!###
#driver = "rlm_sql_null" //註解

driver = "rlm_sql_mysql"

dialect = "mysql"

server = "localhost"

port = 3306

login = "radius"

password = "radius"

radius_db = "radius"

read_clients = yes

###!

修改群組權限

#chgrp -h radiusd /etc/raddb/mods-enabled/sql

 


Step 9. daloRadius專案回來。

#yum install wget unzip -y

#wget https://github.com/lirantal/daloradius/archive/master.zip

#unzip master.zip

 

修改專案名稱

# mv daloradius-master daloradius

 

匯入daloRadius sql資料到資料庫(radius)當中。

#cd daloradius/

#mysql -u root -p radius < contrib/db/fr2-mysql-daloradius-and-freeradius.sql

#mysql -u root -p radius < contrib/db/mysql-daloradius.sql

 

daloradius移到apache web目錄下

#cd ../

#mv daloradius /var/www/html/

 

修改相關權限

#chown -R apache:apache /var/www/html/daloradius/

#chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

 

daloRadius內設定資料庫連線資訊

#vim /var/www/html/daloradius/library/daloradius.conf.php

!###相關連線要依自己設定的去調整##

$configValues['CONFIG_DB_ENGINE'] = 'mysqli';

$configValues['CONFIG_DB_HOST'] = 'localhost';

$configValues['CONFIG_DB_PORT'] = '3306';

$configValues['CONFIG_DB_USER'] = 'radius';

$configValues['CONFIG_DB_PASS'] = 'radius';

$configValues['CONFIG_DB_NAME'] = 'radius';

###!

 


Step10. 重啟相關服務順序

Radius > MariaDB > Apache

#systemctl restart radiusd

#systemctl restart mariadb

#systemctl restart httpd

 


Step 11. 透過瀏覽器連結管理介面

http://[IP位置]/daloradius/index.php

進入後會有登入介面,帳號預設Administrator,密碼是radius

 

登入畫面


 

這邊先簡單講一下創建帳號

點選到Management > New User 就可以到創帳號畫面。

比較特別的是Password Type的部分。

這邊可以選擇你的密碼存進資料庫要用哪種格式。

這邊會用一個Cleartext & MD5的給大家看。

 

這邊創帳號後,點選List Users可以看到目前的清單

Test123剛剛的Password Type 選擇為Cleartext ,所以密碼就很清楚的顯示

Test456剛剛的Password Type 選擇為MD5,所以密碼就被加密保護

 

透過資料庫去看也是相同狀況

>select * from randcheck;

 

上方的Disable / Enable 可以決定是否停用帳號

 

Disable後可以看到帳號被豎起紅旗,後面也標註Disabled-User

要打開就在對帳號按一下Enable就好。

 

 

如果要對帳號設定權限控管

user List內,針對帳號,選擇Attributes選項。

Locate Attribute via Vendor/Attribute

選擇Cisco / Cisco-AVPair

然後按下Add Attributes

 

再來就會跳出可以設定數值的地方。

一般是要輸入: cisco-avpair ="shell:priv-lvl=15"

這邊在Value內填入shell:priv-lvl=15 ;

權限15表示最高管理,1表示一般使用者。

 

然後再按上方的Apply才是真的套用


如果輸入錯誤就會造成資料庫寫入異常

 

輸入成功後,要確認有沒有輸入錯數值。

可以到相關頁籤(target)確認。

剛剛我們選的是check,表示再連線是確認,所以到Check Attributes檢查。

這邊可以看到我們剛才輸入的。

 Cisco-avpair := shell:priv-lvl=15

 

如果在增加Attribute那邊新增的是Reply,那就要到Reply Attributes那去確認。

這邊要提醒一下,如果後面的OP設定錯誤,很可能會造成無法登入的狀況。

 


如果是對登入使用者使用的流量有興趣。

這邊一樣有紀錄。(Accounting > User Accounting)

當使用者登入後,這邊可以看到他使用的紀錄&流量狀況。(如使用VPN)

其他WEB功能就等大家自己去看。

再來要說明怎麼開放讓其他人可以串接這Radius

 


Step 12. 設定可以連線的區域&密鑰

#vim /etc/raddb/clients.conf

!###這邊加了一段172.16.130.0可以透過testing123密鑰連線

client my_lan {

    ipaddr = 172.16.130.0/24

    secret = testing123

    require_message_authenticator = no

}

###!

設定完要重啟服務

#systemctl restart radiusd

#systemctl restart mariadb

 


Step 13. 用另一台172.16.130.X往段的Radius測試能不能抓取到帳號

radtest [帳號] [密碼] [Radius_IP] [NAS_Port ] [密鑰]

# radtest test456 test456 172.16.130.146 0 testing123

出現Access-Accept XXXX 就成功了。

到這裡172.16.130.X網段的設備就可以透過Radius做帳號管控了。

 


後記:

Radius主要使用 UDP-1812 & UDP-1813

UDP-1812 : Auth Port

UDP-1813 : Acct Port

 

<本篇完>

 


參考網址:

https://www.youtube.com/watch?v=haDJqUXf-zM

https://computingforgeeks.com/installing-freeradius-and-daloradius-centos-7/

http://www.racksam.com/2017/03/02/centos7-install-freeradius/

http://blog.51cto.com/wzlinux/1736744

http://www.coolsun.idv.tw/modules/xhnewbb/viewtopic.php?topic_id=1416

http://blog.xuite.net/hsu1711/xpboot/22553422-Cisco+AAA+%E8%AA%8D%E8%AD%89%E8%A8%AD%E5%AE%9A

arrow
arrow
    全站熱搜

    IT001 發表在 痞客邦 留言(0) 人氣()