Ferramentas Livres para Gerência de Redes e Sistemas Finais Fábio Pereira Botelho, M.Sc botelho@cnps.embrapa.br Recife-PE, 06 de maio de 2006
Objetivos Apresentar os conceitos básicos de redes relacionados ao uso das ferramentas estudadas Apresentar ferramentas eficientes oriundas da comunidade de software livre para gerenciamento dos elementos computacionais da infraestrutura de redes TCP/IP e dos sistemas finais
Tópicos Abordados Sistemas Finais X Infraestrutura de Redes TCP/IP Intranet / Internet e Protocolos Protocolos Básicos Utilizados pelas Ferramentas ICMP SNMP Gerenciamento de Rede Ferramentas Auxiliares snmpwalk (linux) getif (windows) Nagios MRTG RRDTOOL
Sistemas Finais X Infraestrutura de Redes Localizados nas bordas da rede Executam aplicações Elementos mais complexos Infra-estrutura das redes TCP/IP: Núcleo da rede Roteadores Possibilitam a interconexão entre as redes Redes de acesso, meio físico: Formada por switchs nível 2 ou 3, hubs, pontos de acesso wireless e enlaces de comunicação que estão interligados ao roteador que dá acesso à Internet
Redes TCP/IP - Internet X Intranet Protocolos: controlam o envio e a recepção de mensagens ex.: TCP, IP, HTTP, FTP, SNMP, ICMP, PPP Internet X Intranet Implementam a pilha de protocolos TCP/IP Internet é uma rede de comutação de pacotes - datagrama pública Intranets são “Internets” privadas Protocolos definidos através das RFCs mantidas pelo IETF RFC: Request for comments IETF: Internet Engineering Task Force
O que é um protocolo? Um protocolo humano e um protocolo de rede de computadores:
Protocolos SNMP e ICMP no Modelo Genérico de Camadas da Internet Sistema Final de Origem Sistema Final de Destino fim-a-fim SNMP SNMP UDP UDP ICMP ICMP
ICMP: Internet Control Message Protocol Usado por computadores e roteadores para troca de informação de controle da camada de rede Error reporting: hospedeiro, rede, porta ou protocolo Echo request/reply (usado pela aplicação ping) Transporte de mensagens: Mensagens ICMP transportadas em datagramas Ip ICMP message: tipo, código, mais primeiros 8 bytes do datagrama IP que causou o erro Tipo Código descrição 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header
ICMP: Internet Control Message Protocol Funcionamento do ping ICMP Echo Request Tipo 8, Código 0 ICMP Echo Reply Tipo 0, Código 0 192.168.0.136/24 192.168.0.171/24
ICMP: Internet Control Message Protocol C:\Documents and Settings\Administrador>ping 192.168.0.171 Pinging 192.168.0.171 with 32 bytes of data: Reply from 192.168.0.171: bytes=32 time<1ms TTL=64 Ping statistics for 192.168.0.171: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
ICMP e Nagios ICMP é usado pelo Nagios para verificar se os hosts, switchs, roteadores, servidores de impressão e outros elementos da rede estão acessíveis (up) ou não (down) dentre outras verificações disponíveis
Infra-estrutura para gerenciamento de redes Definições:
Padrão de fato para gerenciamento de redes SNMP: Simple network management protocol Origem na Internet (SGMP) Usa o protocolo de transporte UDP Começou simples Desenvolvido e adotado rapidamente Crescimento: tamanho e complexidade Atualmente: SNMP V3 Padrão de fato para gerenciamento de redes
SNMP visão geral: 4 partes-chave Management Information Base (MIB): Base de dados distribuída com dados de gerenciamento de rede Structure of Management Information (SMI): Linguagem de definição para objetos da MIB Protocolo SNMP Transporta informações e comandos sobre objetos entre o gerenciador e o elemento gerenciado Segurança, capacidades administrativas característica nova do SNMPv3 SNMP usado tradicionalmente apenas para monitorar e não para controlar os elementos computacionais da rede
SNMP MIB Um módulo MIB é especificado pela SMI como: MODULE-IDENTITY (100 MIBs padronizadas, mais proprietárias) MODULE OBJECT TYPE: OBJECT TYPE: OBJECT TYPE: objetos especificados via construção OBJECT-TYPE da SMI
Exemplo de MIB: módulo UDP Object ID Nome Tipo Comentários 1.3.6.1.2.1.7.1 UDPInDatagrams Counter32 número total de datagramas entregues neste nó 1.3.6.1.2.1.7.2 UDPNoPorts Counter32 número de datagramas com app destino inexistente 1.3.6.1.2.1.7.3 UDInErrors Counter32 número de datagramas não entregues por outras razões 1.3.6.1.2.1.7.4 UDPOutDatagrams Counter32 número de datagramas enviados 1.3.6.1.2.1.7.5 udpTable SEQUENCE uma linha para cada porta em uso por uma aplicação fornece o número da porta e o endereço IP
Nomeação de objetos Questão: como nomear cada possível objeto padrão (protocolos, dados, outros...) em cada possível padrão de rede?? Resposta: ISO object identifier tree: Nomeação hierárquica de todos os objetos Cada ramificação tem um nome e um número 1.3.6.1.2.1.7.1 ISO ISO-ident. org. US DoD Internet udpInDatagrams UDP MIB2 management
ISO object identifier tree
modo comando/resposta Protocolo SNMP Duas formas de transportar informações da MIB: comandos e eventos managing entity managing entity entidade gerenciadora entidade gerenciadora pedido trap msg resposta agent data agent data agente agente Managed device Managed device elemento gerenciado elemento gerenciado modo comando/resposta modo evento
Ferramentas Auxiliares Getif (Windows) Snmpwalk (Linux)
Ferramentas Auxiliares Getif É uma ferramenta free desenvolvida para Windows baseada na ferramenta de rede desenvolvida por Philippe Simonet. Entre outras funcionalidades é um excelente cliente SNMP que permite identificar, coletar e criar gráficos das variáveis MIB dos dispositos que possuem o agente SNMP. http://www.wtcs.org/snmp4tpc/getif.htm
Ferramentas Auxiliares
Ferramentas Auxiliares snmpwalk É um cliente SNMP disponível para as plataformas LINUX e UNIX que permite a coleta de informações das MIBs dos objetos gerenciáveis executando o agente SNMP
Ferramentas Auxiliares [fabio@server1 fabio]$ snmpwalk -Os -c public -v 1 192.168.0.5 system sysDescr.0 = STRING: 1 port Print Server sysObjectID.0 = OID: enterprises.722.2.6.1 sysUpTime.0 = Timeticks: (29140926) 3 days, 8:56:49.26 sysContact.0 = STRING: Fábio Botelho sysName.0 = STRING: PrintServer sysLocation.0 = STRING: botelho@cnps.embrapa.br sysServices.0 = INTEGER: 79 Servidor de impressão Entidade gerente consulta agente SNNP para obter o valor das MIBs Responde informando os valores das MIBs solicitadas 192.168.0.136/24 192.168.0.5/24
Nagios
Nagios Disponível para download em http://www.nagios.org Documentação disponível em http://nagios.sourceforge.net/docs/1_0/toc.html
Nagios É uma aplicação para gerenciamento dos elementos computacionais da rede e dos sistemas finais. Os hosts e os serviços especificados ou as switchs e roteadores são monitorados, alertando ao administrador ou equipe de administradores quando as coisas não vão bem e quando voltam a melhorar. Utiliza os protocolos ICMP, SNMP através de plugins instalados Os plugins podem definir quaisquer aplicações gerente e agente para obtenção de informações dos hosts.
Nagios Características Desenvolvido para rodar no linux, mas pode rodar em qualquer unix Monitoramento de serviços (SMTP, POP3, HTTP, etc) Monitoramento dos recursos dos hosts (carga do processador, uso do disco, swap, uso da memória RAM) Desenvolvimento de plugins simplificado Necessita de um servidor web configurado (Apache)
Nagios Características Realização de várias atividades ao mesmo tempo Possibilidade de se definir uma hierarquia de hosts com dependências entre equipamentos de rede Notificação dos contatos (via e-mail) quando da ocorrência de problemas em serviços e hosts e quando os problemas são resolvidos
Nagios Características Possibilidade de se configurar manipuladores de eventos que executarão quando da ocorrência de problemas em hosts e serviços Interface web para a observação do status atual da rede, dos hosts e dos serviços de rede; das notificações e histórico de problemas; dos arquivos de log.
Nagios Escopo dos objetos de dados Serviços tais como HTTP, SMTP, POP3, DNS, etc Host Grupos de Host Contatos Grupos de Contatos Comandos (onde se configuram os plugins do Nagios) Períodos de tempo (usados para notificar os administradores da rede apenas durante a semana ou 24 X 7) Dependências de serviços (Se o servidor web cair, as aplicações por ele servidas estarão indisponíveis) Dependências de elementos computacionais (host, switch e roteadores) Caso o servidor Server1 caia, o serviço DNS e todos os outros nele mantidos estarão indisponíveis
Nagios
Nagios
MRTG Multi Router Traffic Grapher (MRTG) foi desenvolvido em 1994 basicamente para monitorar a carga de tráfego em links da rede Extendida a fim de coletar, registrar e representar qualquer variável MIB disponível em qualquer equipamento de rede que implemente SNMP
MRTG Gera páginas HTML contendo imagens gráficas que oferecem uma representação visual da situação do tráfego Ou de qualquer outra variável MIB coletada de um dispositivo executando a agente SNMP Encontrado em http://oss.oetiker.ch/mrtg/
MRTG firewall.algumlugar.com.br
MRTG Arquivo de configuração do mrtg para o servidor proxy.algumlugar.com.br gerado após a execução do comando cfgmaker cfgmaker --global 'WorkDir: /var/www/html/mrtg' --global 'Options[_]: bits,growright' --output /etc/mrtg/proxy.cfg public@proxy.algumlugar.com.br Target[proxy.algumlugar.com.br_2]: 2:public@proxy.algumlugar.com.br: SetEnv[proxy.algumlugar.com.br_2]: MRTG_INT_IP="192.168.0.203" MRTG_INT_DESCR="eth0" MaxBytes[proxy.algumlugar.com.br_2]: 12500000 Title[proxy.algumlugar.com.br_2]: Traffic Analysis for 2 -- proxy.algumlugar.com.br PageTop[proxy.algumlugar.com.br_2]: <H1>Traffic Analysis for 2 -- proxy.algumlugar.com.br</H1> <TABLE> <TR><TD>System:</TD> <TD>proxy.algumlugar.com.br in Unknown (edit /etc/snmp/snmpd.conf)</TD></TR> <TR><TD>Maintainer:</TD> <TD>Fabio <botelho@cnps.embrapa.br> (configure /etc/snmp/snmp.local.conf)</TD></TR> <TR><TD>Description:</TD><TD>eth0 </TD></TR> <TR><TD>ifType:</TD> <TD>ethernetCsmacd (6)</TD></TR> <TR><TD>ifName:</TD> <TD></TD></TR> <TR><TD>Max Speed:</TD> <TD>100.0 Mbits/s</TD></TR> <TR><TD>Ip:</TD> <TD>192.168.0.203 (webmail.algumlugar.com.br)</TD></TR> </TABLE>
MRTG Pode representar visualmente através de gráficos outras informações tais como disponibilidade dos processadores, memória RAM utilizada, utilização dos discos Quaisquer outras informações disponíveis nas MIBs dos elementos gerenciáveis Logs não crescem com o tempo
MRTG Arquivos de log do MRTG não crescem com o tempo condensados estatísticamente Mantém condensações dos valores para apresentação de gráficos Diário Semanal Mensal Anual
MRTG Execução como Daemon,ou através da configuração da crontab
MRTG Execução como Daemon
MRTG Dicas importantes para o funcionamento do MRTG Disponibilização do serviço SNMP nos dispositivos gerenciáveis Identificação das MIBs cujos valores irão ser coletados nos dispositivos gereciáveis
MRTG Dicas Importantes Disponibilização do serviço SNMP nos dispositivos gerenciáveis Linux Windows XP Switch 3COM Servidores de impressão
MRTG Serviço SNMP Hosts Linux Gerenciados Instalação dos pacotes snmp disponíveis na distribuição usada (e.g *snmp*.rpm) libucd-snmp4-4.2.6-45970cl net-snmp-utils-5.0.9-58894cl net-snmp-5.0.9-58894cl Configuração do arquivo /etc/snmp/snmpd.conf Conectiva 10 Toda árvore MIB é habilitada para consulta
MRTG Serviço SNMP Hosts Windows XP/2000 Gerenciados Instalação dos pacotes snmp Serviço iniciado
MRTG Dicas Importantes Identificação das MIBs cujos valores irão ser coletados nos dispositivos gerenciáveis Uso da ferramenta Getif Acesso a sites com repositórios MRTG
MRTG Identificação das MIBs a serem coletadas nos dispositivos gerenciáveis Ferramenta Getif Necessidade de baixar os arquivos com as MIBs dos dispositivos a serem gerenciados Diferentes para cada tipo de equipamento As MIBs baixadas são postas no diretório de MIBs a fim de que o Getif possa descrever cada MIB além de obter o valor
MRTG Identificação das MIBs a serem coletadas nos dispositivos gerenciáveis Ferramenta Getif
MRTG Identificação das MIBs a serem coletadas nos dispositivos gerenciáveis Ferramenta Getif Permite que o Getif identifique, descreva e consulte cada MIB do elemento gerenciado
MRTG Dicas Importantes Acesso a sites com repositórios MRTG
MRTG Onde Encontrar Configurações prontas
MRTG Onde Encontrar Configurações prontas
RRDTOOL
RRDTOOL Encontrado em http://oss.oetiker.ch/rrdtool/ RRD significa Round Robin Database Ferramenta concebida para armazenamento e apresentação visual de séries temporais Pode ser considerado uma evolução do MRTG Permite gráficos mais elaborados Usado conjuntamente com o MRTG