1. Tổng quan.
Daloradius là một giao diện quản lý web dựa trên PHP và hỗ trợ cho việc quản lý các yếu tố như người dùng, nhóm, dịch vụ, thông tin xác thực, và nhiều tính năng khác trong một hệ thống RADIUS.
Bằng cách triển khai Daloradius và cấu hình nó theo nhu cầu của bạn, bạn có thể sử dụng nó để cung cấp xác thực và quản lý truy cập mạng cho các thiết bị và người dùng khác nhau. Daloradius cung cấp một giao diện quản lý dễ sử dụng và linh hoạt cho việc thêm, sửa đổi và xóa thông tin về người dùng và thiết bị trong hệ thống RADIUS.
Tuy nhiên, hãy lưu ý rằng Daloradius chỉ là một giao diện quản lý và phụ thuộc vào phần mềm máy chủ RADIUS để xử lý các yêu cầu xác thực. Vì vậy, để sử dụng Daloradius, bạn cần đảm bảo rằng bạn đã cấu hình và triển khai một máy chủ RADIUS như FreeRADIUS hoặc một phần mềm máy chủ RADIUS khác và liên kết Daloradius với máy chủ RADIUS đó.
Điều này có nghĩa là bạn cần triển khai cả Daloradius và máy chủ RADIUS (ví dụ: FreeRADIUS) và cấu hình Daloradius để kết nối với máy chủ RADIUS. Sau đó, bạn có thể sử dụng Daloradius để quản lý và cấu hình các thông tin xác thực trong hệ thống RADIUS của mình.
2. Triển khai Daloradius bằng Docker Compose.
Bước 1 – Hãy cài đặt Docker và Docker Compose theo hướng dẫn https://wiki.hoanghd.com/bash-script-tu-dong-cai-dat-docker-va-docker-compose-cho-he-dieu-hanh-ubuntu/
.
Bước 2 – Tạo file ./docker-compose.yml.
Hãy tạo file ./docker-compose.yml
với nội dung sau:
cat > ./docker-compose.yml << 'OEF'
version: "3"
services:
radius:
image: frauhottelmann/daloradius-docker:1.2
container_name: radius
restart: always
depends_on:
- "radius-mysql"
ports:
- '1812:1812/udp'
- '1813:1813/udp'
- '80:80'
environment:
- MYSQL_HOST=radius-mysql
- MYSQL_PORT=3306
- MYSQL_DATABASE=radius
- MYSQL_USER=radius
- MYSQL_PASSWORD=dalodbpass
# volumes:
# - ./radius/clients.conf:/etc/freeradius/3.0/clients.conf
# - ./radius/eap:/etc/freeradius/3.0/mods-available/eap
# - ./ssl/fullchain.pem:/etc/freeradius/3.0/certs/fullchain.pem
# - ./ssl/privkey.pem:/etc/freeradius/3.0/certs/privkey.pem
radius-mysql:
image: mariadb:10.3 # use image: linuxserver/mariadb:arm32v7-110.3.18mariabionic-ls37 for RaspberryPi
container_name: radius-mysql
restart: always
environment:
- MYSQL_DATABASE=radius
- MYSQL_USER=radius
- MYSQL_PASSWORD=dalodbpass
- MYSQL_ROOT_PASSWORD=dalorootpass
volumes:
- "./radius-mysql:/var/lib/mysql"
OEF
File docker-compose.yml được sử dụng để định nghĩa và cấu hình các dịch vụ trong một môi trường Docker. Trong trường hợp này, file docker-compose.yml được sử dụng để triển khai dịch vụ RADIUS bằng cách sử dụng hình ảnh frauhottelmann/daloradius-docker và MariaDB.
Cụ thể, file docker-compose.yml định nghĩa hai dịch vụ:
- Dịch vụ “radius”:
- Sử dụng hình ảnh frauhottelmann/daloradius-docker:1.2 để triển khai Daloradius – một giao diện quản lý RADIUS.
- Tên container được đặt là “radius”.
- Dịch vụ này được khởi động lại luôn khi container bị dừng.
- Phụ thuộc vào dịch vụ “radius-mysql” (dịch vụ MariaDB) để đảm bảo dịch vụ MariaDB đã khởi động trước khi triển khai Daloradius.
- Mở các cổng 1812/udp, 1813/udp và 80 trên máy host và ánh xạ chúng vào các cổng tương ứng trong container.
- Định nghĩa các biến môi trường để cấu hình kết nối với cơ sở dữ liệu MariaDB.
- Dịch vụ “radius-mysql”:
- Sử dụng hình ảnh MariaDB:10.3 để triển khai cơ sở dữ liệu MariaDB.
- Tên container được đặt là “radius-mysql”.
- Dịch vụ này được khởi động lại luôn khi container bị dừng.
- Định nghĩa các biến môi trường để cấu hình cơ sở dữ liệu MariaDB (tên database, tên người dùng, mật khẩu, mật khẩu root).
- Ánh xạ thư mục “./radius-mysql” trên máy host vào thư mục “/var/lib/mysql” trong container để lưu trữ dữ liệu cơ sở dữ liệu.
Lưu ý: Các dòng bắt đầu bằng ký tự “#” trong file docker-compose.yml đại diện cho các dịch vụ tùy chọn không được sử dụng trong ví dụ này.
Bước 3 – Khởi chạy Docker Compose.
Sử dụng lệnh dưới để chạy các dịch vụ đã khai báo trong file ./docker-compose.yml.
docker-compose up -d
Kết quả.
$ docker-compose ps
NAME COMMAND SERVICE STATUS PORTS
radius "sh /cbs/init.sh" radius running 0.0.0.0:80->80/tcp, 0.0.0.0:1812-1813->1812-1813/udp, :::80->80/tcp, :::1812-1813->1812-1813/udp
radius-mysql "docker-entrypoint.s…" radius-mysql running 3306/tcp
Bước 4 – Login.
Dùng trình duyệt login theo url http://<daloradiuss-ipaddr>
với thông tin administrator/radius
.
Kết quả login thành công.