Cài đặt FreeRADIUS và daloRADIUS trên Ubuntu là bước quan trọng để triển khai hệ thống xác thực mạng linh hoạt, bảo mật và dễ quản lý. Trong bài viết này, bạn sẽ được tìm hiểu rõ RADIUS là gì, cách FreeRADIUS và daloRADIUS hoạt động, cũng như vai trò của từng thành phần trong hệ thống. Mình sẽ hướng dẫn bạn từng bước từ cập nhật hệ thống, cài Apache, PHP, MariaDB, cho đến cấu hình giao diện quản trị daloRADIUS. Bài viết cũng cung cấp cách xử lý các lỗi thường gặp và gợi ý giải pháp hosting hiệu suất cao từ Vietnix giúp hệ thống vận hành ổn định hơn.
Điểm chính cần nắm
- RADIUS là gì?: Giới thiệu khái niệm RADIUS và vai trò trong hệ thống xác thực người dùng.
- FreeRADIUS là gì?: Trình bày chức năng và đặc điểm nổi bật của phần mềm FreeRADIUS.
- daloRADIUS là gì?: Giải thích daloRADIUS là gì và lý do nên dùng giao diện này để quản lý FreeRADIUS.
- 6 bước cài đặt FreeRADIUS và daloRADIUS trên Ubuntu: Hướng dẫn chi tiết từng bước cài đặt và cấu hình hai công cụ trên Ubuntu.
- Một số lỗi thường gặp và cách khắc phục: Tổng hợp các lỗi phổ biến khi cài đặt và cách xử lý nhanh chóng.
- Vietnix – Giải pháp lưu trữ hiệu suất cao cho website của bạn: Giới thiệu dịch vụ lưu trữ tối ưu từ Vietnix hỗ trợ hệ thống chạy ổn định.
- FAQ: Trả lời các câu hỏi thường gặp liên quan đến cài đặt và sử dụng FreeRADIUS với daloRADIUS.
RADIUS là gì?
RADIUS (Remote Authentication Dial-In User Service) là giao thức mạng dùng để xác thực, phân quyền và ghi nhận thông tin truy cập từ xa. Nó cung cấp ba chức năng chính, gọi là AAA:
- Authentication: Xác thực người dùng
- Authorization: Cấp quyền truy cập
- Accounting: Ghi nhận và theo dõi hoạt động truy cập
RADIUS thường được sử dụng trong các hệ thống WiFi, VPN, và dịch vụ truy cập từ xa.

FreeRADIUS là gì?
FreeRADIUS là phần mềm RADIUS mã nguồn mở phổ biến nhất hiện nay, được sử dụng để triển khai AAA trong các hệ thống mạng. FreeRADIUS thường được áp dụng tại:
- Mạng WiFi công cộng (quán cà phê, khách sạn, sân bay…).
- Doanh nghiệp cần kiểm soát truy cập nội bộ.
- Nhà cung cấp dịch vụ Internet (ISP).

Ưu điểm nổi bật:
- Hiệu năng cao, linh hoạt, dễ mở rộng
- Hỗ trợ nhiều giao thức xác thực: EAP (MD5, TLS, PEAP…), PAP, CHAP…
- Tích hợp cơ sở dữ liệu: MySQL, PostgreSQL, Oracle, SQLite…
- Hỗ trợ proxy, cân bằng tải, và dự phòng
- Tương thích với các thuộc tính RFC 2865, 2866 và VSA của nhiều hãng (Cisco, Juniper, Microsoft, HP…)
FreeRADIUS bao gồm:
- Máy chủ và trình khách RADIUS.
- Thư viện phát triển.
- Các công cụ tiện ích liên quan.
daloRADIUS là gì?
daloRADIUS là giao diện quản lý FreeRADIUS qua web, giúp người dùng cấu hình và theo dõi hệ thống mà không cần thao tác dòng lệnh.

Tính năng chính:
- Quản lý tài khoản người dùng
- Theo dõi đăng nhập, băng thông và thời gian truy cập
- Tạo báo cáo thống kê chi tiết
- Tích hợp Google Maps để hiển thị vị trí đăng nhập
- Quản lý gói cước, thanh toán và khách hàng
daloRADIUS được viết bằng PHP và JavaScript, hỗ trợ nhiều hệ quản trị cơ sở dữ liệu như MySQL, PostgreSQL, SQLite, MSSQL và Oracle.
6 bước cài đặt FreeRADIUS và daloRADIUS trên Ubuntu
Bước 1: Cập nhật hệ thống
Trước khi cài đặt, bạn nên cập nhật các gói phần mềm có sẵn trên hệ thống để tránh lỗi không tương thích.
sudo apt update && sudo apt -y upgrade
Sau khi cập nhật xong, nếu hệ thống yêu cầu khởi động lại, bạn có thể dùng lệnh sau:
[ -f /var/run/reboot-required ] && sudo reboot -f
Bước 2: Cài đặt Apache và PHP
daloRADIUS là một ứng dụng web, vì vậy mình cần cài đặt máy chủ web Apache cùng với PHP – ngôn ngữ mà daloRADIUS sử dụng.
sudo apt -y install apache2
sudo apt -y install php libapache2-mod-php php-{gd,common,mail,mail-mime,mysql,pear,db,mbstring,xml,curl,zip}
Bạn có thể kiểm tra phiên bản PHP đã được cài bằng:
php -v
Bước 3: Cài đặt MariaDB và tạo database cho RADIUS
FreeRADIUS sẽ lưu thông tin người dùng và phiên làm việc vào một cơ sở dữ liệu. Ở đây, mình dùng MariaDB, một phiên bản tối ưu của MySQL.
- Cài đặt MariaDB:
sudo apt install mariadb-server
- Tạo cơ sở dữ liệu và người dùng:
sudo mysql -u root -p
Sau đó chạy các lệnh SQL sau trong giao diện MariaDB:
CREATE DATABASE radius;
GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "Str0ngR@diusPass";
FLUSH PRIVILEGES;
QUIT;
# Bạn có thể thay đổi "Str0ngR@diusPass" thành một mật khẩu khác mạnh hơn nếu cần.
Bước 4: Cài đặt và cấu hình FreeRADIUS
FreeRADIUS cần được cài đặt và kết nối với cơ sở dữ liệu đã tạo ở bước trên.
sudo apt -y install freeradius freeradius-mysql freeradius-utils
Sau khi cài xong, bạn cần nhập dữ liệu cấu trúc bảng vào cơ sở dữ liệu:
sudo mysql -u root -p radius < /etc/freeradius/*/mods-config/sql/main/mysql/schema.sql
Kích hoạt module SQL:
sudo ln -s /etc/freeradius/*/mods-available/sql /etc/freeradius/*/mods-enabled/
Sau đó, bạn mở file cấu hình SQL để chỉnh sửa kết nối cơ sở dữ liệu:
sudo nano /etc/freeradius/*/mods-enabled/sql
Tìm và cập nhật các dòng sau:
driver = "rlm_sql_mysql"
dialect = "mysql"
server = "localhost"
login = "radius"
password = "Str0ngR@diusPass"
radius_db = "radius"
read_clients = yes
client_table = "nas"
Sau đó cấp quyền đọc cho FreeRADIUS:
sudo chgrp -h freerad /etc/freeradius/*/mods-available/sql
sudo chown -R freerad:freerad /etc/freeradius/*/mods-enabled/sql
Khởi động lại dịch vụ để áp dụng thay đổi:
sudo systemctl restart freeradius.service
Bước 5: Cài đặt và cấu hình daloRADIUS
- Tải daloRADIUS từ GitHub
sudo apt -y install git
git clone https://github.com/lirantal/daloradius.git
cd daloradius
- Nhập dữ liệu mẫu
sudo mysql -u root -p radius < contrib/db/fr3-mariadb-freeradius.sql
sudo mysql -u root -p radius < contrib/db/mariadb-daloradius.sql
- Chuyển thư mục ứng dụng
sudo mv daloradius /var/www/
- Cấu hình file kết nối database
cd /var/www/daloradius/app/common/includes/
sudo cp daloradius.conf.php.sample daloradius.conf.php
sudo chown www-data:www-data daloradius.conf.php
sudo nano daloradius.conf.php
Cập nhật các dòng sau:
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'Str0ngR@diusPass';
$configValues['CONFIG_DB_NAME'] = 'radius';
Tạo thư mục log và backup cho ứng dụng
cd /var/www/daloradius/
sudo mkdir -p var/{log,backup}
sudo chown -R www-data:www-data var
Bước 6: Cấu hình Apache để truy cập daloRADIUS
Bạn có thể cấu hình Apache để chia ra 2 giao diện truy cập:
- Một cho quản trị viên
- Một cho người dùng
- Tạo cấu hình port quản trị (8000)
sudo nano /etc/apache2/sites-available/operators.conf
Nội dung:
<VirtualHost *:8000>
ServerAdmin operators@localhost
DocumentRoot /var/www/daloradius/app/operators
<Directory /var/www/daloradius/app/operators>
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/daloradius/operators/error.log
CustomLog ${APACHE_LOG_DIR}/daloradius/operators/access.log combined
</VirtualHost>
- Tạo cấu hình port người dùng (80)
sudo nano /etc/apache2/sites-available/users.conf
Nội dung:
<VirtualHost *:80>
ServerAdmin users@localhost
DocumentRoot /var/www/daloradius/app/users
<Directory /var/www/daloradius/app/users>
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/daloradius/users/error.log
CustomLog ${APACHE_LOG_DIR}/daloradius/users/access.log combined
</VirtualHost>
- Kích hoạt các site và khởi động lại Apache
sudo a2ensite users.conf operators.conf
sudo a2dissite 000-default.conf
sudo systemctl restart apache2 freeradius
Bước 7: Truy cập giao diện quản lý RADIUS và thay đổi mật khẩu mặc định
Sau khi cấu hình xong, bạn có thể truy cập daloRADIUS qua trình duyệt:
- Giao diện quản trị viên:
http://<IP-của-bạn>:8000/
- Giao diện người dùng:
http://<IP-của-bạn>/

Tài khoản mặc định:
- Tên đăng nhập:
administrator
- Mật khẩu:
radius
Lưu ý
Mình khuyên bạn nên thay đổi mật khẩu này ngay sau khi đăng nhập để đảm bảo an toàn.

Một số lỗi thường gặp và cách khắc phục
Dưới đây là một số lỗi thường gặp khi cài đặt FreeRADIUS và daloRADIUS trên Ubuntu, kèm theo cách khắc phục để bạn dễ xử lý nếu gặp phải:
1. Lỗi kết nối cơ sở dữ liệu
Triệu chứng:
- Giao diện daloRADIUS hiển thị lỗi không kết nối được database.
- FreeRADIUS báo lỗi không tìm thấy bảng hoặc không truy cập được cơ sở dữ liệu.
Nguyên nhân phổ biến:
- Sai thông tin
username
,password
,database name
trong file cấu hình. - Module SQL chưa được kích hoạt hoặc cấu hình sai.
- Cơ sở dữ liệu chưa được import đầy đủ các bảng.
Cách khắc phục:
- Kiểm tra và sửa lại file
daloradius.conf.php
và file cấu hình SQL trong FreeRADIUS (/etc/freeradius/*/mods-enabled/sql
). - Đảm bảo đã import đúng các tệp
.sql
vào database:sudo mysql -u root -p radius < /path/to/schema.sql
- Đảm bảo dịch vụ MariaDB đang chạy:
sudo systemctl status mariadb
2. FreeRADIUS không khởi động được
Triệu chứng:
- Chạy
systemctl start freeradius
báo lỗi hoặc không hoạt động. - Dùng
freeradius -X
để chạy chế độ debug thấy lỗi cấu hình.
Nguyên nhân phổ biến:
- Lỗi cú pháp trong file cấu hình (như thiếu dấu
{
,}
). - Module SQL chưa được kích hoạt hoặc file cấu hình sai đường dẫn.
Cách khắc phục:
- Luôn kiểm tra bằng chế độ debug:
sudo freeradius -X
- Đọc kỹ lỗi hiển thị để biết dòng nào sai và sửa lại file tương ứng.
- Nếu cần, bạn có thể khôi phục về cấu hình mặc định và cấu hình lại từng bước.
3. Không truy cập được daloRADIUS từ trình duyệt
Triệu chứng:
- Truy cập
http://<IP>:8000
hoặchttp://<IP>/
báo lỗi 403, 404 hoặc trắng trang.
Nguyên nhân phổ biến:
- Apache chưa bật virtual host tương ứng.
- Cấu hình
DocumentRoot
sai đường dẫn. - File chưa được cấp quyền cho Apache (
www-data
).
Cách khắc phục:
- Kiểm tra cấu hình Apache:
sudo apache2ctl configtest
- Đảm bảo các site đã được bật:
sudo a2ensite users.conf operators.conf
sudo systemctl restart apache2
- Kiểm tra quyền thư mục:
sudo chown -R www-data:www-data /var/www/daloradius
4. Người dùng không xác thực được
Triệu chứng:
- Người dùng đăng nhập sai dù đã thêm đúng tài khoản.
- FreeRADIUS không ghi nhận thông tin đăng nhập.
Nguyên nhân phổ biến:
- Người dùng chưa được thêm đúng vào bảng
radcheck
. - FreeRADIUS không kết nối được database hoặc không đọc bảng NAS.
Cách khắc phục:
- Kiểm tra bảng
radcheck
và thêm người dùng nếu chưa có: INSERT INTO radcheck (username, attribute, op, value) VALUES (‘testuser’, ‘Cleartext-Password’, ‘:=’, ‘password123’); - Kiểm tra bảng
nas
đã có thiết bị truy cập hay chưa. - Kiểm tra log xác thực bằng:
sudo freeradius -X
5. Lỗi thiếu module hoặc gói PHP
Triệu chứng:
- Truy cập daloRADIUS báo lỗi liên quan đến thư viện PHP thiếu.
Nguyên nhân:
- Thiếu một số module như
php-mysql
,php-mbstring
,php-xml
.
Cách khắc phục:
- Cài đầy đủ các gói liên quan:
sudo apt install php libapache2-mod-php php-{gd,common,mail,mail-mime,mysql,pear,db,mbstring,xml,curl,zip}
sudo systemctl restart apache2
Vietnix – Giải pháp lưu trữ hiệu suất cao cho website của bạn
Vietnix cung cấp dịch vụ VPS và hosting tốc độ cao, được tối ưu để mang lại hiệu suất ổn định, khả năng bảo mật vượt trội và trải nghiệm truy cập nhanh chóng cho người dùng. Với hệ thống máy chủ hiện đại, đặt tại datacenter đạt chuẩn quốc tế, cùng đội ngũ kỹ thuật chuyên môn cao luôn sẵn sàng hỗ trợ 24/7, Vietnix giúp website của bạn hoạt động mượt mà và an toàn ngay cả trong thời điểm tải cao. Nếu bạn đang tìm kiếm một giải pháp lưu trữ mạnh mẽ và đáng tin cậy để phát triển dự án web, Vietnix là lựa chọn lý tưởng.
Thông tin liên hệ:
- Website: https://vietnix.vn/
- Hotline: 1800 1093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, TP HCM.
Câu hỏi thường gặp
Có thể dùng daloRADIUS để giới hạn thời gian truy cập của người dùng không?
Có, bạn có thể cấu hình giới hạn theo session time, idle time, hoặc giới hạn số giờ truy cập mỗi ngày bằng cách điều chỉnh các trường radcheck
hoặc radgroupcheck
.
Có thể tích hợp FreeRADIUS với LDAP không?
Có thể, chỉ cần bật module LDAP và khai báo đúng thông tin LDAP server trong các file mods-enabled/ldap
.
Có thể chạy FreeRADIUS trong Docker không?
Được, tuy nhiên cần cấu hình volume phù hợp để lưu data, và cấu hình mạng cho phép nhận request từ bên ngoài container.
FreeRADIUS có hỗ trợ multi-tenant (nhiều khách hàng trên cùng hệ thống) không?
Không hỗ trợ hoàn chỉnh theo mô hình SaaS, nhưng có thể giả lập qua group, realm, hoặc cài nhiều instance riêng biệt.
Có thể tạo script tự động thêm người dùng từ file CSV không?
Có thể viết shell script để parse file CSV và thêm từng dòng vào bảng radcheck
bằng câu lệnh SQL tự động.
Lời kết
Việc cài đặt thành công FreeRADIUS và daloRADIUS trên Ubuntu giúp bạn xây dựng một hệ thống xác thực mạng mạnh mẽ, dễ quản lý và phù hợp cho cả môi trường doanh nghiệp lẫn cá nhân. Nếu bạn gặp bất kỳ khó khăn nào trong quá trình thực hiện, đừng ngần ngại để lại bình luận hoặc liên hệ để được hỗ trợ. Bạn cũng có thể tìm đến các giải pháp lưu trữ tối ưu như Vietnix để đảm bảo hiệu suất hệ thống luôn ổn định. Đừng quên lưu lại bài viết để tham khảo khi cần!
Mọi người cũng xem: