Skip to content

Sistema de Gerenciamento da rede interna do Instituto Ciências Exatas e Aplicadas (ICEA) da Universidade Federal de Ouro Preto (UFOP)

Notifications You must be signed in to change notification settings

jpmoura/macnager-ufop

Repository files navigation

MACnager - Sistema de Gerenciamento de Rede

O MACnager é o sistema usado pelos corpos acadêmico e administrativo presentes no Instituto de Ciências Exatas e Aplicadas (campus João Monlevade) da Universidade Federal de Ouro Preto para o gerenciamento dos IP reais pertencentes ao campus. O objetivo da criação deste sistema visa facilitar o gerenciamento dos dispositivos integrantes a rede, onde cada um utiliza um IP real, evitando a manipulação e manutenção direta de diversos arquivos de configuração de servidores Firewall e DHCP bem como a facilitar a geração e manipulação de informações sobre esses dispositivos. Outro motivo foi a possibilidade de histórico da relação usuário e endereço IP atribuído ao mesmo em um determinado intervalo de tempo.

Sua necessidade surgiu dada a dificuldade de se gerenciar todos os dispositivos e arquivos de configurações entre os servidores de Firewall e DHCP, onde cada inserção ou remoção eram bastante custosas, necessitando edição de linhas em diferentes arquivos e execuções de comandos em diferentes servidores com o objetivo de proibir ou conceder acesso a um dado dispositivo. Existia também a dificuldade de se verificar se um dispositivo já fazia parte da rede ou não e de monitorar a sua utilização da rede. Outra dificuldade era a requisição de inclusão de um dispositivo por parte dos discentes, que necessitavam desloca-se até a sala dos administradores da rede e entregar o termo de compromisso em mãos para que pudessem ter sua requisição atendida.

O sistema foi desenvolvido usando a versão 5.3 do framework Laravel para aplicações web, um dos mais usados no mercado durante o período de desenvolvimento.

Funcionamento

O sistema se baseia que existem dois servidores, um que provê a interface de Firewall e outra que provê os parâmetros de conexão, o DHCP. O servidor de Firewall é o responsável pela liberação do acesso do dispositivo a Internet enquanto o DHCP provê as configurações necessárias

Os usuários de nível docente podem solicitar novas conceções de endereços IP para utilizar nos recursos adquiridos ou distribuir entre alunos bolsistas de projetos e/ou laboratórios. Podem também, caso sejam de cargo temporário, também solicitar a integração de sesus dispositivos a rede, porém com uma validade máxima de 2 anos a partir da data de aprovação da requisição. Não existe limite de quantidade de dispositivos por pessoa, cabendo aos administradores do sistema julgar se a requisição será aceita ou não.

Aos administradores, que correspondem aos técnicos do Núcleo de Tecnologia da Informação, cabe a tarefa de julgar toda e qualquer requisição feita mas tendo a opção de manipular os dados da mesma antes ou depois da aprovação mas nunca depois de uma negação ou desativação do dispositivo.

Para autenticação foi usado a mesma base de dados LDAP utilizada pelo sistema Minha UFOP, facilitando o uso para o usuário fazendo com que ele não precise de um login e senha específicos para utilizar o sistema.

Para o layout, foi usado como base o design AdminLTE desenvolvido por Abdullah Almsaeed, alterando-se basicamente só a palheta de cores do tema.

Instalação

Para instalação é necessário ter o gerenciador de dependências Composer instalado e também o Node.js entre as versões 0.12 e 6.9.4, de preferência globalmente, e ainda o Gulp.js. No diretório raiz do projeto, execute os seguintes comandos:

$ composer install
$ npm install
$ gulp --prod

Para usuários de sistemas UNIX, será necessário conceder permissão de leitura, gravação e execução da pasta em que se encontra o sistema para o grupo www-data que pode ser dado pelo seguinte comando usando a permissão de administrador:

chown -R www-data:USUARIO_DO_SISTEMA PASTA_DE_DESTINO

Basta usar o comando sudo ou su dependendo da distribuição Linux juntamente com este comando. Além disso, no arquivo de ambiente .ENV é necessário criar as seguintes a seguir, onde elas devem representar o endereço do servidor, o usuário e senha do mesmo em cada um deles, tanto Firewall como DHCP:

  • FIREWALL_HOST
  • FIREWALL_USER
  • FIREWALL_PASS
  • DHCP_HOST
  • DHCP_USER
  • DHCP_PASS

A estrutura do banco de dados usada pelo sistema pode ser criada a partir do script SQL encontrado aqui. Além disso é necessário configurar as variáveis de ambiente do Laravel a partir do arquivo na raiz do projeto sem nome mas de extensão ENV. Existe um arquivo de exemplo aqui que pode ser editado e depois renomeado apropriadamente apenas para .env onde nele deve-se encontrar o endereço, senha, usuário e nome da base do banco de dados além dos endereços, usuários e senhas dos servidores de Firewall e DHCP.

Erros conhecidos

  • Após retirada das requisições com prazo de validade vencido, não é gerado nem enviado os novos arquivos de configuração da tabela ARP e DHCP aos servidores;

TODO

  • Utilizar middlewares de autenticação e autorização nativos do Laravel;
  • Otimização do carregamento dos elementos CSS e Javascript usando Gulp juntamente com SASS ou LESS.
  • Permitir a importação dos arquivos de configuração;
  • Permitir que as configurações dos bancos possam ser alteradas sem a necessidade de manipulação direta do arquivo .ENV;
  • Otimizar a renderização da página para tabelas com grande quantidade de dados (tabelas de pedidos e de dispositivos ativos);