PfSense Lab – [Phần 7] Thiết lập Captive Portal trên pfSense

[Phần 7] của chuỗi bài viết Lab PfSense sẽ hướng dẫn bạn sử dụng một trong những tính năng hấp dẫn nhất của pfSense: Captive Portal – một tính năng phổ biến trong lĩnh vực Wifi Marketing.

1. Khái niệm về Captive Portal

Captive Portal là một tính năng trên pfSense yêu cầu người dùng phải xác thực tài khoản trước khi được phép truy cập vào mạng. Người dùng sẽ được chuyển hướng đến một trang web trung gian và phải đăng nhập bằng tài khoản/mật khẩu, sử dụng mã voucher, hoặc chỉ cần bấm vào nút Đăng nhập để có thể truy cập vào mạng (thường là internet).

Tính năng này thường được sử dụng rộng rãi trong ngành du lịch – nhà hàng – khách sạn, nhằm mục đích quảng cáo và tiếp thị, hoặc trong các văn phòng, cửa hàng bán lẻ để kiểm soát việc truy cập trái phép.

2. Kích hoạt Captive Portal

Truy cập vào mục Captive Portal trong menu Dịch vụ của pfSense. Tiếp theo, nhấp vào nút Thêm (Add) để tạo Captive Portal Zone.

Nhập tên (Zone name) và mô tả (Zone description). Nhấp vào Lưu và Tiếp tục (Save & Continue).

Chọn vào ô Kích hoạt Captive Portal để bật tính năng này.

3. Cấu hình Captive Portal

Sau khi kích hoạt Captive Portal, trang cấu hình sẽ hiện ra để bạn điều chỉnh các thông số. Dưới đây là giải thích về các thông số quan trọng:

  • Giao diện (Interfaces): chọn mạng nội bộ mà bạn muốn áp dụng Captive Portal. Trong tình huống thực tế, nên tạo một VLAN riêng biệt để sử dụng cho Captive Portal. Ví dụ, tôi chọn giao diện LAN để đơn giản.
  • Số kết nối đồng thời tối đa (Maximum Concurrent connections): giới hạn số lượng truy cập cùng lúc từ cùng một địa chỉ IP, không phải số lượng người dùng.
  • Thời gian chờ không hoạt động (Idle timeout – Minutes): tự động ngắt kết nối sau một khoảng thời gian không hoạt động.
  • URL chuyển hướng sau xác thực (After authentication Redirection URL): tự động chuyển hướng đến địa chỉ này sau khi xác thực thành công. Thường được sử dụng để quảng cáo website cho tất cả người dùng truy cập vào mạng.
  • Đăng nhập đồng thời (Concurrent User logins): quy định số lượng truy cập đồng thời cho mỗi tài khoản
    • Tắt (Disabled): chỉ cho phép một đăng nhập cho mỗi tài khoản/voucher
    • Nhiều (Multiple): không giới hạn số lượng đăng nhập cho mỗi tài khoản/voucher
    • Lưu phiên đăng nhập gần nhất (Last login): phiên đăng nhập sau sẽ được ưu tiên truy cập và phiên trước đó sẽ bị ngắt kết nối
    • Chỉ lưu phiên đăng nhập đầu tiên (First login): chỉ phiên đăng nhập đầu tiên sẽ được ưu tiên truy cập, các phiên đăng nhập sau sẽ bị từ chối
Có Thể Bạn Quan Tâm :   Lên camp – Các tips giúp bạn lên camp hiệu quả nhất hiện nay

Bạn có thể thay đổi giao diện đăng nhập Captive Portal bằng cách tùy chỉnh logo, hình nền và điều khoản sử dụng phù hợp với thương hiệu của bạn. Tôi sẽ để mặc định để đơn giản.

Xác thực (Authentication) :

  • Phương thức xác thực (Authentication method): lựa chọn cách xác thực tài khoản:
    • Backend xác thực (Authentication backend): sử dụng trang đăng nhập
    • Không có (None): yêu cầu bấm nút xác nhận
    • Xác thực Radius MAC (Radius MAC Authentication): xác thực bằng địa chỉ MAC
  • Máy chủ xác thực (Authentication Server): chọn Local Database (Cơ sở dữ liệu Nội bộ)
Có Thể Bạn Quan Tâm :   Chỉ số skewness và kurtosis là gì và dùng để làm gì?

Tôi sẽ chọn phương thức xác thực sử dụng trang đăng nhập (Authentication backend). Tiếp theo, nhấp vào Lưu (Save) để lưu lại cấu hình.

4. Tạo Voucher đăng nhập

Khi chọn phương thức xác thực tài khoản, bạn có thể tạo tài khoản pfSense hoặc tạo mã Voucher đăng nhập. Tôi sẽ chọn tạo mã Voucher đăng nhập vì có thể giới hạn thời gian truy cập cho từng người dùng.

Chuyển sang tab Voucher, kích hoạt tính năng Tạo, tạo và kích hoạt cuộn Voucher (Enable the creation, generation and activate of rolls with vouchers), sau đó nhấp vào Lưu (Save).

Nhấp vào nút Tạo khóa mới (Generate new keys) để tạo mã bảo mật mới. Các thông số khác có thể để nguyên. Nhấp vào Lưu (Save) để lưu lại.

Sau đó, mục Cuộn Voucher sẽ xuất hiện với nút Thêm (Add). Nhấp vào nút này để tạo danh sách voucher.

Điền thông tin như sau và nhấp vào Lưu (Save)

  • Chuỗi số (Roll #): điền bất kỳ số nào trong khoảng từ 0 – 65535
  • Số phút mỗi vé (Minutes per ticket): giới hạn thời gian truy cập cho mỗi mã voucher
  • Số lượng (Count): số lượng voucher cần tạo
  • Chú thích (Comment): dùng để ghi chú để nhớ
Có Thể Bạn Quan Tâm :   Bảo Mẫu Là Gì? Mô Tả Công Việc Và Phẩm Chất Cần Có Của Một Bảo Mẫu

Danh sách voucher đã được tạo thành công. Nhấp vào biểu tượng Excel ở bên trái để tải xuống danh sách dưới định dạng csv.

5. Điều chỉnh máy chủ DHCP

Tiếp theo, bạn cần truy cập vào dịch vụ DHCP Server của pfSense và chọn giao diện mạng đã được kích hoạt ở bước trước: LAN.

Di chuyển xuống phần Máy chủ DNS (DNS Servers) và xóa tất cả địa chỉ IP nếu có. Captive Portal yêu cầu sử dụng máy chủ DNS mặc định của pfSense. Nếu bỏ qua bước này, người dùng sẽ không được tự động chuyển hướng đến trang Captive Portal để đăng nhập và sử dụng mạng.

6. Thử nghiệm Captive Portal

Vì tôi đang sử dụng pfSense trong môi trường ảo hóa, việc thử nghiệm Captive Portal sẽ được thực hiện trên một máy ảo Windows 10 kết nối vào mạng LAN của pfSense.

Mở trình duyệt (Edge) và truy cập vào google.com, trình duyệt sẽ tự động chuyển hướng đến trang đăng nhập với logo pfSense.

Xem video minh họa dưới đây.

Bạn có thể kiểm tra danh sách truy cập vào Captive Portal trên giao diện quản lý của pfSense bằng cách nhấp vào Trạng thái (Status) -> Captive Portal.

Danh sách người dùng đang đăng nhập

Bạn có thể kiểm tra danh sách Voucher đang sử dụng, kiểm tra, hay vô hiệu hóa Voucher trong trang quản lý này. Hoặc nhấp vào nút Ngắt kết nối tất cả người dùng (Disconnect All Users) để buộc tất cả người dùng đăng xuất khỏi mạng.

Back to top button