如何限制用户对特定 NAS 的访问?

如何限制用户对特定 NAS 的访问?

我是 RADIUS 新手,刚刚为 802.1x (WPA) 设置了一个非常基本的 FreeRADIUS 服务器。我使用 EAP、MySQL 作为后端,使用 daloRADIUS 作为 webGUI(主要用于用户管理)。

我有两个 WiFi 网络,一个是专用网络,一个是访客网络。现在我想为每个 NAS 指定用户。因此,某些用户只能使用访客网络,而不能使用专用网络。

我该怎么做?使用 FreeRADIUS 可以实现吗?因为我似乎找不到有关它的任何信息。是不是有什么奇怪的地方,我使用 RADIUS 的方式是否错误?

答案1

明白了!问题在于 EAP 未将 NAS-Identifier 属性复制到隧道请求中。将“copy_request_to_tunnel”设置为“yes”即可解决问题 :)

现在我可以使用 NAS-Identifier 属性作为 radcheck 表中的检查。

答案2

一种方法是设置不同的虚拟服务器,并将每个 NAS 指向不同的服务器。您可以设置用户,然后将用户分配给不同的虚拟服务器。实际上,您应该将他们分配给不同的组,然后将每个组分配给不同的虚拟服务器。请参阅文档虚拟服务器

您还可以使用寻线组。这里您有一台服务器,但将每个 NAS 分配给不同的搜索组。然后您将用户/用户组分配给每个搜索组。

如果您不想自己做这件事,您可以考虑一些半径即服务公司。 云朵莎在后端使用 FreeRadius,并支持使用 Google Autenicator 进行双因素身份验证。 无线安全是另一家提供半径即服务的公司。

答案3

他模仿小家伙

https://github.com/abdiasriver/notas-wisp/blob/main/Limitar-usuario-a-un-NAS-freeradius.md

我在 github 上创建了它,但是我在下面回复了它,因为它很无聊

限制单个 NAS 或 mikrotik 的用户

  • 在您的服务器上搜索包含的档案copy_request_to_tunnel
grep -rl "copy_request_to_tunnel" /etc

举个例子,你会看到这样的东西:

nano /etc/freeradius/3.0/mods-available/eap
  • 编辑档案及其内容:
copy_request_to_tunnel = no

Cambialo 表示同意。

copy_request_to_tunnel = yes

我也改变主意了

use_tunneled_reply = no

同意

use_tunneled_reply = yes
  • 现在您已访问了您的帐户IP/daloradius并向您的用户发送了此消息。

如果您的计算机具有 NAS 标识符,Rb01/system identity print应该将 NAS 标识符Rb01 属性聚合到 daloradius 中:

属性:NAS 标识符 价值:Rb01 操作:== 目标:查看

  • 现在重新启动 freeradius 服务器并测试您的各种 NAS 用户,您会发现您只按指定方式连接。

相关内容