![无线 ISP 的用户身份验证和日志记录?](https://linux22.com/image/667568/%E6%97%A0%E7%BA%BF%20ISP%20%E7%9A%84%E7%94%A8%E6%88%B7%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E5%92%8C%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95%EF%BC%9F.png)
我必须升级无线 ISP (WISP) 的网络。他们当前的设置包括一台路由器 (Mikrotik RouterBoard 1100AHx2)、用于客户端的 Ubiquiti Rockets(带扇区天线)和用于客户端 CPE 的 Ubiquiti NanoStations。
他们的安全措施包括 CPE 的 WPA2-PSK,他们通过拨号 PPPoE 提供访问权限。PPPoE 使得控制用户、断开连接、在用户不付费的情况下限制用户使用等变得轻而易举。
但 PPPoE 在其他方面总是有问题(MTU 问题、隧道随机断开等)。所以我想让事情尽可能保持纯粹:不进行任何类型的隧道,只有裸以太网。
身份验证可以通过 802.1x (EAP) 轻松解决,所有设备都支持该协议。然后只需使用 DHCP(甚至 DHCPv6)分配 IP 地址即可。
但我的问题是 802.1x 身份验证基于用户+密码,而 DHCP 仅使用 MAC。因此,我需要一种方法来为每种类型的用户提供特定池中的 IP - Freeradius 可以充当 DHCP 服务器并执行此操作,但无法将 802.1x 凭据用于 DHCP - 或者至少,我还没有找到这样做的方法。
我有什么选择可以实现这一点?新硬件不是一种选择,解决方案必须尽可能地是 FOSS,并在 Linux 或 FreeBSD 上运行。
答案1
Freeradius 可以与不同的后端一起工作,例如 SQL 或 LDAP。您可以维护用户列表和一些在 Freeradius 中指定的 RADIUS 特定令牌,以指定子网和/或帐户状态(活动、非活动、非付费等)。您需要真正深入研究 Freeradius 及其自定义,但我知道这是可以做到的,特别是因为相当多的中型 ISP 运行类似的东西来执行运营商 DHCP 等。