發佈日期:
分類:
如何在Ubuntu 22.04中‧安裝及設定FreeRADIUS服務及daloRadius管控程式
01. 早2日終於成功刪除FreeRADIUS服務,今天試一下安裝和使用FreeRADIUS服務。
02. FreeRADIUS服務建基於LAMP上,所以先安裝apache、PHP及MariaDB。
sudo apt install apache2 sudo apt install php libapache2-mod-php php-{gd,common,mail,mail-mime,mysql,pear,db,mbstring,xml,curl} sudo apt install mariadb-server
03. 設定MariaDB安全性程式。
sudo mysql_secure_installation
『Enter current password for root (enter for none)』:設定MariaDB用戶root密碼。 『Remove anonymous users』:移除匿名用戶。 『Disallow root login remotely』:移除root用戶遠端登入權限。 『Remove test database and access to it』:移除test數據庫。 『Reload privilege tables now』:重新載入特權表格。
04. 安裝FreeRADIUS服務。
sudo apt install freeradius freeradius-mysql freeradius-utils
05. FreeRADIUS服務預設是安裝後即時執行。如要進入除錯模式,先停止FreeRADIUS服務,再啟用除錯模式。
sudo systemctl stop freeradius sudo freeradius -X
06. 除錯模式執行沒有問題後,按『Ctrl + C』結束除錯模式。並可以將FreeRADIUS服務加入系統啟動時載入。
sudo systemctl enable --now freeradius
07. 在MariaDB建立FreeRADIUS的資料庫。
sudo mysql -u root -p
CREATE DATABASE freeradius; CREATE USER 'freeradius'@'localhost' IDENTIFIED by 'freeradius_db_password'; GRANT ALL PRIVILEGES ON freeradius.* TO 'freeradius'@'localhost'; FLUSH PRIVILEGES; quit;
08. 將FreeRADIUS設定檔加入到FreeRADIUS資料庫內。
sudo su mysql -u root -p freeradius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
09. 檢查在MariaDB中,是否已成功建立FreeRADIUS資料庫。
sudo mysql -u root -p -e "use freeradius;show tables;"
10. 加入FreeRADIUS設定檔連結。
sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
11. 修改更改FreeRADIUS設定檔。
sudo nano /etc/freeradius/3.0/mods-enabled/sql
將: dialect = "sqlite" 更改為: dialect = "mysql"
將: driver = "rlm_sql_null" # driver = "rlm_sql_${dialect}" 更改為: # driver = "rlm_sql_null" driver = "rlm_sql_${dialect}"
設定TLS證書路徑: mysql { tls { ca_file = "/etc/ssl/certs/my_ca.crt" ca_path = "/etc/ssl/certs/" certificate_file = "/etc/ssl/certs/private/client.crt" private_key_file = "/etc/ssl/certs/private/client.key" cipher = "DHE-RSA-AES256-SHA:AES128-SHA" tls_required = yes tls_check_cert = no tls_check_cert_cn = no } warnings = auto }
將: # server = "localhost" # port = 3306 # login = "radius" # password = "radpass" 更改為: server = "localhost" port = 3306 login = "freeradius" password = "freeradius_db_password"
將: radius_db = "radius" 更改為: radius_db = "freeradius"
將: # read_clients = yes 更改為: read_clients = yes
12. 將設定檔及設定檔資料夾加入到freerad用戶及組內。
sudo chgrp -h freerad /etc/freeradius/3.0/mods-available/sql sudo chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql
13. 重新啟動FreeRADIUS服務,如沒有任何錯誤,即表示設定正確。
sudo systemctl restart freeradius.service
14. 為方便管控FreeRADIUS服務,可以安裝daloRadius作為網頁界面管控。
15. 下載及解壓程式,並移到適當位置,如『/opt』。
wget https://github.com/lirantal/daloradius/archive/master.zip unzip master.zip sudo mv daloradius-master /opt/freeradius
16. 切換到daloRadius資料夾,並將daloRadius設定檔加到MariaDB的FreeRADIUS資料庫內。
cd /opt/freeradius sudo mysql -u root -p freeradius < contrib/db/fr2-mysql-daloradius-and-freeradius.sql sudo mysql -u root -p freeradius < contrib/db/mysql-daloradius.sql
17. 設定daloRadius資料夾存取權限。
sudo chown -R daemon:daemon /opt/freeradius
18. 複製daloRadius設定檔。
sudo cp /opt/freeradius/library/daloradius.conf.php.sample /opt/freeradius/library/daloradius.conf.php
19. 設定daloRadius設定檔權限。
sudo chmod 664 /opt/freeradius/library/daloradius.conf.php
20. 修改daloRadius設定檔。
sudo nano /opt/freeradius/library/daloradius.conf.php
將: $configValues['CONFIG_DB_USER'] = 'root'; $configValues['CONFIG_DB_PASS'] = ''; $configValues['CONFIG_DB_NAME'] = 'radius'; 更改為: $configValues['CONFIG_DB_USER'] = 'root'; $configValues['CONFIG_DB_PASS'] = 'mysql_password'; $configValues['CONFIG_DB_NAME'] = 'freeradius';
21. 因不會將daloRadius放在apache documentroot資料夾內,所以先建立apache alias設定。
sudo nano /etc/apache2/sites-enabled/000-default.conf
Alias "freeradius" "/opt/freeradius" <Directory "/opt/freeradius"> AllowOverride All Require ip 192.168.0.166 </Directory>
22. 重新啟動apache及FreeRADIUS服務。
sudo systemctl restart freeradius.service apache2
23. 打開瀏覽器,登入daloRadius。預設登入為『administrator』,密碼是『radius』。
24. 更改daloRadius管理員密碼。於『daloRadius』、『Config』、『Operators』、『List Operators』,選擇用戶『administrator』,設定新密碼。
25. 新增存取FreeRADIUS服務用戶。在『daloRadius』、『Management』、『Users』、『New User』,新增用戶名稱及密碼。
26. 要存取到FreeRADIUS服務,要先在daloRadius內設定『NAS』選項。在『daloRadius』、『Management』、『NAS』、『New NAS』,設定『NAS IP/Host』、『NAS Secret』、『NAS Type』、『NAS Shortname』。
27. 要測試FreeRADIUS服務是否能正常運行,先停止FreeRADIUS服務及啟用除錯模式。
sudo systemctl stop freeradius.service sudo freeradius -X
28. FreeRADIUS服務需用到UDP 1812及1813埠位,需先設定防火牆開放相關埠位。
29. 下載『NTRadPing』程式及執行。
30. NTRadPing程式設定如下。
『RADIUS Server/port』:FreeRADIUS服務何服器IP地址及埠位。 『Reply timeout (sec.)』:連線測試時間。 『Retries』:連線測試次數。 『RADIUS Secret key』:第25項中,NAS設定的『NAS Secret』。 『User-Name』:第26項中,設定的用戶名稱。 『Password』:第26項中,設定的用戶密碼。
31. 如成功連接FreeRADIUS服務伺服器,便會在NTRadPing程式的『RADIUS Server reply』,見到連線內容。
32. 同時,會在FreeRADIUS除錯模式下,見到連線資料。
33. 最後,當然是將相關設定,加到要連線到FreeRADIUS服務的裝置上。
發佈留言