freeradius 中的 proxy.conf 文件

freeradius 中的 proxy.conf 文件

我正在开发使用 PHP 语言开发的免费 radius 管理系统。我的系统将在云端可用,假设有 company1 和 company2 将使用我们的系统。company1 将拥有数据库 1,其中包含 company1 的客户,company2 拥有数据库 2,其中包含 company2 的客户。现在,免费 radius 中的文件 proxy.conf 有什么好处或用途?我已经阅读过它,但我不明白。但我认为这个文件与我的问题有关,不是吗?有人可以向我解释这个文件以及如何使用它吗?

答案1

proxy.conf文件定义了 RADIUS 流量的目的地域。每个域可能包含一组或多组服务器。服务器按用于处理记账流量(记账请求)的服务器和用于处理身份验证流量(访问请求)的服务器分组。

解决您的问题的一种方法是运行三个 RADIUS 服务器,一个作为前端,另外两个作为后端。一个后端将为公司 1 提供服务,另一个后端将为公司 2 提供服务。如果您想让公司保持独立,这将是一个好方法。

除了安全性之外,还有理由将公司的 RADIUS 服务器隔离 - FreeRADIUS <= 3 完全同步,除了代理之外。这意味着如果您的数据库发生故障,并且工作线程挂起等待响应,则不会处理任何新请求。例如,如果数据库 1 脱机,对公司 2(数据库 2)的身份验证请求可能会受到影响。

如果上述问题不相关,那么使用 SQL 模块的多个实例与不同的数据库通信可能会更简单。

mods-available/sql您可以通过将现有文本复制/粘贴到同一个文件中,并在模块名称和左花括号之间插入实例名称来创建 sql 模块的多个实例,即sql <instance> {

然后您可以参考中的实例sites-available/default

基于领域在数据库之间进行选择的虚拟服务器配置示例如下:

server default {
    authorize {
        # Splits the incoming username on @
        split_username_nai

        switch &request:Stripped-User-Domain {
            case 'company1' {
                sql_database_1
            }

            case 'company2' {
                sql_database_2
            }
        }
    }
    ...
}

相关内容