Tenho 11 pontos de acesso baseados em openwrt no prédio. Às vezes preciso adicionar uma rede virtual com senha personalizada. Não gosto de percorrer pontos de acesso para alterar parâmetros. Isso é difícil e gera erros.
Adoraria ter um servidor dedicado (uma máquina virtual) que guardasse e atualizasse todas as configurações. Existe uma solução para isso?
Eu sei que posso criar um script que gere uma configuração para cada ponto de acesso e depois enviá-lo para todos os dispositivos, mas antes de fazer qualquer coisa do zero, prefiro perguntar aqui. Não pretendo reinventar a roda (a menos que a roda não seja de fato inventada). Sinto que a configuração simultânea é um problema bastante comum em uma rede típica com pontos de acesso.
Atualização: este não é apenas um problema de senhas – isso seria resolvido usando o servidor Radius, mas o Radius não pode resolver outras coisas como:
- criando novos essids
- atribuindo essids a vlans
- ativar/desativar transmissão essid
- etc., etc., etc.
Responder1
Você perguntou: "Configuração OpenWrt no servidor remoto: Existe uma solução para isso?"
Lido diariamente com mais de 80 caixas OpenWRT (três plataformas de hardware rodando uma mistura de Backfire (alguns), Attitude Adjustment (a maioria deles) e Barrier Braker (alguns)) e... no ano passado comecei a pesquisarprofundamentesobre uma plataforma de "gerenciamento de configuração", adequada para OpenWRT.
Aqui abaixo, minhas descobertas:
OpenWISP: na minha opinião, é muito promissor. Eles construíram um firmware "personalizado" (nada mais do que o "estoque" com algum script bash adicionado e uma lista personalizada de pacotes já instalados) que, uma vez atualizado, simplesmente "conecta" (via cliente OpenVPN) ao central. servidor e baixe a configuração para aplicar localmente. Há também uma interface web agradável pela qual você pode facilmente "implantar" novos APs. Infelizmente não é perfeito: "templates" (de configurações), por exemplo, podem ser definidos e aplicados mas... depois, alterações no template serãoNÃOser enviado para APs filhos. Além disso, toda a pilha de software de gerenciamento é escrita em Ruby (e Rails) e... isso pode ser um problema, se você não "dominar" essas linguagens/plataformas. Quando testamos, ele era baseado no Backfire. Agora, se estiver certo, está disponível também para versão atualizada (Atitude ou Barreira, não me lembro). Além disso, o site certamente não está muito atualizado, então... consulte o repositório GitHub para obter informações detalhadas. Resumindo: definitivamente vale a pena dar uma olhada.
Ficção Científica: uma plataforma desenvolvida por uma universidade brasileira (pelo que entendi... comoa documentaçãoparece brasileiro) isso parece interessante. É um pouco antigo (alguns anos), mas, novamente, parece interessante. A plataforma de gerenciamento é JavaEE (JBoss) com PostgreSQL como backend. Deve ser capaz - se eu estiver certo - de ser adotado em cima do firmware padrão
AirKey: eles se declaram com: "AirKey é uma plataforma de gerenciamento central para pontos de acesso baseados em OpenWRT.". Não investiguei muito, pois não está muito atualizado (última atualização, há 4 anos!)
TransportadoraWRT, também, mesmo que não esteja estritamente relacionado com a gestão central, pode ter algum interesse. Aqui, pelo que me lembro, um dos destaques é o hardware limitado suportado (mas, por favor, verifique você mesmo).
Como você disse: "Não pretendo reinventar a roda (a menos que a roda não seja de fato inventada)", você pode ficar tentado a construir algo por conta própria. Nesse caso, leve em consideração que:
- OpenWRT suporta oAPI JSON-RPCpelo qual você pode interagir facilmente com UCI usando... JSON e REST. Se você dominar essas tecnologias, isso poderá ser interessante. Deixe-me acrescentar que tentei (levemente) fazer algo, mas... parece que algo mudou depois do BackFire e - se estiver certo - o que funcionou com o BackFire não vai funcionar com AA e BB (novamente, verifique você mesmo ).
Depois de tudo isso, acabei decidindo que... era hora de mudar para uma plataforma de gerenciamento de configuração "oficial" e, quanto à restrição típica da plataforma OpenWRT, minha escolha éAnsiblejá que pode ser executado sobre SSH e não possui outras dependências sérias. Já existe algo construído para tais cenários (verifiqueaquieaqui) mas ainda tenho que testá-lo.
Então, concordo com o comentário de @Michael Hampton "Ansible é muito próximo do ideal para isso" e na minha opinião, deve ser a primeira coisa a avaliar, pois, afinal, você pode realmente considerar sua única caixa OpenWRT como um sistema Linux comum a ser gerenciado com um mecanismo de gerenciamento de configuração "comum".
Responder2
Sobre o OpenWISP, agora há um novo software gerenciador que não é confiável em Ruby, a instalação é bastante simples:Controlador OpenWISP 2
Você também pode integrá-lo ao seu projeto Django existenteestendendo seu módulo principal: django-netjsonconfig.
Além disso, você não precisa compilar um novo firmware openwisp para seus roteadores, você pode apenas instalar o componente de configuração que faz com que sua instalação atual do openwrt seja provisionada pelo gerenciador:openwisp-config.
Você pode instalar esse componente, por exemplo, emitindo o seguinte comando:
opkg install http://downloads.openwisp.org/openwisp-config/latest/ar71xx/openwisp-config-nossl_0.4.1a-1_ar71xx.ipk
Cumprimentos!
Cássio
Responder3
Esta não é exatamente a resposta à sua pergunta, mas você pode considerar o RADIUS como o mecanismo de autenticação, em vez de atualizar a configuração de cada AP. AFAIU, você precisa de configuração flexível de usuário/senha.