![仅限 LAN 和 802.1x 网络上的 Internet 用户使用相同的 VLAN,并使用 pfSense 作为网关](https://linux22.com/image/661957/%E4%BB%85%E9%99%90%20LAN%20%E5%92%8C%20802.1x%20%E7%BD%91%E7%BB%9C%E4%B8%8A%E7%9A%84%20Internet%20%E7%94%A8%E6%88%B7%E4%BD%BF%E7%94%A8%E7%9B%B8%E5%90%8C%E7%9A%84%20VLAN%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%20pfSense%20%E4%BD%9C%E4%B8%BA%E7%BD%91%E5%85%B3.png)
我正在为学生宿舍创建 ISP。局域网已经建好并开始工作,配有几台 CISCO 交换机。我想通过安全且自动的方式为付费用户(按月)提供互联网。在不久的将来,可能还会在“不太私密”的地方(主要是学生,但他们可能不住在宿舍)设置接入点(还是 CISCO)来连接网络,因此连接必须是安全的,并且仅限于住户(如果只有付费用户无线访问网络,这是可以接受的)。
我的愿望如下:
- 登录应该简单易懂,并适应不断变化的社区(每年 150-200 次出发/到达)
- 在订阅结束后自动断开用户的互联网连接(用户仍然可以使用局域网)
- 互联网网关的管理接口(带宽、连接用户……)
- 当非付费用户想要访问互联网时,强制门户(或其他方式)用于解释如何订阅
但是我有一个很大的限制:人们(付费用户或非付费用户)必须能够在他们之间进行通信(同一个 VLAN)。
对于 1. 我认为 802.1x PEAP 是正确的解决方案,它在服务器上使用证书,在客户端部分仅使用用户名/密码。我不必在每个设备上都放置证书。对于 2. 我考虑使用 LDAP radiusProfile objectClass 中的“expiration”,并在用户订阅时更新此值。对于 3. 和 4. 解决方案之一可能是 pfSense。
由于 802.1x 和用户位于同一 LAN 上的限制,除了让非付费用户拥有 RADIUS“用户帐户”之外,还有其他可能性吗?我认为不是。
据我了解,802.1x 配置在网络设备(AP 或交换机)上,并直接与 RADIUS 服务器通信,因此pfSense 如何知道用户何时在某个网络设备上通过身份验证,以便绕过强制门户?我不希望我的用户必须在他们的设备上登录并再次登录强制门户,它必须是透明的。
我看到的实现方式如下:
User NP: non-paying user = access to LAN but not to Internet; access to captive portal when asking for Internet;
User P: paying user = access to LAN and Internet until suscription expires;
User NP User P
| | _______ same ________ _________
| | 802.1x |RADIUS| VLAN |pfSense| User P requests | |
---------------------|Client|---------|Net |-----------------|INTERNET|
|______| |Getaway| |________|
|
|User NP requests
____|___
|Captive|
|portal |
|_______|
问题是,我不知道 pfSense 如何知道用户 P 是否被允许连接到互联网,而无需询问用户的 RADIUS 用户名和密码以绕过强制门户。有没有办法,pfSense 可以自动检索有关 802.1x 连接的信息而无需重新登录?或者也许我遗漏了一些东西,或者我误解了 802.1x 的工作原理?
我愿意接受任何建议、改变或任何事情,但它必须满足关键标准:约束和愿望 1 到 3。