Linux
強制計費門戶?
一段時間以來,我一直在研究我們如何處理尚未支付賬單的客戶。目前,在向客戶自己訂閱的電子郵件地址發送了幾封溫和的電子郵件提醒之後,我們基本上重新程式了 CPE 以禁用乙太網埠。不用說,這樣做有好處也有壞處。
我真的很想做某種形式的強制計費門戶,它可以隔離特定客戶的流量,將所有網路流量重定向到我們的門戶,並通知他們需要支付賬單,然後只允許訪問我們的線上計費系統。
使用一些網路魔法(vlan)並可能使用一些已經為此編寫的軟體我很想找到一個開源解決方案或其他想法來做這樣的事情。鑑於我們的內部設置和眾多不同的客戶 CPE 配置(橋接與 nat 設備、靜態 IP 與動態 IP),我不認為像劫持他們的 DNS 或 http 重定向這樣的任何一種方法都可以單獨工作。我知道它不會對每個人都有效,但我希望能夠為大多數客戶做到這一點。
所以,我問大家。在開源/自由軟體世界中,人們用什麼來完成這樣的事情,它是如何完成的?
編輯:我們是一個小精靈。我們的 CPE 主要由形成層樹冠 SM 組成,但也混入了一些 WiMax 硬體。
根據您的編輯,您是 (W)ISP,如果他們沒有支付賬單,您希望將所有人重定向到計費控制面板。您想使用開源工具來做到這一點。我將使用
iptables
您選擇的 Web 伺服器和一個解決方案組合在一起。使用iptables
我將簡單地DNAT
訪問埠80
(HTTP)以及DROP
除 HTTP 和 DNS 之外的所有內容。無論使用者在瀏覽器中鍵入什麼內容,無論 DNS 將解析什麼地址,埠 80 重定向器都會將流量發送到您的計費門戶。考慮到這個解決方案,您可以開始整理需要解決的問題列表:
- 所有流量都需要(最終)通過您的
iptables
路由器。如果您已經有其他類型的硬體,則需要更新問題,因為這是一個重大限制。iptables
路由器需要知道需要被禁止的客戶端的 IP 地址。它還需要一種腳本化的方式來快速更新其規則。獲取需要禁止的靜態 IP 列表應該不是問題。獲取需要相同處理的動態 IP 列表可能會有點困難,這取決於他們如何獲得 IP,但它應該是可行的。如果 IP 失敗,您始終可以匹配 MAC 地址!- 您需要在僅服務於您的門戶的靜態地址上擁有一個 Web 伺服器。為了獲得更好的體驗,這個 Web 伺服器應該服務於兩個網站:一個使用重寫規則的“預設”網站,因此無論請求什麼 URL,它都會提供 HTTP 重定向頁面,以及一個基於名稱的虛擬網站,它實現您的實際門戶。
這些項目符號中的每一個都需要單獨處理。