![基于软件的广域强制门户](https://linux22.com/image/629876/%E5%9F%BA%E4%BA%8E%E8%BD%AF%E4%BB%B6%E7%9A%84%E5%B9%BF%E5%9F%9F%E5%BC%BA%E5%88%B6%E9%97%A8%E6%88%B7.png)
我正在尝试组织一些广泛的 wifi 网络
想象一个有几个 wifi 点的小镇
当用户连接到 wifi 热点时,设备将被重定向到强制门户 (cp) 网站,用户必须在此输入一些信息并接受条款和条件
我们在每个 wifi 点后面组织了强制门户,其中包含 Linux iptables(如果具有其 mac 地址的设备接受服务条款,则允许用户访问互联网)
它运行正常,直到用户移动到另一个位置(到其他 wifi 点) - 用户必须在强制门户上再次接受条款
我们在强制门户之间创建了 mac 地址列表的同步,以避免出现该问题,但随后又出现了其他问题,因为互联网用户数量约为 90000 - 由于 iptables 处理了 90k+ mac 地址规则,CP 机器上的 CPU 负载很高
所以问题是 - 是否存在一些轻量级的解决方案,例如通过 mac 地址进行 iptables 过滤,或者我们应该使用其他策略?
答案1
您应该考虑使用中央 RADIUS 服务器进行身份验证。它将保存有效(和已登录)用户/设备的列表,并可以向接入点告知设备的状态,然后接入点只需管理当前连接的设备。
另一种方法也可以与 RADIUS 解决方案结合使用,即拥有一个中央、功能强大的网关,接入点连接到该网关,处理所有路由/防火墙事务。当然,这需要支持这种拓扑的网络架构。