Gerenciamento de Redes usando SNMP Carlos Alberto Luz [email protected] Gerenciamento de dispositivos Centro de Controle da Rede Site B Servidor Módulo gerente Linha de Transmissão Site A “Sede” Roteador Site D Hub Site C Gerenciamento de dispositivos  O que monitorar?  Servidores  % de uso da CPU, memória livre, Espaço em disco  Impressoras  Páginas impressas, nível do toner, fim do papel, …  Roteadores, hubs, switches, interfaces de rede  Pacotes enviados e recebidos  Pacotes com erro  Estado das portas (up, down)  Outros dispositivos  Depende da sua funcionalidade e de quais informações são relevantes Arquitetura funcional (um exemplo) GERENTE Dispositivo Monitorado Agente de coleta SNMP IP Network (Internet) Stats Libs, config gráficos HTML PNG Web Server Agente SNMP MIB Web Browser Exemplo usando SNMP MIB - Management Information Base  A MIB é um Banco de Dados  Os dados são mantidos pelo agente  Os dados são chamados de Objetos  Cada objeto tem um identificador (nome) conhecido como OID – Object Identificator  Que informações estão contidas na MIB ?  Depende do dispositivo  Tipos de dados dos Objetos:  NetworkAdress, IpAdress, Integer, Gauge, TimeTicks, String  Tipos compostos: Table Management Information Base (MIB) Base de Informações de Gerenciamento (MIB) – de um SERVIDOR Tabela de Roteamento Registro ID 27 31 126 ID Local JPR Sede Recife Caruaru Porta ON OFF On ON Atributo etc. etc. etc. etc. etc. Dados da interface de rede Dados do disco Dados da CPU Tabela de Conexões ativas Estrutura da MIB = Hierárquica iso(1) org(3) dod (6) internet (1) directory (1) interfaces(2) mgmt (2) mib-2 (1) system (1) interfaces(2) at (3) ip (4) icmp (5) tcp (6) udp (7) egp (8) transission(10) snmp(11) experimental (3) private (4) enterprises(2) Identificador de Objeto (OID)  Cada objeto tem um identificador único  OID é uma seqüência de números ou nomes, separados por ponto “.” lido da esquerda para a direita  OID define a localização do objeto na estrutura de árvore MIB.  Exemplo: o identificador de objeto tcpConnTable é derivado como se segue: iso 1 org dod internet mgmt mib-2 tcp tcpconnTable 3 6 1 2 1 6 13  o identificador pode ser escrito como:  1.3.6.1.2.1.6.13 ou  iso.org.dod.internet.mgmt.mib-2.tcp.tcpconnTable SNMP - Conceitos Básicos  SNMP=Simple Network Management Protocol O protocolo é simples, não o gerenciamento  SNMP só suporta operações de alteração e consulta dos valores dos OIDs  Não é possível incluir/excluir objetos da estrutura da MIB  É possível realizar operações em tabelas bidimensionais simples  Uma estação de gerenciamento pode gerenciar vários agentes  Cada agente controla sua MIB  Muitos OIDs são dinâmicos  Agente mantém a MIB atualizada  Responde às consultas dos gerentes Exemplo: Ramificação da MIB para Interfaces  iso.org.dod.internet.mgmt.mib-2.interfaces ...  (ou .1.3.6.1.2.1.2.)  ... ifNumber.0 = 24  ... ifTable.ifEntry.ifDescr.1 = “utp ethernet”  ... ifTable.ifEntry.ifDescr.2 = “utp ethernet”  ... ...  ... ifTable.ifEntry.ifDescr.24 = “utp fast ethernet”  ... ifTable.ifEntry.ifPhysAddress.24 = 0:d0:9:a5:7f:cb  ... ifTable.ifEntry.ifType.24 = Fast Ethernet (100BaseT) (62)  ... ifTable.ifEntry.ifInOctets.24 = 168176112  ... ifTable.ifEntry.ifOutOctets.24 = 145859106  ... ifTable.ifEntry.ifOutErrors.24 = 15 Alguns OID ligados à interface de rede (MIB OID = iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry…) Exemplo de aplicação: Gráficos  Consultas frequentes aos valores contidos na MIB permitem geração de Gráficos  Exemplo: Bytes enviados e recebidos pelo modem  ifInOctets & ifOutOctets Comunicação em Sistemas de Gerenciamento Request (comando) Programa de Gerenciamento (cliente) Response (informação/confirmação) Agente (Servidor) Alarm SNMP usa o protocolo UDP para comunicação SNMP na rede Comandos SNMP  Pacote net-snmp (linux)  http://www.net-snmp.org/download/  snmpget – pega valor de um OID  snmpgetnext – pega valor do OID seguinte  snmpwalk – pega OIDs sob um ramo da  snmptable – mostra OID tipo tabela  snmpset – altera OID (quando RW e permitido)  snmptrap – envia e recebe traps  Snmptranslate – informações sobre OIDs da MIB Comando snmpget  Obtém valores para OID na MIB de um sistema remoto  Sintaxe: snmpget [OPÇÕES] COMUNIDADE HOST OID  Exemplos:  snmpget public localhost ifNumber.0  Pergunta quantas interfaces de rede tem o host local  snmpget public 192.168.0.253 sysName.0  Pergunta o nome da máquina 192.168.0.253 Comando snmpset  Modifica valores para OID na MIB de um sistema remoto, caso seja permitido  Sintaxe: snmpset [OPÇÕES] HOST COMUNIDADE OID VALOR  Exemplos:  snmpset localhost public ifNumber.0  Pergunta quantas interfaces de rede tem o host local  snmpset 192.168.0.253 public sysName.0  Pergunta o nome da máquina 192.168.0.253