一段时间以来,我一直在研究如何处理未支付账单的客户。目前,在向客户自己订阅的电子邮件地址发送了几封温和的电子邮件提醒后,我们基本上重新编程了 CPE 以禁用以太网端口。不用说,这样做有利有弊。
我真的很想做某种形式的强制计费门户,它可以隔离特定客户的流量,将所有网络流量重定向到我们的门户,并通知他们需要支付账单,然后只允许访问我们的在线计费系统。
使用一些网络魔法(VLAN)并可能使用一些已经为类似的事情编写的软件,我很想找到一个开源解决方案或其他想法来做这样的事情。考虑到我们的内部设置和众多不同的客户 CPE 配置(桥接与 nat 设备、静态 IP 与动态 IP),我认为任何一种方法(如劫持他们的 DNS 或 http 重定向)都不会单独起作用。我知道它不会对每个人都有效,但我希望能够为大多数客户做到这一点。
所以,我想问一下大家。在开源/免费软件世界中,人们使用什么来实现这样的目标,又是如何实现的?
编辑:我们是一家小型 WISP。我们的 CPE 主要由 Cambium Canopy SM 组成,但也混入了一些 WiMax 硬件。
答案1
从您的编辑来看,您是一家 (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 重定向页面;另一个基于名称的虚拟网站,用于实现您的实际门户。
每个问题都需要分别解决。