我有两个 SSID(一个用于用户,一个用于员工)和一个 FreeRADIUS 服务器,它授权帐户访问无线网络。但服务器正在验证所有用户帐户以访问两个 SSID。我希望用户帐户无法访问员工 SSID,反之亦然。我该如何设置?
问问题
3219 次
1 回答
1
您需要使用 unlang 配置来只允许您想要的连接。有几种不同的方法可以做到这一点。您首先需要确定是用户还是员工连接。
这可以通过 LDAP 查找之类的方式进行,或者您的用户使用“ username@user.example.com ”连接,而员工使用“ username@employee.example.com ”连接。如果这是示例,请使用领域模块(suffix
在sites-enabled/default
文件中)将用户名属性拆分为剥离用户名和领域。
您还需要 SSID。许多 NAS 将它作为 Called-Station-ID 属性的一部分提供,因此您可以使用提供的rewrite_called_station_id
策略来获取它(FreeRADIUS 3)。
然后你可以在你的sites-enabled/default
authorize{}部分做一些事情,比如:
# get SSID from Called-Station-Id
rewrite_called_station_id
# check user connecting to employee SSID and reject if so
if (Realm == 'user.example.com' && Called-Station-SSID == "employee") {
reject
}
# check employee connecting to user SSID and reject if so
if (Realm == 'employee.example.com' && Called-Station-SSID == "user") {
reject
}
# otherwise we will continue processing...
希望您能看到如何建立策略来控制访问。有关更多详细信息,请参见unlang
手册页。FreeRADIUS wiki上有很多示例,并且在服务器的默认配置中也有。
于 2016-04-18T14:43:54.647 回答