Nossa configuração de rede consiste em 5 servidores de acesso à rede em 5 locais diferentes em todo o mundo e espera-se expandir nos próximos dias para 15 servidores de acesso à rede e mais no futuro. Atualmente, usamos scripts para autenticação, mas estamos planejando usar AAA baseado em freeradius para autenticação e contabilidade com esses servidores NAS devido aos muitos benefícios que podemos obter com a utilização de dados de contabilidade. Espera-se que a carga de usuários cresça para centenas de milhares de usuários nos próximos dias. Minha pergunta aos especialistas com experiência prática nesse tipo de arquitetura é do ponto de vista da escalabilidade. Qual é a melhor topologia freeradius a ser usada em tal configuração?
Um serviço AAA baseado em raio centralizado consistindo em vários nós de raio seria melhor do que um serviço AAA de raio distribuído, ou seja, um raio por NAS e por quê? Queremos utilizar os dados contábeis durante a autorização, portanto, um serviço de raio distribuído exigirá a sincronização dos dados contábeis, bem como os dados de autenticação do usuário quase em tempo real. Mas com dezenas de locais diferentes, a sincronização de dados em tempo real parece ser difícil de conseguir. Eu li sobre servidores proxy radius que encaminham consultas radius para um servidor radius central, no entanto, não consigo entender como seria mais benéfico usar diretamente um serviço radius centralizado diretamente do NAS. ou seja, todos os NASs apontam para o mesmo raio de serviço.
Se um serviço de raio distribuído for considerado, os radrelays podem ser um caminho a percorrer, mas os relés rad parecem ser úteis para o tipo de configuração primária para standby, onde o número de nós de raio é principalmente dois e não tenho certeza se eles serão bons de usar se eles tiverem que sincronizar dados entre tantos servidores radius diferentes.
Ficarei muito grato se alguém puder me indicar a direção certa.
Se o seu foco é a confiabilidade
A vantagem de uma arquitetura distribuída com uma cópia replicada localmente dos dados é a redundância e a latência reduzida.
A sincronização não é difícil de conseguir, o protocolo syncrepl do OpenLDAP faz um bom trabalho de hub e spoke, ou mesmo topologias de malha. Ele executará ressincronizações parciais e completas de dados conforme necessário. As novas instâncias devem ser sincronizadas com o mestre assim que forem iniciadas pela primeira vez.
Você terá que gerenciar cada uma dessas instâncias (use ansible ou salt) e corrigir falhas caso surjam problemas.
Há um aumento no custo de hardware de ter que colocar um servidor próximo a cada NAS em um tipo de configuração de 'destino compartilhado' (se possível).
Você realmente não forneceu informações suficientes sobre o NAS para dizer se isso seria realmente apropriado. Os clientes podem falhar entre NAS?
Se o seu foco é a facilidade de gerenciamento
A vantagem de ter um único (cluster) de servidores RADIUS, atrás de balanceadores de carga redundantes (dica dica), é o gerenciamento simplificado.
Um par de servidores provavelmente seria suficiente para lidar com a carga de até um milhão de usuários. Cada instância FreeRADIUS deve ser capaz de lidar com cerca de 20.000-30.000 auth/s em hardware moderado em uma instância OpenLDAP executando MDB.
Atualizar, monitorar e corrigir problemas com o banco de dados são mais simples de fazer com menos instâncias.
Os servidores nesta configuração representam um único ponto de falha.
Se um NAS começar a se comportar mal e inundar os servidores de autenticação com tráfego, há uma chance maior de o sistema ficar sobrecarregado.
Se houver interrupção nos links de rede entre o NAS e os servidores centrais, o NAS não conseguirá autenticar os usuários.
Servidores Proxy
Às vezes, eles são úteis como agregadores ou em federações, mas sozinhos não fazem muito em uma configuração de passagem.
O cache de servidores proxy pode ser útil, pois eles retiram parte da carga dos servidores de autenticação.
Em um ambiente ISP, uma grande parte do tráfego é composta por rejeições, pois os clientes continuarão se autenticando novamente.
Os servidores proxy de cache podem responder em nome dos servidores centrais se eles tiverem visto uma rejeição anteriormente ou se o servidor central estiver off-line e eles tiverem visto uma aceitação anteriormente.