數碼中文坊

 取回密碼
 我要註冊
檢視: 29360|回覆: 5

[教學] Captive portal 強制網路門戶經驗分享

[複製連結]
發表於 2013-3-6 15:28:04 | 顯示全部樓層 |閱讀模式

馬上註冊,結交更多好友,享用更多功能,讓你輕鬆瀏覽論壇。

你需要 登入 才可以下載或檢視,沒有帳號?我要註冊

x
管理一個社區的網路,除了技術面的問題外,如何讓大家主動來繳錢也是一門大學問。7 @; j3 m/ z0 k+ m* F8 p
+ P5 c  [. w; y3 z1 R) k+ a
之前我住的社區有專人在收管理費及網路費,換了新的一批管委會後什麼屁也不管。倒楣的是我這個寬頻掛在我名下的網管。沒人收費總不能老是由我幫社區白白一直墊款。於是乎只好祭出 pfsense 的 Captive portal (強制網路門戶),讓使用網路的住戶乖乖的自動來繳錢。
& s  r$ u9 E! Z6 ^
9 }8 p. V' J1 ~/ `什麼是 Captive portal (強制網路門戶)?使用過校內網路的人多半知道,上網前,不管你輸入什麼網址,瀏覽器會轉往一個需要輸入帳號密碼的頁面讓你登入。登入認證過後才可以開始使用網路。Captive portal 就是這個東西。
! C7 [( ]4 f( Z( S, u+ E. Y( N3 a+ f$ `- M. I1 w0 [
注意:Captive portal 必需搭配 DNS forwarder 服務,所以不可將 DNS forwarder 功能關閉,否則用戶將無法被引導至認證畫面。
4 ^0 o, |* f3 P# H9 P" l) k# ^0 d
/ S* S6 f$ d2 I& d& E設定 pfsense 的 Captive portal 其實很簡單,前往 Services -> Captive portal,將「Enable captive portal」打個勾並儲存,它就開始運作了。「Interfaces」的部份,請選擇「LAN」。  S/ g6 w' A5 S
& H' N2 H$ s  ^# f. H
captive-portal01.jpg & d3 w% t% {8 v5 T& `6 I* v

5 R2 H  M7 J/ M, z* v接下來你必須選擇要如何讓使用者進行登入驗證。一般來說,最簡單的方式就是在「Authentication」的地方選擇「Local User Manager / Vouchers」使用本地使用者帳號密碼來登入 (請參考圖 4)。這裏的「本地使用者帳號密碼」指的是 pfsense 的 System -> User Manager 中所建立的帳號密碼。
6 o3 Q4 _0 h; P; P  b6 C
4 q  I$ t: h* C- q7 k3 t captive-portal04.jpg
1 j) p# k1 `8 X( j5 f+ P7 T% E$ K, M; Q6 w
請事先在這裏建立一或多個非系統管理員且沒有任何權限的帳號。如此你就可以分別將這些帳號密碼分發給使用者。往後使用者必須登入帳號密碼才能開使上網。  Y3 l; x9 E$ A5 U- j0 C

6 b+ g8 Q- q: F+ D0 X1 ~登入認證頁面預設是一個簡單的英文網頁。如果你想變更成自己的內容,可在「Portal page contents」這部份上傳自己的 HTML 或 PHP 網頁。這部份涉及網頁設計內容,不在此文討論。1 w3 C2 j' k  ^1 \, @1 u7 z' f
# }  l  K, I- R7 ^" l9 }( p
captive-portal05.jpg ( t5 A. u4 y; L- a) h4 K
5 ]4 m2 N- P5 N
由於我的目的只是想逼社區的用戶自己來繳錢。如果往後都要輸入帳號密碼,一定會被住戶幹譙。因此我只設了一個統一的帳號密碼,並且將「Enable Pass-through MAC automatic additions」這個選項打勾。有什麼作用呢?勾了這個以後,只要是通過帳號密碼認證的那部電腦的 MAC 位址便會自動加入到 Pass-through MAC 名單中。加入 Pass-through 名單的 MAC 位址往後都可以直接繞過 Captive portal 而無需再驗證。
4 N: [5 j2 l# D6 k7 j$ o8 g/ B7 d- G5 D, i( S9 O9 U7 E. V6 [5 d
captive-portal02.jpg 4 Y# G" {3 J, U( b$ Y

; r/ T0 i; ~  c8 Z( r5 Y! M來繳過錢的住戶我就把唯一的帳號密碼發給他,他回去在每一台電腦上登入一次就不用再煩惱。而我也不必像一開始沒發現這個選項前,一家一家的去抄電腦的 MAC 位址然後再手動加入 Pass-through MAC 名單。  ~% P6 F3 L& \. Q1 S
0 e0 ^3 m* r3 V- X( `+ P  H% f& k
captive-portal03.jpg 1 y# k# K9 t! n- |( |: \  R
# H& w2 V& P; Y  V/ ?
經由這種方式自動加入的 MAC 位址會有「Auto added pass-through MAC」字樣。
, X, k$ G4 V4 g- W6 p  _3 ~+ w+ d; H1 X# y0 F% ]
等下次要再收費時,我只需把 Pass-through MAC 名單清空,再把登入密碼換一換。住戶就知道又該自動來繳錢了!
# z* w6 t. \: K& S; U
5 \! y5 r" i" P% z1040702 補充:如果有用戶因某些特殊原因無法進入 Captive portal 的驗證頁面,可直接輸入該 pfsense 的 IP 並加上 8000 埠號即可。如:
4 D6 z$ ^3 e, p1 A- o8 M) v4 j* d% {4 B2 n
http://192.168.1.1:8000
/ U" v' g6 ^1 Z# o
發表於 2013-9-1 23:31:03 | 顯示全部樓層
本文章最後由 fox0513 於 2013-9-1 11:40 PM 編輯 ; b% y+ l8 B% P

! A9 U2 k7 e; y$ k3 _MarchFun您好~小弟也有使用pfsense的captive portal功能去管理社區的網路,但發現用戶反映有時點網頁連結出現dns解析錯誤的問題,但一下又好了~不曉得您是否有遇到。
) [; f: ?* e+ c+ G+ \/ H) {每個用戶的環境均為:
; Q) Q- w# C' o. Y0 ?1 l0 H  J|(機房端)VDSL->pfsese|----->|(用戶住家)ip分享器->用戶PC|7 `: F& T& g/ r
IP分享器wan IP指定pfsense配發的網段IP並且主要DNS IP設定為pfsense的IP位置,次要DNS IP為168.95.1.1,而用戶PC接在分享器lan端。
 樓主| 發表於 2013-9-2 14:10:53 | 顯示全部樓層
用戶端的 DNS 不需要設為 pfsense 的 IP 位置,直接指向 168.95.1.1 即可。
發表於 2013-9-2 21:58:28 | 顯示全部樓層
Client端PC的IP設定均是用自動取得IP。您說的是IP分享器裡面WAN端的DNS設定168.95.1.1嗎~?這樣的話client還有辦法跳出認證窗口嗎?印象中主要DNS還是得設定pfsense的IP位址,不然只能用http://ip:8000去手動進入認證窗口
 樓主| 發表於 2013-9-4 17:44:47 | 顯示全部樓層
Captive portal 跟使用者個人的 DNS 設定無關。任何經過 pfSense 上網的電腦,不管如何設定,都逃不過 Captive portal 的手心。
 樓主| 發表於 2015-1-15 11:14:12 | 顯示全部樓層
注意:Captive portal 必需搭配 DNS forwarder 服務,所以不可將 DNS forwarder 功能關閉,否則用戶將無法被引導至認證畫面。
你需要登入後才可以回覆 登入 | 我要註冊

本版積分規則

Archiver|禁閉室|手機版|數碼中文坊

GMT+8, 2024-4-25 06:17 AM

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回覆 返回頂端 返回清單