MarchFun 發表於 2013-3-6 15:28:04

Captive portal 強制網路門戶經驗分享

管理一個社區的網路,除了技術面的問題外,如何讓大家主動來繳錢也是一門大學問。

之前我住的社區有專人在收管理費及網路費,換了新的一批管委會後什麼屁也不管。倒楣的是我這個寬頻掛在我名下的網管。沒人收費總不能老是由我幫社區白白一直墊款。於是乎只好祭出 pfsense 的 Captive portal (強制網路門戶),讓使用網路的住戶乖乖的自動來繳錢。

什麼是 Captive portal (強制網路門戶)?使用過校內網路的人多半知道,上網前,不管你輸入什麼網址,瀏覽器會轉往一個需要輸入帳號密碼的頁面讓你登入。登入認證過後才可以開始使用網路。Captive portal 就是這個東西。

注意:Captive portal 必需搭配 DNS forwarder 服務,所以不可將 DNS forwarder 功能關閉,否則用戶將無法被引導至認證畫面。

設定 pfsense 的 Captive portal 其實很簡單,前往 Services -> Captive portal,將「Enable captive portal」打個勾並儲存,它就開始運作了。「Interfaces」的部份,請選擇「LAN」。



接下來你必須選擇要如何讓使用者進行登入驗證。一般來說,最簡單的方式就是在「Authentication」的地方選擇「Local User Manager / Vouchers」使用本地使用者帳號密碼來登入 (請參考圖 4)。這裏的「本地使用者帳號密碼」指的是 pfsense 的 System -> User Manager 中所建立的帳號密碼。



請事先在這裏建立一或多個非系統管理員且沒有任何權限的帳號。如此你就可以分別將這些帳號密碼分發給使用者。往後使用者必須登入帳號密碼才能開使上網。

登入認證頁面預設是一個簡單的英文網頁。如果你想變更成自己的內容,可在「Portal page contents」這部份上傳自己的 HTML 或 PHP 網頁。這部份涉及網頁設計內容,不在此文討論。



由於我的目的只是想逼社區的用戶自己來繳錢。如果往後都要輸入帳號密碼,一定會被住戶幹譙。因此我只設了一個統一的帳號密碼,並且將「Enable Pass-through MAC automatic additions」這個選項打勾。有什麼作用呢?勾了這個以後,只要是通過帳號密碼認證的那部電腦的 MAC 位址便會自動加入到 Pass-through MAC 名單中。加入 Pass-through 名單的 MAC 位址往後都可以直接繞過 Captive portal 而無需再驗證。



來繳過錢的住戶我就把唯一的帳號密碼發給他,他回去在每一台電腦上登入一次就不用再煩惱。而我也不必像一開始沒發現這個選項前,一家一家的去抄電腦的 MAC 位址然後再手動加入 Pass-through MAC 名單。



經由這種方式自動加入的 MAC 位址會有「Auto added pass-through MAC」字樣。

等下次要再收費時,我只需把 Pass-through MAC 名單清空,再把登入密碼換一換。住戶就知道又該自動來繳錢了!

1040702 補充:如果有用戶因某些特殊原因無法進入 Captive portal 的驗證頁面,可直接輸入該 pfsense 的 IP 並加上 8000 埠號即可。如:

http://192.168.1.1:8000

fox0513 發表於 2013-9-1 23:31:03

本文章最後由 fox0513 於 2013-9-1 11:40 PM 編輯

MarchFun您好~小弟也有使用pfsense的captive portal功能去管理社區的網路,但發現用戶反映有時點網頁連結出現dns解析錯誤的問題,但一下又好了~不曉得您是否有遇到。
每個用戶的環境均為:
|(機房端)VDSL->pfsese|----->|(用戶住家)ip分享器->用戶PC|
IP分享器wan IP指定pfsense配發的網段IP並且主要DNS IP設定為pfsense的IP位置,次要DNS IP為168.95.1.1,而用戶PC接在分享器lan端。

MarchFun 發表於 2013-9-2 14:10:53

用戶端的 DNS 不需要設為 pfsense 的 IP 位置,直接指向 168.95.1.1 即可。

fox0513 發表於 2013-9-2 21:58:28

Client端PC的IP設定均是用自動取得IP。您說的是IP分享器裡面WAN端的DNS設定168.95.1.1嗎~?這樣的話client還有辦法跳出認證窗口嗎?印象中主要DNS還是得設定pfsense的IP位址,不然只能用http://ip:8000去手動進入認證窗口

MarchFun 發表於 2013-9-4 17:44:47

Captive portal 跟使用者個人的 DNS 設定無關。任何經過 pfSense 上網的電腦,不管如何設定,都逃不過 Captive portal 的手心。

MarchFun 發表於 2015-1-15 11:14:12

注意:Captive portal 必需搭配 DNS forwarder 服務,所以不可將 DNS forwarder 功能關閉,否則用戶將無法被引導至認證畫面。
頁: [1]
檢視完整版本: Captive portal 強制網路門戶經驗分享