現場(環境):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
留言列表