FreeRADIUS 更改用户域

FreeRADIUS change user domain

我一直在做一个项目,使用 Google Authenticator 配置 FreeRADIUS 以进行双因素身份验证。

我用过这个guide

一切正常,我什至编写了脚本来生成二维码并将其通过电子邮件发送给用户,但我还想克服最后一个障碍。

例如:

假设我们的 AD 域是 my.domain.com,我使用用户名 user@my.domain.com 对 FreeRADIUS 进行身份验证,一切正常。问题是我们的 RAS 解决方案有时并不总是将完整域发送到 FreeRADIUS。在日志中,我会看到用户名是 user@my(2000 年前的域名)。这自然是失败了。

我想要实现的是让 FreeRADIUS 捕捉到这个并将 @my 替换为 @my.domain.com 。

另一种选择是重新配置所有 RAS 客户端,因为这些客户端几乎都用于远程,所以这不切实际。

我确定 FreeRADIUS 可以做到,有人可以帮助我吗?

好的,知道了。

以防其他人需要知道我所做的。

我将以下内容添加到 /etc/raddb/hints(可能因发行版而异,但我使用的是 CentOS 7)

DEFAULT Suffix == "@my", Strip-User-Name = No
     User-Name := "%{User-Name}.domain.com"


DEFAULT User-Name !~ ".*@"
     User-Name := "%{User-Name}@my.domain.com"

第一个条目查看后缀是否只是 @my,如果是,则将 .domain.com 添加到用户名。

第二个条目检查是否存在 @,如果不存在,则将 @my.domain.com 添加到用户名。这原来是上面没有提到的额外要求。

希望它对某人有用。现在效果很好。