Sistema de entrega de sinal para roteadores [fechado]

1

Minha rede tem um servidor e muitos roteadores (cerca de 300 e serão mais, todos trabalhando no OpenWRT). Os roteadores não possuem IP público e o servidor não pode se conectar a eles. Mas eu preciso saber que os roteadores estão online. Para isso, roteadores de uma vez por minuto enviam um sinal para o servidor.

É sinal:

wget http://server.com/ping?mac=MACOFTHEROUTER

E quando o receptor escrito em PHP obtém a consulta do roteador, apenas salva a data e o endereço mac do roteador no banco de dados. Agora sabemos que o roteador está ativo ou desativado.

Se eu quiser enviar algo comando para o roteador eu coloquei o meu comando para responder do receptor e este resultado irá salvar em arquivo no roteador, depois de arquivo obter permissão para executar, depois de executá-lo e excluí-lo. E envie outro sinal para o roteador que a missão completou, também por wget, mas para URL diferente.

 wget http://server.com/done?mac=MACOFTHEROUTER&result=Stout+of+the+command

Agora o servidor sabe o resultado do comando e pode exibi-lo para o usuário. Está funcionando bem para mim. Mas em algum momento resultado do comando muito grande e eu não posso colocá-lo no GET. Além disso, depois de enviar um comando eu deveria esperar por um minuto para obter o resultado e enviar o próximo. Não é bom se você tentar depurar roteadores. E eu quero enviar um comando para todos os roteadores de uma vez e obter resposta de todos. É a situação ideal. Por isso eu acho que posso usar algo streaming (em tempo real) aplicações que, por exemplo, usando em tecnologia web. Como o link . Eu quero algo assim para a minha rede para permitir visualizar o status dos roteadores em tempo real e enviar comandos para os roteadores também em tempo real. Claro que isso não carrega a rede e deve ser seguro. Ajuda por favor para procurar melhor solução. Também peço desculpas pelo meu inglês.

    
por Ilya Manyahin 28.08.2014 / 01:30

2 respostas

1

O hardware é suficiente para instalar o fantoche ou outra ferramenta de gerenciamento de configuração baseada em agente? O cliente de marionetes pode ser configurado para fazer check-in periodicamente e, quando fizer check-in, reportará muitos fatos úteis ao servidor de marionetes, que podem ser capturados armazenados e usados de muitas maneiras úteis. Esta é quase certamente a maneira correta e padrão de fazer o que você quer. Mas a maioria das ferramentas populares de gerenciamento de configurações exige muitos recursos.

Se isso não for uma opção, você pode configurar um cliente VPN simples em todos os roteadores que estabelecerão e manterão uma conexão aberta a um sistema de monitoramento. Não direcione nada sobre a VPN, apenas use-a para uma conexão ponto a ponto com o sistema de gerenciamento. A partir daí, você poderia simplesmente enviar o SSH para todos os nós conectados.

Se você quiser manter sua configuração de solicitação http, convém observar o curl. Com o CURL, é muito fácil enviar uma solicitação POST.

    
por 28.08.2014 / 02:22
1

Eu sugiro que você faça um favor a si mesmo e pare de reinventar a roda. Sistemas adequados de monitoramento, como o Zabbix , Nagios ou Monit permite monitorar seus roteadores & outro hardware. Pelo menos o Zabbix também possui mecanismos para monitorar alvos difíceis de serem alcançados por trás dos firewalls, por exemplo, com proxies do Zabbix

Instalá-los é fácil e além do simples "Este alvo está respondendo ao ping?" você pode monitorar & tendências do gráfico sobre o uso do espaço em disco, uso da CPU, carga do servidor, teste se os serviços estão realmente funcionando, enviar alertas via e-mail / SMS / IM / qualquer coisa caso algo dê errado ... não há desculpas para a falta de um monitoramento real.

    
por 28.08.2014 / 08:32