數碼中文坊

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

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

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

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

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

x
管理一個社區的網路,除了技術面的問題外,如何讓大家主動來繳錢也是一門大學問。7 k7 G* ~3 J" T: X" q: C$ J1 j1 i

* Y+ H9 @* A/ P/ g. p) T之前我住的社區有專人在收管理費及網路費,換了新的一批管委會後什麼屁也不管。倒楣的是我這個寬頻掛在我名下的網管。沒人收費總不能老是由我幫社區白白一直墊款。於是乎只好祭出 pfsense 的 Captive portal (強制網路門戶),讓使用網路的住戶乖乖的自動來繳錢。3 ~+ X- |# W$ v6 s% X0 Y1 p* w

& t& N3 c2 e$ _! T  D/ ?什麼是 Captive portal (強制網路門戶)?使用過校內網路的人多半知道,上網前,不管你輸入什麼網址,瀏覽器會轉往一個需要輸入帳號密碼的頁面讓你登入。登入認證過後才可以開始使用網路。Captive portal 就是這個東西。% u+ `+ I& U4 C- G
. E% J& j* |7 Z' a1 }, I! g
注意:Captive portal 必需搭配 DNS forwarder 服務,所以不可將 DNS forwarder 功能關閉,否則用戶將無法被引導至認證畫面。
9 p; z9 E' L/ L5 \" C
0 r- y8 |, w; G2 `設定 pfsense 的 Captive portal 其實很簡單,前往 Services -> Captive portal,將「Enable captive portal」打個勾並儲存,它就開始運作了。「Interfaces」的部份,請選擇「LAN」。) [1 N$ ]0 U* q& h7 l
0 s: u! Q: b" X# z1 ?
captive-portal01.jpg
+ e2 H7 x& }7 C9 n8 Y  ]& A, m; n( \1 q- V+ O& |! V/ t
接下來你必須選擇要如何讓使用者進行登入驗證。一般來說,最簡單的方式就是在「Authentication」的地方選擇「Local User Manager / Vouchers」使用本地使用者帳號密碼來登入 (請參考圖 4)。這裏的「本地使用者帳號密碼」指的是 pfsense 的 System -> User Manager 中所建立的帳號密碼。) F' b4 b& T: [$ E  @# t  v! j
6 [8 L" s1 n( t. h% `  `
captive-portal04.jpg   Z! r  {: T1 e0 p

) ?- ]- t4 I% m! n7 H% ~2 U請事先在這裏建立一或多個非系統管理員且沒有任何權限的帳號。如此你就可以分別將這些帳號密碼分發給使用者。往後使用者必須登入帳號密碼才能開使上網。
4 [& i1 F) m4 D- g# T- ]# F
* u$ A- h2 j1 `0 U. I) @1 x! u( d& n8 a登入認證頁面預設是一個簡單的英文網頁。如果你想變更成自己的內容,可在「Portal page contents」這部份上傳自己的 HTML 或 PHP 網頁。這部份涉及網頁設計內容,不在此文討論。
" R, F7 s0 ^5 A; c" U9 J9 R4 G$ K8 |& |0 m6 d
captive-portal05.jpg 2 L2 b; M3 m6 t2 E
, h" d2 ^- g; Z* o. T5 v
由於我的目的只是想逼社區的用戶自己來繳錢。如果往後都要輸入帳號密碼,一定會被住戶幹譙。因此我只設了一個統一的帳號密碼,並且將「Enable Pass-through MAC automatic additions」這個選項打勾。有什麼作用呢?勾了這個以後,只要是通過帳號密碼認證的那部電腦的 MAC 位址便會自動加入到 Pass-through MAC 名單中。加入 Pass-through 名單的 MAC 位址往後都可以直接繞過 Captive portal 而無需再驗證。
% i7 A* p% V$ M5 p
% S4 O8 o* F- {: Q+ s. N8 a captive-portal02.jpg
) B7 I/ `2 _- u4 Z  b
! s% o% J' s, ^1 A, b來繳過錢的住戶我就把唯一的帳號密碼發給他,他回去在每一台電腦上登入一次就不用再煩惱。而我也不必像一開始沒發現這個選項前,一家一家的去抄電腦的 MAC 位址然後再手動加入 Pass-through MAC 名單。3 n+ D- p$ G+ |9 u/ ]4 R* j9 W- k

9 `% n& G! t+ O& L8 r. P3 R captive-portal03.jpg & V& {4 r6 O5 Z4 a7 V
/ w; ^8 q$ f9 I( o3 M. F1 @" r
經由這種方式自動加入的 MAC 位址會有「Auto added pass-through MAC」字樣。
" y( K8 `6 g+ d* |) c) V( C! S
$ z6 {0 Z7 I0 N! Q3 \) s, u- |等下次要再收費時,我只需把 Pass-through MAC 名單清空,再把登入密碼換一換。住戶就知道又該自動來繳錢了!# l- J! O# B5 ^/ @- m2 |, g- v3 X0 Q
6 d( ]# o. U' R( E1 J# Z* @
1040702 補充:如果有用戶因某些特殊原因無法進入 Captive portal 的驗證頁面,可直接輸入該 pfsense 的 IP 並加上 8000 埠號即可。如:" ^, |" M6 o" j" B
5 h3 c$ w5 W  y( Z9 p& e" }  o
http://192.168.1.1:8000
0 ?7 a, b' s0 d* w  {: l
發表於 2013-9-1 23:31:03 | 顯示全部樓層
本文章最後由 fox0513 於 2013-9-1 11:40 PM 編輯 ) i: I6 @# W3 D" C/ q
! g9 V& N% p- O8 E% o8 H
MarchFun您好~小弟也有使用pfsense的captive portal功能去管理社區的網路,但發現用戶反映有時點網頁連結出現dns解析錯誤的問題,但一下又好了~不曉得您是否有遇到。
  q! Z& U: ]+ E每個用戶的環境均為:# N) s% o9 E9 |
|(機房端)VDSL->pfsese|----->|(用戶住家)ip分享器->用戶PC|6 \4 e4 |* u0 d0 }. Z( [$ ^
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-19 03:24 PM

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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