O módulo Radius do NetConfig permite integrar um servidor FreeRADIUS gerenciado (instalado via snippet) à plataforma, possibilitando autenticar usuários de rede, gerenciar grupos e dispositivos NAS, e auditar acessos — tudo pela interface do NetConfig.
O fluxo de uso é dividido em duas etapas:
Após o registro, o NetConfig passa a gerenciar usuários, grupos, NAS e logs de autenticação diretamente nesse servidor.
curl -fsSL https://raw.githubusercontent.com/NetConfigAutomacao/snippets/refs/heads/main/radius/install.sh | sudo sh
O snippet radius/install.sh automatiza a instalação de toda a stack Radius (MySQL, radius-api, radius-server e Traefik) em um host Debian ou Ubuntu.
9443/tcp — API HTTPS (Traefik)1812/udp — autenticação RADIUS1813/udp — accounting RADIUScurl -fsSL https://raw.githubusercontent.com/NetConfigAutomacao/snippets/refs/heads/main/radius/install.sh | sudo sh
git clone https://github.com/NetConfigAutomacao/snippets.git
cd snippets
sudo radius/install.sh
| Flag | Descrição |
|---|---|
-y, --unattended |
Executa sem prompts interativos. |
--reinstall |
Remove a instalação anterior e reinstala do zero. Destrutivo: apaga containers, volumes e arquivos em /opt/netconfig-radius. |
--no-install-vm-docker |
Não instala Docker, curl ou openssl. Apenas valida se já estão presentes. |
--no-update-vm |
Pula o apt-get update && apt-get upgrade. |
--tag VERSION |
Define a tag das imagens radius-db, radius-api e radius-server (padrão: latest). Recomendado fixar uma versão em produção. |
-h, --help |
Exibe a ajuda. |
# Instalação silenciosa
sudo radius/install.sh --unattended
# Versão específica (recomendado para produção)
sudo radius/install.sh --tag v1.2.3
# Reinstalar do zero sem prompts
sudo radius/install.sh --reinstall --unattended
# Não atualizar o SO e não instalar dependências automaticamente
sudo radius/install.sh --no-update-vm --no-install-vm-docker
Por padrão o script gera uma chave aleatória. Para definir uma chave própria, use a variável de ambiente RADIUS_API_KEY:
sudo RADIUS_API_KEY="minha-chave-segura" radius/install.sh --tag v1.2.3
Ao término, o script exibe a RADIUS API Key no terminal. Guarde essa chave — ela é necessária para registrar a integração no NetConfig.
=========================================
NetConfig Radius - Installation Complete
=========================================
RADIUS API Key:
<chave-gerada>
Register this key at NetConfig to connect the RADIUS service.
RADIUS Authentication: UDP port 1812
RADIUS Accounting: UDP port 1813
RADIUS API (HTTPS): port 9443
# Verificar status dos containers
cd /opt/netconfig-radius && sudo docker compose ps
# Acompanhar logs da API
sudo docker logs -f netconfig_radius_api
# Reiniciar a stack
cd /opt/netconfig-radius && sudo docker compose restart
# Atualizar imagens
cd /opt/netconfig-radius
sudo docker compose pull
sudo docker compose up -d
Após a instalação, acesse Integrações > Radius no NetConfig e clique em Nova integração.
Preencha os campos:
| Campo | Descrição |
|---|---|
| Nome | Identificação amigável da integração (ex: Radius SP). |
| URL da API | Endereço HTTPS do servidor instalado (ex: https://192.168.1.10:9443). |
| Client ID | Identificador opcional para múltiplas instâncias. |
| API Secret | Chave gerada pelo script de instalação (RADIUS_API_KEY). |
| Habilitado | Ativa ou desativa a integração sem removê-la. |
Após salvar, o NetConfig verifica a conectividade com o servidor e exibe o status da integração.
Ao abrir uma integração, a tela é dividida em quatro abas:
Gerencia usuários e grupos diretamente no servidor Radius.
Usuários — cada usuário possui:
username — identificador único.Grupos — permitem aplicar políticas comuns a múltiplos usuários:
groupname — identificador único.Um grupo com usuários vinculados não pode ser removido. Desvincule os usuários antes de excluir o grupo.
Gerencia os dispositivos NAS (Network Access Server) — roteadores, switches e APs que consultam o servidor Radius para autenticar clientes.
Cada NAS possui:
nasname — IP ou hostname do dispositivo.shortname — nome de exibição.secret — segredo compartilhado entre o dispositivo e o servidor Radius.Exibe os logs de pós-autenticação (radpostauth), com filtros por:
Access-Accept / Access-Reject)Exibe informações da integração (URL, último sync, status) e permite executar ações de operação:
radius-server remotamente.| Problema | O que verificar |
|---|---|
| Alerta de erro de conexão na tela da integração | Verifique se o host está acessível na porta 9443/tcp e se a RADIUS_API_KEY está correta. |
| Container da API não fica saudável após instalação | sudo docker logs -f netconfig_radius_api e sudo docker ps para checar o banco. |
| Erro TLS ao conectar API com banco | Confirme que o docker-compose.yml contém tls=false no RADIUS_DB_DSN. |
| HTTP 504 na API | Verifique se a network radius-internal existe e se as labels Traefik estão corretas no serviço radius-api. |
| Porta em uso | Finalize serviços que ocupem 9443/tcp, 1812/udp ou 1813/udp. |