Thiết lập Captive Portal với pfSense

   Captive portal được sử dụng phổ biến nhất cho điểm truy cập không dây. Nếu bạn chưa từng sử dụng mạng không dây ở khách sạn hay ở sân bay thì sau đó có nhiều khả năng bạn phải đi qua một cổng trước khi bạn có thể trực tuyến. Chúng cũng có thể được sử dụng trên kết nối có dây cho trung tâm thương mại, tiệm internet hoặc ở nhà bạn!

   Một khi portal được kích hoạt thì bất kỳ máy tính nào trỏ đến pfSense như là gateway sẽ được chuyển hướng tự động tới trang portal.
Portal cơ bản không có xác thực

   Trước tiên tôi sẽ chỉ cho bạn làm thế nào để thiết lập một portal cơ bản không có xác thực. Người dùng kết nối đến mạng sẽ được chuyển hướng tới một trang HTML do bạn chọn. Trang này có thể hiển thị bất kỳ nội dung hay hình ảnh bạn muốn. Họ phải bấm đi qua portal bởi nhấp chuột vào nút tiếp tục trước trước khi họ được cấp quyền truy cập tới mạng.

   1. Kích hoạt captive portal - Để bật captive portal mà được tìm thấy ở menu service của pfSense. Nhập chọn “Enable captive portal”

   2. Chọn interface – Hầu hết sẽ chọn LAN interface. Captive portal có thể chỉ chạy duy nhất trên một interface tại một thời điểm và pfSense không thể hoạt động như môt reverse portal.
Enable the captive portal and select the interface it will run on.


   3. Đưa lên một trang portal – Bạn phải đưa lên một tệp tin HTML/PHP để sử dụng như một trang đích cho người dùng kết nối tới portal.

Trong phần “Portal page contents” nhấp nút “Choose File” và chọn trang HTML bạn muốn sử dụng. Khi nào bạn hoàn tất nhấp nút save ở cuối trang để áp dụng các thay đổi.

Để xác minh rằng tệp tin HTML đã đưa lên thành công nhấp nút “view current page” trực tiếp bên dưới khung đưa lên tập tin HTML.

 

Upload an HTML file to serve as the portal page.
 
If the captive portal is working users should be directed to the landing page when they first connect to the internet.
 
Nếu captive portal hoạt động thì người dùng nên được hướng đến một trang đích khi lần đầu kết nối tới internet.

   4. Thử nghiệm Portal cơ bản- Để chắc chắn mọi thứ hoạt động đúng thử tuy cập một trang web từ một máy tính trong mạng.

   Nếu tất cả mọi thứ hoạt động tốt trình duyệt sẽ được chuyển hướng tới trang đích. Khi bạn nhắp nút tiếp tục thì trình duyệt tiếp tục tới URL yêu cầu ban đầu.

   Mẹo xử lý sự cố:

    Nếu trang portal không hiển thị thì kiểm tra tệp tin HTML đã được đưa lên chính xác chưa.
    Nếu captive portal chạy trên một VLAN interface đảm bảo rằng VLAN cha không được gán tới interface khác.
When authentication is enabled users must enter a username and password to access the network.
 
   Khi việc xác thực được kích hoạt thì người dùng phải nhập một username và password để truy cập mạng.
Sử dụng xác thực

   Một lý do phổ biến để sử dụng captive portals là cung cấp một hệ thống cho việc xác thực người dùng trước khi họ được cấp quyền truy cập internet.

   Người sử dụng mà không có một tên đăng nhập và mật khẩu hợp lệ sẽ không được cấp quyền truy cập mạng.

   Local Database vs Radius

   Cách đơn giản nhất thiết lập việc xác thực là sử dụng cơ sở dữ liệu user local trên pfSense. Nếu bạn có nhiều user để quản lý thì tôi khuyến nghị sử dụng xác thực qua radius vì nó linh hoạt hơn nhiều.

   Bạn có thể cấu hình captive portal để trỏ tới một máy chủ radius từ xa hoặc bạn có thể cài đặt gói FreeRadius trực tiếp trên pfSense. Radius tích hợp tốt với các hệ thống xác thực hiện có như active directory.

   Thiết lập ban đầu

   Để bắt đầu theo các bước trong phần trước ở trên để kích hoạt captive portal và chọn một interface.

   Sửa đổi HTML

   Để việc này hoạt động bạn sẽ sử dụng một trang đích HTML khác một chút mà có trường thông tin tên đăng nhập và mật khẩu. Theo hướng dẫn trong bước 4 của phần trước để đưa lên một trang.

   Cho phép xác thực

   Để bật xác thực chọn xác thực local hay radius trên trang thiết lập chính captive portal. Nhấp nút save để kích  hoạt sự thay đổi.

Select either local or RADIUS as an authentication type.


   Tạo User Local

   Nếu bạn chọn quản lý user local như là phương pháp xác thực thì sau đó bạn sẽ cần tạo một số user. Nếu bạn có kế hoạch cài đặt số lượng lớn user thì tôi khuyến nghị sử dụng radius, LDAP, hoặc active directory thay vì local database.

   Nếu bạn không muốn thiết lập nhiều user thì lựa chọn này làm việc tốt bởi vì nó rất đơn giản. Trong một vài trường hợp bạn có thể cho user chia sẽ tài khoản, và đó cũng là một lựa chọn hợp lý.

   Để tạo user trong pfSense mở quản lý user mà được tìm thấy dưới menu system. Sau đó đơn giản nhấp vào biểu tượng dấu cộng để tạo mới user.

 

The pfSense user manager can be used to create local accounts for the captive portal.


   Cấu hình tài khoản User

   Để tạo một user đơn giản bạn chỉ cần nhập một tên đăng nhập và mật khẩu. Có một vài tùy chọn khác hữu ích đáng để xem qua.

   Expiration Date - Tùy chọn này cho phép bạn chỉ định một ngày mà tài khoản sẽ tự động hết hạn. Vì thế nếu bạn biết tài khoản là tạm thời, điều này sẽ giúp bạn giảm những rắc rối của việc phải vô hiệu tài khoản một cách thủ công. Nều bạn để trường này trằng thì tài khoản sẽ luôn luôn hoạt động.

   Group Membership - Nhóm là thuận tiện cho việc tổ chức user của bạn. Nhóm có thể được gán truy cập tới phần quản trị nào đó của giao diện web pfSense. Cho mục đích của portal thì nhóm không thực sự hữu ích.

 

Setting up users is pretty straight forward.  You need a username and a password, that's it!
 
The portal landing page can be customized with images and PHP.
 
   Trang đích portal có thể được tùy chỉnh với hình ảnh và PHP.
 
   Tùy chỉnh trang Portal

   Nếu bạn muốn trang đích portal nhìn đẹp hơn một chút bạn có thể thêm hình ảnh và tùy chỉnh mã PHP.

   Để đưa lên một hình ảnh nhấp chọn thẻ file manager trong thiết lập captive portal. Để các tệp tin được sử dụng bởi portal chúng phải có tiền tố “captiveportal-” trong tên tệp tin.

   Sau đó bạn có thể tham chiếu các tệp tin hình ảnh sử dụng thẻ HTML chuẩn.

 

   Các thiết lập khác và gợi ý hiệu suất

   Trên trang chính captive portal có một số thiết lập khác bạn có thề tùy chỉnh sao cho portal hoạt động đúng. Dưới đây là những mô tả cho một số cài đặt tôi nghĩ là hữu ích.

   Idle timeout - Nếu user không hoạt động cho một số phút nhất định họ sẽ được tự động ngắt kết nối. Tôi khuyên bạn nên thiết lập một thời gian chờ nhàn rỗi để giải phóng cho nguồn tài nguyên đang chiếm giữ trên hệ thống pfSense. Bạn không muốn thiết lập thời gian chờ quá thấp hoặc user của bạn sẽ bị mất tác dụng, còn thiết lập nó tới  8 giờ sẽ có ích.

   Redirection URL - Bởi mặc định user  sẽ tiếp tục tới trang web họ yêu cầu lúc đầu sau khi đi qua portal. Thiết lập này cho phép bạn bắt người dùng hướng tới một trang do bạn chọn sau khi kết nối. User có thể sau đó nhập một URL mới và duyệt web bình thường.

   Concurrent user logins - Bật thiết lập này sẽ cho phép chỉ một kết nối tới portal trên mỗi user. Điều này sẽ ngăn users thực hiện nhiều kết nối sử dụng username và password giống nhau.

   Improving Performance

   Nếu bạn đang chạy một hệ thống captive portal sau đó bạn có nhiều khả năng chia sẽ một kết nối internet cho nhiều user. Nếu vậy thì tôi khuyên bạn cấu hình pfSense đề hoạt động như một transparent proxy server để tiết kiệm băng thông internet.

   Bạn có thể cũng muốn xem xét thiết lập traffic shaping để nâng cao hơn việc chia sẽ kết nối. Traffic shaping có thể ngăn user tải về các tệp tin chiếm dụng băng thông.

 

Bài viết khác: