我正在使用PHP语言开发自由半径pipe理系统。 我的系统将可以在云上使用,假设有company1和company2将使用我们的系统。 company1将包含数据库1,其中将包含company1的客户端company2具有包含company2的客户端的数据库2。 现在什么是在自由方面的文件proxy.conf的好处或使用我已阅读它,但我不明白。 但是我认为这个文件与我的问题有关,不是吗? 任何人可以解释这个文件给我,以及如何使用它?
proxy.conf文件定义了作为RADIUS通信目的地的领域。 每个领域可能包含一个或多个服务器集。 服务器按照用于处理计费stream量(计费请求)的服务器和用于处理authenticationstream量(访问请求)的服务器进行分组。
解决你的问题的一种方法是运行三个RADIUS服务器,一个作为前端,另外两个作为后端。 一个后端将服务company1,另一个服务company2。 如果你想保持公司孤立,这将是一个很好的办法。
有理由让公司的RADIUS服务器远离安全隔离–FreeRADIUS <= 3除了代理以外是完全同步的。 这意味着如果数据库closures,并且工作线程挂起等待响应,则不会处理新的请求。 例如,如果database1脱机,对company2(database2)的身份validation请求可能会受到影响。
如果上面的问题是不相关的,那么使用SQL模块的多个实例与不同的数据库交谈可能会更简单。
在mods-available/sql ,可以通过将现有文本复制/粘贴到同一个文件中,并在模块名称和大括号之间插入实例名称( sql <instance> {来创build多个sql模块sql <instance> { 。
然后可以在sites-available/default引用该实例。
基于领域在数据库之间进行select的虚拟服务器configuration示例如下:
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 } } } ... }