考虑这种情况,
在咖啡吧你点了饮料并拿到了账单,
账单上有 Wi-Fi 网络密钥,该密钥在接下来的 X 小时内有效。
我想尝试实现这样的目标。从哪里开始寻找,
PfSense 有这个吗?
我是否应该保持无线网络开放并在内部站点进行授权以允许外出用户外出?
我很困惑如何通过 C# (.NET)(这是我所了解的语言)务实地提取或生成密钥。
答案1
您感兴趣的是 WPA2-Enterprise:
WPA2 有两个版本 - WPA2-Personal 和 WPA2-Enterprise:
- WPA2-Personal 通过使用设置密码来保护未经授权的网络访问。
- WPA2-Enterprise 通过服务器验证网络用户。
您需要拥有具有适当 WPA-Enterprise 支持的 WIFI 路由器、托管用户数据库的服务器以及与该数据库交互的软件。
答案2
我在这里为网站建立了一个热点,其使用方式类似,用户获得票证,票证有用户名和密码,有效期为几个小时。
在这里我使用 RADIUS 作为身份验证后端,因此用户名以编程方式添加到 RADIUS 用户数据库(可以是 LDAP、RDB、平面文件)并从中删除。
正如您所建议的,我使用了 PfSense,因为它有一个内置的强制门户,可以作为标准功能针对 RADIUS 进行身份验证。使用强制门户意味着无线网络可以打开,因此很容易连接,但您仍然可以控制访问。
编辑:此处的流程是:
- 工作人员通过网页生成票证(PHP)
- Web 服务器将用户插入 LDAP(PHP+OpenLDAP)
- 用户登录强制门户(PfSense+FreeRADIUS)
- RADIUS 根据 LDAP 对用户进行身份验证(OpenLDAP+FreeRADIUS)