Você está na página 1de 148

Gerenciamento de Redes com SNMP

Instrutor:

André Luis Boni Déo

deo@reitoria.unicamp.br

2012

O trabalho Gerenciamento de Redes com SNMP de André Luis Boni Déo foi licenciado com uma
Licença Creative Commons - Atribuição - NãoComercial - CompartilhaIgual 3.0 Não Adaptada.

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 1


2 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP
Queria agradecer em primeiro lugar a Deus pelos talentos a mim confiados, inclusive o
dom maravilhoso do ensino.

Em segundo lugar a minha amada esposa, grande parte do meu tempo é dedicado à
informática, inclusive boa parte das minhas horas vagas, e ela tem sido uma companheira em
todos os momentos me apoiando e incentivando sempre.

Aos meus amigos Bruno Daniel Alves dos Santos e Marcos Antônio de Almeida Corá que
sempre me incentivaram a registrar esse conhecimento. Aos incansáveis: Adriano Rodrigues
Paganotto, Aecio dos Santos Pires e Carlos Eduardo de Oliveira que foram os revisores desse
material, sempre me cobrando o melhor, mais detalhado, mais didático, esse material não seria
metade do que é, sem vocês amigos.

E por último, mas não menos importante ao grande Conrado Pinto Rebessi, reponsável
pela palestra que despertou meu interesse no assunto e por inúmeras horas de consultoria sobre
o assunto, meu amigo esse material não existiria se não fosse por você.

Conrado em 2007 no FLISOL Campinas com sua palestra: Monitoramento de servidores com SNMP

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 3


4 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP
1. CONCEITOS DE GERÊNCIA DE REDES - VISÃO GERAL ....................................................................... 13

1.1. O QUE É GERÊNCIA DE REDES? ............................................................................................................ 13


1.2. QUAIS OS OBJETIVOS DA GERÊNCIA DE REDES? ....................................................................................... 13
1.3. POR QUE GERENCIAR UMA REDE? ......................................................................................................... 13
1.4. O QUE GERENCIAR? ........................................................................................................................... 13
1.4.1. Elementos ativos: .................................................................................................................... 13
1.4.2. Servidores: ............................................................................................................................... 14
1.4.3. Clientes: ................................................................................................................................... 14
1.5. PARA QUE GERENCIAR? ...................................................................................................................... 14
1.6. COMO GERENCIAR? .......................................................................................................................... 14
1.7. CONCEITOS E COMPETÊNCIAS .............................................................................................................. 15
1.8. HABILIDADES.................................................................................................................................... 15
1.9. PROFISSIONAIS ENVOLVIDOS NO GERENCIAMENTO DE REDES .................................................................... 16
1.9.1. Gerente de Redes ..................................................................................................................... 16
1.9.2. Administrador de Redes .......................................................................................................... 16
1.9.3. Gerente de Sistemas ................................................................................................................ 16
1.9.4. Gerente de TI ........................................................................................................................... 17

2. CONCEITOS DE GERÊNCIA DE REDES - INTRODUÇÃO ...................................................................... 19

2.1. GERENCIAMENTO DE REDES ................................................................................................................ 19


2.2. CICLO DE GERENCIAMENTO................................................................................................................. 19
2.2.1. Coleta de dados: ...................................................................................................................... 19
2.2.2. Diagnóstico: ............................................................................................................................ 19
2.2.3. Ação: ........................................................................................................................................ 19
2.3. PERFIL DO GERENTE DE REDES ............................................................................................................. 20
2.4. DEFINIÇÃO DO AMBIENTE ................................................................................................................... 20
2.5. INVENTÁRIO DA REDE ........................................................................................................................ 20
2.6. MAPEAMENTO DA REDE..................................................................................................................... 20
2.7. RESULTADOS ESPERADOS.................................................................................................................... 20
2.8. RELATÓRIOS ..................................................................................................................................... 20

3. CONCEITOS E DEFINIÇÕES DE GERÊNCIA DE REDES ......................................................................... 21

3.1. AMBIENTE GERENCIADO..................................................................................................................... 21


3.2. MECANISMO GERENCIADO ................................................................................................................. 21
3.3. SISTEMA DE GERENCIAMENTO DE REDES ............................................................................................... 21
3.4. GERENTE ......................................................................................................................................... 21
3.5. APLICAÇÃO GERENTE ......................................................................................................................... 21
3.6. COMPONENTES PRINCIPAIS: ................................................................................................................ 21
3.6.1. Operações de Gerenciamento ................................................................................................. 22
3.6.2. Management Information Base – MIB ................................................................................... 22
3.6.3. Banco de Dados – BD .............................................................................................................. 23
3.6.4. Aplicações de Gerenciamento ................................................................................................. 23
3.6.5. Interface do usuário ................................................................................................................ 23
3.6.6. Agente ..................................................................................................................................... 23
3.6.7. Aplicação Agente .................................................................................................................... 23
3.6.7.1. Componentes chaves: .................................................................................................................... 24
3.6.7.1.1. O Agente .................................................................................................................................. 24
3.6.7.1.2. A MIB do Agente ...................................................................................................................... 24

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 5


4. MODELO DE GERENCIAMENTO OSI E MODELO DE GERENCIAMENTO SNMP .................................. 25

4.1. MODELO DE GERENCIAMENTO OSI ...................................................................................................... 25


4.1.1. Funcionamento ....................................................................................................................... 25
4.1.2. Tarefas/Processos de Gerenciamento .................................................................................... 26
4.1.2.1. Gerenciamento de Falhas .............................................................................................................. 26
4.1.2.2. Gerenciamento de Configuração ................................................................................................... 26
4.1.2.3. Gerenciamento de Contabilização ................................................................................................. 27
4.1.2.4. Gerenciamento de Desempenho ................................................................................................... 27
4.1.2.5. Gerenciamento de Segurança ........................................................................................................ 27
4.2. MODELO DE GERENCIAMENTO SNMP .................................................................................................. 27
4.2.1. Estação de Gerenciamento contendo entidades SNMP (Gerente) ......................................... 28
4.2.2. Nós gerenciados contendo a entidade SNMP (Agente) .......................................................... 28
4.2.3. Entidade com Dupla Função ................................................................................................... 29
4.2.4. Informações de Gerenciamento .............................................................................................. 29
4.2.5. Protocolo de Gerenciamento .................................................................................................. 29
4.2.6. Monitoramento via SNMP ....................................................................................................... 30
4.2.7. Monitoramento via SNMP utilizando Entidade com Dupla Função...................................... 30

5. GERENCIAMENTO DE REDES - O PROTOCOLO SNMP ...................................................................... 31

5.1. SMI ............................................................................................................................................... 32


5.2. ASN.1 ............................................................................................................................................ 32
5.2.1. Sintaxe básica em ASN.1 ......................................................................................................... 32
5.2.1.1. Tipos de dados ............................................................................................................................... 32
5.2.1.2. Notações em ASN.1........................................................................................................................ 32
5.2.1.3. Exemplos de Definição ASN.1 ........................................................................................................ 32
5.2.1.3.1. Campo SYNTAX: ....................................................................................................................... 33
5.2.1.3.2. Campo ACCESS: ........................................................................................................................ 33
5.2.1.3.3. Campo STATUS......................................................................................................................... 33
5.3. MENSAGEM SNMP .......................................................................................................................... 34
5.4. AS PDUS SNMP .............................................................................................................................. 34
5.4.1. Estrutura das PDUs SNMP ...................................................................................................... 35
5.4.1.1. Preâmbulo e Cabeçalho ................................................................................................................. 35
5.4.1.1.1. Versão: ..................................................................................................................................... 35
5.4.1.1.2. Tipo de PDU: ............................................................................................................................ 35
5.4.1.1.3. Request ID: ............................................................................................................................... 35
5.4.1.1.4. Códigos de erro: ....................................................................................................................... 35
5.4.1.1.5. Error index: .............................................................................................................................. 35
5.5. A ARQUITETURA SNMP ..................................................................................................................... 36
5.6. OPERAÇÕES/MENSAGENS SNMP ........................................................................................................ 36
5.6.1. Get-Request ............................................................................................................................. 36
5.6.2. Get-Next-Request .................................................................................................................... 37
5.6.3. Get-Bulk-Request..................................................................................................................... 37
5.6.4. Set-Request .............................................................................................................................. 37
5.6.5. TRAP ........................................................................................................................................ 38
5.6.6. Inform-Request ....................................................................................................................... 38
5.6.7. Exemplo de Operação ............................................................................................................. 39
5.7. LIMITAÇÕES DE SNMP....................................................................................................................... 39
5.7.1. Falta de segurança .................................................................................................................. 39
5.7.2. Ineficiência .............................................................................................................................. 39
5.7.3. Falta de funções específicas .................................................................................................... 39
5.7.4. Não confiável: .......................................................................................................................... 39

6 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP


5.8. VULNERABILIDADE SNMP - PROTEÇÃO: ................................................................................................ 40
5.9. VERSÕES SNMP:.............................................................................................................................. 40
5.9.1. SNMP V1 .................................................................................................................................. 40
5.9.1.1. Get ................................................................................................................................................. 40
5.9.1.2. GetNext .......................................................................................................................................... 40
5.9.1.3. Set .................................................................................................................................................. 40
5.9.2. SNMP V2 .................................................................................................................................. 40
5.9.2.1. SNMPv2 Original ............................................................................................................................ 40
5.9.2.2. SNMPv2 baseado na comunidade .................................................................................................. 40
5.9.2.3. SNMPv2 baseada no usuário .......................................................................................................... 40
5.9.2.4. SNMPv2 Estrela .............................................................................................................................. 40
5.9.3. SNMP V2 (v2c) ........................................................................................................................ 41
5.9.3.1. Características e Operações adicionais .......................................................................................... 41
5.9.3.1.1. Trap .......................................................................................................................................... 41
5.9.3.1.2. GetBulk..................................................................................................................................... 41
5.9.3.1.3. Inform ...................................................................................................................................... 41
5.9.4. SNMP V3 .................................................................................................................................. 41
5.9.4.1. Melhorias de Segurança ................................................................................................................. 41
5.9.4.1.1. USM .......................................................................................................................................... 41
5.9.4.1.2. VACM ....................................................................................................................................... 41
5.9.4.1.3. Configuração dinâmica de agentes SNMP utilizando comandos SNMP ................................. 41
5.10. MODELO DE SEGURANÇA SNMP ......................................................................................................... 41
5.10.1. Modelo mais comum ........................................................................................................... 41
5.10.2. Comunidade default: .......................................................................................................... 41
5.10.3. Uma comunidade define ..................................................................................................... 42
5.10.4. Serviço de autenticação ..................................................................................................... 42
5.11. TRAPS EM SNMP ............................................................................................................................. 42
5.11.1. Classificação ....................................................................................................................... 42
5.11.1.1. Traps genéricos .............................................................................................................................. 42
5.11.1.1.1. ColdStart: ............................................................................................................................... 42
5.11.1.1.2. WarmStart: ............................................................................................................................ 42
5.11.1.1.3. LinkDown: .............................................................................................................................. 42
5.11.1.1.4. LinkUp: ................................................................................................................................... 42
5.11.1.1.5. AuthenticationFailure: ........................................................................................................... 42
5.11.1.1.6. EgpNeighborLoss: .................................................................................................................. 42
5.11.1.1.7. EnterpriseSpecific: ................................................................................................................. 43

6. A MIB.............................................................................................................................................. 45

6.1. OBJETOS GERENCIADOS ..................................................................................................................... 45


6.2. MODELOS DE GERENCIAMENTO ........................................................................................................... 45
6.2.1. Modelo Organizacional ........................................................................................................... 45
6.2.2. Modelo funcional..................................................................................................................... 45
6.2.3. Modelo informacional ............................................................................................................. 45
6.3. CARACTERÍSTICAS DO MODELO OSI...................................................................................................... 45
6.3.1. Classe, Subclasse e Superclasse............................................................................................... 45
6.3.2. Hierarquias dos Objetos Gerenciados ..................................................................................... 46
6.3.2.1. Hierarquia de Herança ................................................................................................................... 46
6.3.2.2. Hierarquia de Nomeação ............................................................................................................... 46
6.3.2.3. Hierarquia de Registro ................................................................................................................... 46
6.4. MIB DA INTERNET............................................................................................................................. 46
6.5. A ÁRVORE DA MIB II ......................................................................................................................... 46
6.5.1. Nó Raiz .................................................................................................................................... 47

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 7


6.5.2. Nó iso ....................................................................................................................................... 47
6.5.3. Nó internet .............................................................................................................................. 48
6.5.4. Nó mgmt .................................................................................................................................. 48
6.5.5. Árvore MIB II ........................................................................................................................... 49
6.5.6. Exemplo de Objeto da MIB ...................................................................................................... 49
6.5.7. Exemplos de Grupos ................................................................................................................ 49
6.5.7.1. Grupo System ................................................................................................................................. 49
6.5.7.1.1. Descrição textual: .................................................................................................................... 49
6.5.7.1.2. OID ........................................................................................................................................... 50
6.5.7.1.3. Componentes: .......................................................................................................................... 50
6.5.7.2. Grupo Interfaces - Interface da rede com o meio físico ................................................................. 50
6.5.7.2.1. Descrição textual ..................................................................................................................... 50
6.5.7.2.2. OID ........................................................................................................................................... 50
6.5.7.2.3. Componentes ........................................................................................................................... 50
6.5.7.3. Grupo at (Address Translation) ...................................................................................................... 52
6.5.7.3.1. Descrição textual ..................................................................................................................... 52
6.5.7.3.2. OID ........................................................................................................................................... 52
6.5.7.3.3. Componentes ........................................................................................................................... 52
6.5.7.4. Grupo ip - Protocolo IP................................................................................................................... 52
6.5.7.4.1. Descrição textual ..................................................................................................................... 52
6.5.7.4.2. OID ........................................................................................................................................... 52
6.5.7.4.3. Componentes (Apenas Alguns) ............................................................................................... 52
6.5.7.5. Grupo icmp – Protocolo ICMP........................................................................................................ 53
6.5.7.5.1. Descrição textual ..................................................................................................................... 53
6.5.7.5.2. OID ........................................................................................................................................... 53
6.5.7.5.3. Componentes (Apenas Alguns) ............................................................................................... 53
6.5.7.6. Grupo TCP – Protocolos TCP .......................................................................................................... 54
6.5.7.6.1. Descrição textual ..................................................................................................................... 54
6.5.7.6.2. OID ........................................................................................................................................... 54
6.5.7.6.3. Componentes (Apenas Alguns) ............................................................................................... 54
6.5.7.7. Grupo UDP – Protocolos UDP ........................................................................................................ 54
6.5.7.7.1. Descrição textual ..................................................................................................................... 54
6.5.7.7.2. OID ........................................................................................................................................... 54
6.5.7.7.3. Componentes ........................................................................................................................... 54
6.5.7.8. Grupo EGP – Protocolo EGP ........................................................................................................... 55
6.5.7.8.1. Descrição textual ..................................................................................................................... 55
6.5.7.8.2. OID ........................................................................................................................................... 55
6.5.7.8.3. Componentes (Apenas Alguns) ............................................................................................... 55
6.5.7.9. Grupo cmot – Protocolo CMOT...................................................................................................... 55
6.5.7.9.1. Descrição textual ..................................................................................................................... 55
6.5.7.9.2. OID ........................................................................................................................................... 55
6.5.7.10. Grupo Transmission – Meios de Transmissões .............................................................................. 55
6.5.7.10.1. Descrição textual ................................................................................................................... 55
6.5.7.10.2. OID ......................................................................................................................................... 55
6.5.7.11. Grupo SNMP – Protocolo SNMP .................................................................................................... 55
6.5.7.11.1. Descrição textual ................................................................................................................... 55
6.5.7.11.2. OID ......................................................................................................................................... 55
6.5.7.11.3. Componentes ......................................................................................................................... 55

7. PROTOCOLO DE GERENCIAMENTO RMON ...................................................................................... 59

7.1. ALGUMAS RFCS TRATAM DO PROTOCOLO RMON: ................................................................................. 59


7.2. CARACTERÍSTICAS DO PROTOCOLO........................................................................................................ 60
7.3. OBJETIVOS DO RMON....................................................................................................................... 60
7.4. ABRANGÊNCIA DAS VERSÕES................................................................................................................ 61

8 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP


7.5. EXEMPLO DE FUNCIONAMENTO ........................................................................................................... 61
7.6. MIB RMON1 ................................................................................................................................. 62
7.6.1. Aquisição de Estatísticas de Tráfego: ..................................................................................... 62
7.6.2. Detecção e Resolução de Situações Críticas e de Erro: .......................................................... 62
7.6.3. Exemplos de Grupos ................................................................................................................ 62
7.6.3.1. RMON1 – Statistics......................................................................................................................... 62
7.6.3.1.1. Exemplos de estatísticas Ethernet........................................................................................... 62
7.6.3.2. RMON1 – History ........................................................................................................................... 63
7.6.3.2.1. Configuração ............................................................................................................................ 63
7.6.3.3. RMON1 – Hosts .............................................................................................................................. 63
7.6.3.3.1. Exemplos: ................................................................................................................................. 63
7.6.3.4. RMON1 – Hosts Top N ................................................................................................................... 63
Exemplo: ...................................................................................................................................................... 64
7.6.3.5. RMON1 – Matrix ............................................................................................................................ 64
Exemplos: ..................................................................................................................................................... 64
7.6.3.6. RMON1 – Token Ring ..................................................................................................................... 64
7.6.3.7. RMON1 – Alarm ............................................................................................................................. 64
Exemplos: ..................................................................................................................................................... 65
7.6.3.8. RMON1 – Filter............................................................................................................................... 65
Exemplos: ..................................................................................................................................................... 65
7.6.3.9. RMON1 – Packet Capture .............................................................................................................. 66
7.6.3.9.1. Captura pacotes para análise na rede. .................................................................................... 66
7.6.3.10. RMON1 – Event .............................................................................................................................. 66
7.7. RMON2......................................................................................................................................... 67
7.7.1. MIB RMON2 ............................................................................................................................. 67
7.7.1.1. RMON2 – Protocol Directory ......................................................................................................... 67
7.7.1.2. RMON2 – Protocol Distribution ..................................................................................................... 68
7.7.1.3. RMON2 – Network Layer Host/Matrix e Application Layer Host/Matrix ....................................... 68
7.7.1.4. RMON2 – User History ................................................................................................................... 68
7.7.1.5. RMON2 – Probe Configuration ...................................................................................................... 68
7.7.1.5.1. Exemplos: ................................................................................................................................. 68
7.7.1.6. RMON2 – Address Map .................................................................................................................. 69
7.8. RMON – CONSIDERAÇÕES FINAIS ....................................................................................................... 69

8. GERENCIAMENTO DE SERVIDORES GNU/LINUX UTILIZANDO SNMP V1 E V2C ................................ 71

8.1. INSTALAÇÃO DOS BINÁRIOS ................................................................................................................. 71


8.2. ESTRUTURA DO NET-SNMP APÓS A INSTALAÇÃO DOS BINÁRIOS ................................................................... 71
8.3. BACKUP DO ARQUIVO DE CONFIGURAÇÃO ORIGINAL (SNMPD.CONF) ........................................................... 71
8.4. CONFIGURAÇÃO BÁSICA DE UM AGENTE SNMP V1/V2C.......................................................................... 72
8.5. ACESSANDO UM AGENTE SNMP V1/V2C.............................................................................................. 72
8.5.1. Comando snmpget .................................................................................................................. 72
8.5.1.1. Explicando o comando: .................................................................................................................. 72
8.5.2. Comando snmpset ................................................................................................................... 73
8.5.2.1. Explicando o comando: .................................................................................................................. 73
8.5.3. Comando snmpgetnetxt .......................................................................................................... 74
8.5.4. Comando snmpwalk ................................................................................................................ 74
8.5.5. Comando snmpbulkget ........................................................................................................... 75
8.5.6. Comando snmpbulkwalk ........................................................................................................ 76
8.5.7. Informações Adicionais........................................................................................................... 77

9. GERENCIAMENTO DE SERVIDORES GNU/LINUX UTILIZANDO SNMP V3 .......................................... 79

9.1. USM.............................................................................................................................................. 79

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 9


9.2. VACM ........................................................................................................................................... 79
9.3. MODELO DE PERMISSÕES VACM ........................................................................................................ 80
9.4. CONFIGURAÇÃO BÁSICA DE UM AGENTE SNMP V3 COMPATÍVEL COM SNMP V1/V2C .................................. 81
9.4.1. Disponibilizando os recursos .................................................................................................. 82
9.4.1.1. Seção View ..................................................................................................................................... 82
9.4.1.2. Seção com2sec ............................................................................................................................... 82
9.4.1.3. Seção Group ................................................................................................................................... 82
9.4.1.4. Seção Access .................................................................................................................................. 82
9.4.1.5. Compreendendo os Parâmetros .................................................................................................... 83
9.4.1.5.1. Seção View ............................................................................................................................... 83
9.4.1.5.2. Seção Com2sec: ....................................................................................................................... 83
9.4.1.5.3. Seção Group: ............................................................................................................................ 83
9.4.1.5.4. Seção Access: ........................................................................................................................... 83
9.5. ACESSANDO UM AGENTE SNMP V3 COMPATÍVEL COM SNMP V1/V2C: ..................................................... 84
9.6. CONFIGURAÇÃO INICIAL DE UM AGENTE EXCLUSIVAMENTE V3 ................................................................... 85
9.6.1. Criar o usuário inicial com permissão de escrita: .................................................................. 85
9.6.2. Criar os usuários adicionais:................................................................................................... 86
9.6.2.1. Parâmetros: ................................................................................................................................... 87
9.6.3. Alterar a senha dos usuários: ................................................................................................. 87
9.6.3.1. Parâmetros: ................................................................................................................................... 87
9.6.4. snmpd.conf v3 básico: ............................................................................................................. 89
9.6.5. Acessando um Agente SNMP v3: ............................................................................................. 89
9.6.6. snmpd.conf v3 com VACM devidamente configurado: ........................................................... 90
9.6.6.1. Acessando um Agent SNMP v3: ..................................................................................................... 90
9.7. CONFIGURAÇÃO INICIAL DE UM AGENTE EXCLUSIVAMENTE V3 COM AUTENTICAÇÃO E PRIVACIDADE.................. 91
9.7.1. Criar o usuário inicial com permissão de escrita: .................................................................. 91
9.7.2. Criar os usuários adicionais:................................................................................................... 92
9.7.2.1. Parâmetros: ................................................................................................................................... 92
9.7.2.2. Outro exemplo: .............................................................................................................................. 93
9.7.2.2.1. Parâmetros: ............................................................................................................................. 93
9.7.3. Alterar a senha dos usuários: ................................................................................................. 93
9.7.3.1. Parâmetros: ................................................................................................................................... 93
9.7.4. Alterar a chave dos usuários: ................................................................................................. 94
9.7.4.1. Parâmetros: ................................................................................................................................... 94
9.7.5. snmpd.conf v3 básico: ............................................................................................................. 94
9.7.6. Acessando um Agente SNMP v3: ............................................................................................. 95
9.7.7. snmpd.conf v3 com VACM devidamente configurado: ........................................................... 95
9.7.7.1. Acessando um Agent SNMP v3: ..................................................................................................... 96
9.8. SEGURANÇA EM SNMP V3: ............................................................................................................... 97
9.8.1. Requisição SNMP v2 ................................................................................................................ 97
9.8.2. Requisição SNMP v3com Autenticação .................................................................................. 98
9.8.3. Requisição SNMP v3com Autenticação e Privacidade ........................................................... 99

10. MONITORANDO RECURSOS DO SISTEMA ................................................................................. 101

10.1. INFORMAÇÕES DO SISTEMA............................................................................................................... 101


10.1.1. Acessando o Agent SNMP para leitura de informações do sistema ................................ 101
10.2. MONITORAMENTO DE PROCESSOS ..................................................................................................... 101
10.2.1. Acessando o Agent SNMP para leitura de informações sobre processos ........................ 102
10.3. MONITORAMENTO DE USO DE DISCO .................................................................................................. 104
10.3.1. Acessando o Agent SNMP para leitura de informações sobre o disco............................. 104
10.4. MONITORAMENTO DE CARGA DO SISTEMA ........................................................................................... 106

10 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP


10.4.1. Acessando o Agent SNMP para leitura de informações sobre Carga de sistema (Load) 107
10.5. MONITORAMENTO DE TAMANHO DE ARQUIVO ..................................................................................... 110
10.5.1. Acessando o Agent SNMP para leitura de informações sobre tamanho de arquivo ...... 110
10.6. MONITORAMENTO UTILIZANDO UM COMANDO CUSTOMIZADO ................................................................ 111
10.6.1. Acessando o Agent SNMP para leitura de informações com comandos customizados .. 112
10.7. MONITORAMENTO UTILIZANDO UM COMANDO CUSTOMIZADO, COM OID PERSONALIZADA ........................... 115
10.7.1. Acessando o Agent SNMP para leitura de informações com comandos customizados
usando OID personalizada ................................................................................................................. 116

11. GERENCIAMENTO DE SERVIDORES GNU/LINUX UTILIZANDO SNMP V3 - CASOS ESPECIAIS E


EXEMPLOS ............................................................................................................................................ 119

11.1. VIEWS VACM, OU COMO RESTRINGIR O ACESSO A DETERMINADOS RAMOS DA ÁRVORE ............................... 119
11.1.1. Acessando o Agent SNMP com acesso restrito (sysUpTime.0) ........................................ 119
11.1.2. Acessando o Agent SNMP com acesso restrito (interfaces.ifTable.ifEntry.infIndex.1) ... 119
11.1.3. Acessando o Agent SNMP com acesso restrito (interfaces.ifTable.ifEntry) .................... 120
11.2. MÁSCARAS VACM, OU COMO RESTRINGIR O ACESSO A UM DETERMINADO ÍNDICE (LINHA) EM UMA TABELA.... 121
11.2.1. Acessando o Agent SNMP com acesso restrito – Uso do parâmetro mask ..................... 124
11.2.2. Acessando o Agent SNMP com acesso restrito – Uso do parâmetro mask ..................... 124

12. COMANDOS SNMP ÚTEIS ......................................................................................................... 125

12.1. SIMPLIFICANDO COMANDOS POR MEIO DE DEFINIÇÕES DE VALORES PRÉ-DEFINIDOS...................................... 125


12.1.1. Parâmetros: ...................................................................................................................... 125
12.1.2. Acessando o Agent SNMP ................................................................................................. 126
12.1.3. Comando snmpconf .......................................................................................................... 126
12.2. VARIAÇÕES NA FORMA COMO O RESULTADO DA CONSULTA É EXIBIDO........................................................ 129
12.2.1. Exibição padrão ................................................................................................................ 129
12.2.2. Exibindo o OID Completo.................................................................................................. 129
12.2.3. Exibindo o OID completo na forma numérica ................................................................. 129
12.2.4. Exibindo o OID abreviado ................................................................................................. 129
12.2.5. Exibindo o OID abreviado na forma numérica ................................................................ 130
12.2.6. Exibindo apenas o valor, sem OID .................................................................................... 130
12.3. TRADUZINDO INFORMAÇÕES ............................................................................................................. 130
12.3.1. Exibindo o OID numérico de um objeto ........................................................................... 130
12.3.2. Exibindo o OID nominal de um objeto: ............................................................................ 130
12.3.3. Exibindo o OID numérico de um objeto e sua descrição:................................................. 130
12.3.4. Exibindo o OID nominal de um OID numérico: ................................................................ 131
12.3.5. Exibindo a descrição de um OID numérico: ..................................................................... 131
12.3.6. Exibindo a hierarquia da MIB a partir de um galho: ...................................................... 132
12.3.7. Exibindo a Tabela de Informações no formato de tabela: .............................................. 132

13. UTILIZANDO O SNMP EM ATIVOS DE REDE ............................................................................... 133

13.1. SWITCH D-LINK .............................................................................................................................. 133


13.1.1. Definir as views ................................................................................................................. 133
13.1.2. Mapear nome de comunidade para nome de acesso ....................................................... 133
13.1.3. Definir os grupos .............................................................................................................. 134
13.1.4. Definir acesso do grupo na view ...................................................................................... 134
13.1.5. Definir o IP do gerente ..................................................................................................... 135
13.2. ROUTER CISCO ............................................................................................................................... 135
13.2.1. Habilitar SNMP v1/v2c .................................................................................................... 135
13.2.1.1. Acessando um Agent SNMP do router para leitura de informações ............................................ 136

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 11


13.2.2. Habilitar SNMP V3 compatível com SNMP v1/v2c .......................................................... 136
13.2.2.1. Acessando um Agente SNMP v3 compatível com SNMP v2c: ...................................................... 137
13.2.3. Habilitar SNMP V3 ............................................................................................................ 137
13.2.3.1. Acessando um Agente SNMP v3: ................................................................................................. 138
13.2.4. Habilitar SNMP V3 com Autenticação e Privacidade ...................................................... 139
13.2.4.1. Acessando um Agente SNMP v3: ................................................................................................. 139

14. ALGUMAS EXTENSÕES AO SNMP ............................................................................................. 141

15. REFERÊNCIAS ............................................................................................................................ 143

12 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP


1. Conceitos de Gerência de Redes - Visão Geral
Neste primeiro capítulo teremos uma visão geral sobre o tema e os profissionais
envolvidos.

1.1.O que é Gerência de Redes?


É um conjunto de ferramentas, procedimentos, técnicas e políticas usadas para
manter a eficiência e o funcionamento de uma rede de computadores. Independente-
mente de seu tamanho.
A gerência pode ser integrada através de ferramentas que cooperam entre si,
aplicando políticas homogêneas em um ambiente heterogêneo.

1.2.Quais os objetivos da Gerência de redes?


O objetivo principal da Gerência de redes é garantir a disponibilidade e eficiência
da rede. Para atingir esse objetivo podemos destacar alguns itens:
 Monitorar e manter o funcionamento da rede;
 Coletar informações sobre os diversos dispositivos;
 Gerar informações sobre a qualidade dos equipamentos e dos links;
 Gerar informações para revisar o projeto de rede e sua arquitetura;
 Gerar informações para previsões de possíveis falhas (gerenciamento pró-
ativo);
 Justificar os investimentos em ativos de rede e links de comunicação mais
apropriados à demanda da rede.

1.3.Por que gerenciar uma rede?


Não é possível realizar os objetivos da Gerência de redes sem realizar algumas
ações:
 Controlar o desempenho da rede;
 Registrar a ocorrência de eventos;
 Garantir a segurança da rede;
 Contabilizar os recursos disponíveis e indisponíveis da rede;
 Detectar, diagnosticar e prevenir possíveis falhas;
 Planejar o crescimento organizado da rede;
 Minimizar os impactos gerados pela diversidade de plataformas.

1.4.O que gerenciar?


1.4.1. Elementos ativos:

Todo equipamento conectado a rede:


 Switches;
 Roteadores;
 No-Break;
 Racks Gerenciáveis;
 Câmeras de Vigilância IP;
 Catracas eletrônicas;
 Leitores de acesso Biométricos;
 Impressoras.

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 13


1.4.2. Servidores:

Todo equipamento de rede que prove um serviço na rede:


 DNS;
 SMTP;
 POP;
 HTTP;
 Banco de Dados;
 Arquivos;
 Autenticação de usuários.

1.4.3. Clientes:

Todo recurso utilizado pelo usuário para desempenhar suas atribuições e que
precisa de liberação e controle:
 Softwares instalados;
 Inventario de Hardware;
 Controle de usuários;
 Controle de acesso.

1.5.Para que gerenciar?


Para alcançar os objetivos da Gerência de redes precisamos obter informações
referentes à rede. Isso nos possibilita:
 Dominar a complexidade da rede, a sua dimensão e a diversidade de ser-
viços;
 Melhorar a qualidade dos serviços, mantendo-os sempre eficientes, sem
“gargalos”;
 Reduzir o tempo de down-time;
 Reduzir custos de gerenciamento e administração.

1.6.Como Gerenciar?
Não existe uma receita pronta de como gerenciar uma rede, mas se utilizando de
padrões, ferramentas e algumas ações específicas podemos alcançar este objetivo. O
qual consiste em:
 Monitorar a operação dos equipamentos e serviços;
 Utilizar ferramentas (softwares) para a automatização dos processos;
 Utilizar padrões de gerência;
 Construir um modelo hierárquico.

14 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP


1.7.Conceitos e Competências
Para que o profissional responsável pela gerência da rede desempenhe seu tra-
balho de maneira eficiente, alguns conceitos devem ser inocorporados e algumas com-
petências desenvolvidas:
 Analisar, compreender e configurar os serviços e funções dos sistemas
operacionais, ferramentas de administração, recursos disponíveis, mani-
pulação de arquivos, segurança e etc.
 Compreender as arquiteturas de rede, serviços e funções de servidores de
rede.
 Conhecer as principais áreas de gerenciamento de uma rede de computa-
dores:
o Falhas – Fault Management;
o Configuração – Configuration Management;
o Contabilização – Accounting Management;
o Desempenho – Performance Management;
o Segurança – Security Management.
 Controlar o tráfego de dados na rede.
 Descrever componentes de redes de computadores.
 Desenvolver os serviços de administração do sistema operacional de rede
e protocolos de comunicação.
 Gerenciar a segurança e contabilização dos serviços da rede.
 Descrever características técnicas de equipamentos e componentes de
acordo com parâmetros de custos e benefícios, atendendo
às necessidades da organização e do usuário.
 Identificar e informar as necessidades dos usuários em relação à seguran-
ça da rede conforme as políticas corporativas de acesso aos recursos
computacionais.
 Avaliar e especificar as necessidades de treinamento e de suporte técnico
aos usuários.
 Selecionar programas de aplicação a partir da avaliação das necessidades
do usuário.
 Conhecer técnicas de trabalho em grupo.

1.8.Habilidades
São muitas as habilidades que um profissional responsável pela Gerência de re-
des deve desenvolver, ações que vão desde o suporte técnico a especificação de equi-
pamentos. Para citar alguns itens:
 Efetuar o gerenciamento da rede;
 Descrever configurações para softwares de rede;
 Efetuar configurações nos softwares aplicativos;
 Elaborar pesquisas (e não buscas) na Internet;
 Fazer levantamento de informações de tráfego;
 Instalar e configurar protocolos e software de rede;
 Realizar pesquisa de novas tecnologias no mercado;
 Redigir relatórios;

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 15


 Utilizar adequadamente os principais softwares aplicativos na resolução
de problemas;
 Executar ações de suporte técnico;
 Descrever as necessidades do usuário entre os recursos da rede;
 Orientar os usuários quanto ao uso dos recursos da rede;
 Utilizar os recursos oferecidos pela rede atendendo às especificações e
necessidades dos usuários;
 Aplicar as técnicas de trabalho realizadas em grupo;
 Manter ética profissional.

1.9.Profissionais Envolvidos no Gerenciamento de Redes


Dependendo do tamanho e complexidade da rede a ser gerenciada, as funções
abaixo podem ser executadas por uma única pessoa, ou por uma equipe para cada uma
das funções.

1.9.1. Gerente de Redes

O gerente de redes é responsável por monitorar e manter o funcionamento da


rede (hardware e software).
O gerente de redes precisa garantir que a rede sob sua responsabilidade possa
oferecer operações ininterruptas. Nos dias de hoje se a rede parar, o negócio também
para.
Ao mesmo tempo em que o gerente de redes é pressionado a oferecer esses ní-
veis de serviço, ele é obrigado a trabalhar dentro dos limites do orçamento e com recur-
sos limitados.

1.9.2. Administrador de Redes

O Administrador de redes é responsável por desenvolver, implantar e dar manu-


tenção ao hardware e ao software básico utilizados no desenvolvimento de aplicações e
serviços de rede e aos recursos computacionais ligados a esta rede.
No aspecto pessoal, o profissional deve ser dinâmico e ter interesse em buscar
alternativas técnicas e gerenciais através de auto-dedicação.

1.9.3. Gerente de Sistemas

O Gerenciamento de sistemas compreende monitorar e manter dispositivos indi-


viduais como softwares, backups, no-breaks, usuários, etc.
Deve negociar entre as diversas áreas das organizações com o objetivo de propor
soluções, com o menor impacto possível a rede, bem como do ponto de vista financeiro,
de forma que se possam suprir todas as necessidades solicitadas, não interferindo no
processo normal de cada área e sim melhorando os processos internos e externos da
organização.

16 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP


1.9.4. Gerente de TI

O gerente de TI deve se preocupar em estabelecer para a sua equipe uma visão


geral do processo de gerência, planejar, conhecer as prioridades do negócio, ter bom
relacionamento com todos, ser organizado, responsável e, principalmente, que saiba
atender, com agilidade, os requisitos de custos, prazos, qualidade e especificações esta-
belecidas pelas organizações.
Para um profissional bem sucedido obter essas características é necessário que,
além do seu esforço, busque treinamentos adequados, que o qualifiquem conforme as
exigências atuais.
Deve estar adequado às tecnologias do momento e sempre aberto às novas tec-
nologias e tendências.
Deve ter domínio completo de tudo o que trafega na organização e sempre estar
pronto para reconstruir processos quando necessário.
Estar bem representado por uma equipe capacitada e com bom ânimo.
Geralmente sabe mais da organização que o próprio proprietário ou diretor.

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 17


18 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP
2. Conceitos de Gerência de Redes - Introdução

2.1.Gerenciamento de Redes
Compreende o Monitoramento e o Controle automatizado dos dispositivos
(hardware e software) e ferramentas, que além de suas funções principais, pode agregar
funcionalidades de gerenciamento desde que o profissional que atua com estas ferra-
mentas e dispositivos esteja capacitado para tal.
Quando falamos de gerenciamento de redes devemos primeiro estabelecer o
que será gerenciado e o que se espera como resultado desse gerenciamento.
Somente assim poderemos selecionar uma ferramenta adequada, seja de detec-
ção de falhas, de estatísticas ou de análise de pacotes, mas que atenda as necessidades.

2.2.Ciclo de Gerenciamento
2.2.1. Coleta de dados:

Compreende o monitoramento automático dos recursos. Nessa fase o adminis-


trador de redes vai coletar uma quantidade imensa de informações, que será a base
para o próximo passo.

2.2.2. Diagnóstico:

Tratamento e análise dos dados colhidos na etapa anterior. Dentre toda a infor-
mação coletada separar os dados que serão manipulados posteriormente, daqueles sem
valor para o gerenciamento, essa com certeza é uma etapa que demanda conhecimento
e disponibilidade de tempo.

2.2.3. Ação:

Controle sobre os recursos gerenciados. Ação neste contexto pode em muitos casos
não ser necessariamente a resolução de um problema imediato. Mas uma interversão justamen-
te para evitar o surgimento do mesmo. Desta forma temos uma ação proativa e antecipada,
tendo como base os dados colhidos e analisados nas etapas anteriores. Efetuada as alterações
e configurações necessárias, reinicia-se todo o processo de comparar os dados anterio-
res com os atuais.

Figura 1 - Ciclo de Gerenciamento

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Introdução 19


2.3.Perfil do Gerente de Redes
O perfil do gerente de redes está relacionado ao tamanho e a estrutura da rede,
mas alguns pontos são essenciais, como conhecer detalhadamente os protocolos envol-
vidos na arquitetura da rede, conhecer a arquitetura de hardware da rede, estar “sem-
pre atualizado”, tomar ações para evitar perda de performance e reduzir o downtime.

2.4.Definição do Ambiente
A delimitação do ambiente a ser gerenciado pode ser definida utilizando-se de
algumas diretivas:
 Inventário total dos dispositivos de rede (Hardware e Software);
 Mapeamento lógico dos dispositivos de rede (Layout Lógico e Físico da
Topologia).

2.5.Inventário da Rede
Algumas informações são extremamente necessárias para o gerenciamento:
 Identificação do fabricante e fornecedor;
 Análise dos dispositivos que apresentam o suporte de gerenciamento e
qual a função suportada (Versão do protocolo SNMP, Características do
Protocolo RMON);
 Identificação da arquitetura da rede e do modelo de gerenciamento su-
portado;
 Documentação das informações apuradas de forma textual-gráfica e em
mídia impressa e digital.

2.6.Mapeamento da Rede
O mapeamento da rede deve ser feito destacando-se os dispositivos que desem-
penham funções de interconexão ou prestam serviços (Servidores), cujo tempo de inati-
vidade, inviabilizará os processos de comunicação, produção e obtenção de informa-
ções via rede, acarretando em prejuízos financeiros ou operacionais para a organização.

2.7.Resultados Esperados
Antes de começar um projeto de gerência de redes, é preciso realizar um levan-
tamento do que se pretende monitorar em cada host, e os objetivos que pretendem ser
alcançados com esse gerenciamento, alguns itens básicos:
 Visualização Gráfica da Rede (Topologia);
 Emissão de Alarmes (Erros e Falhas);
 Dados sobre utilização de Banda, CPU, Memória, Processos;
 Envio de alertas (E-mail, SMS, Alertas sonoros) relatando falhas.

2.8.Relatórios
Ao final de um projeto de gerência de redes espera-se ser capaz de gerar dados
sobre a rede, entre estes dados estão os relatórios, alguns exemplos:
 Estatísticas de carga da rede;
 Inventário;
 Gráficos (% de utilização da banda por exemplo);
 Consumo de disco e memória;
 Uptime e Downtime (SLI).

20 Conceitos de Gerência de Redes - Introdução | Gerenciamento de Redes com SNMP


3. Conceitos e Definições de Gerência de Redes
Existem diferentes Modelos de Gerenciamento e Arquiteturas, porém, seus prin-
cípios são semelhantes. Os conceitos e definições a seguir servem para fundamentar
nossos estudos sobre Gerenciamento de Redes.

3.1.Ambiente Gerenciado
São mecanismos com suporte a funcionalidades de gerenciamento, juntamente
com os aspectos de comunicação que permitem suas interconexões.
O ambiente gerenciado pode ser constituído de um ou mais mecanismos como:
 Roteador(es), Switch(es);
 Conexões TCP de um determinado número de servidores;
 Todos os dispositivos gerenciáveis de uma mesma sub-rede;
 Todos os dispositivos gerenciáveis de um conjunto de LANs interligadas.

3.2.Mecanismo Gerenciado
Hardware ou Software que apresenta necessidade e condições de serem geren-
ciados, como interfaces de rede, discos, impressoras, aspectos relacionados à imple-
mentação da pilha TCP/IP, estatísticas sobre o processamento de datagramas IP.

3.3.Sistema de Gerenciamento de Redes


Grupo de ferramentas utilizadas para monitoramento e controle da rede. Nor-
malmente uma arquitetura genérica, organizada em três camadas, poderá ser usada
para representar as categorias de software presentes em um sistema de gerenciamento
de rede.
A coleção de software de um sistema de gerenciamento é também organizada
para assumir o papel de gerente, agente ou ambos.

3.4.Gerente
Permite a obtenção e o envio de informações de gerenciamento junto aos meca-
nismos gerenciados mediante comunicação com um ou mais agentes.
Informações de gerenciamento podem ser obtidas com o uso de requisições efe-
tuadas pelo gerente ao agente ou mediante envio automático do agente para um de-
terminado gerente.

3.5.Aplicação Gerente
O modelo SNMP apresenta a Aplicação Gerente como uma entidade de rede que
usa determinados protocolos das camadas de transporte, de rede, de acesso à rede e de
aplicação, para a comunicação com a entidade de rede gerenciada.

3.6.Componentes Principais:
 Operações de Gerenciamento;
 Management Information Base – MIB;
 Banco de dados;
 Aplicações de Gerenciamento;
 Interface do usuário.

Gerenciamento de Redes com SNMP | Conceitos e Definições de Gerência de Redes 21


Figura 2 - Aplicação Gerente

3.6.1. Operações de Gerenciamento

São componentes da Aplicação Gerente que controlam e monitoram os Agentes


pertencentes à comunidade de um determinado domínio de gerenciamento.
Uma Operação de gerenciamento é uma entidade de software que implementa
as regras estabelecidas no protocolo SNMP.
Podem ler e escrever em variáveis da MIB de cada Agente.
Podem armazenar informações de gerenciamento recuperadas junto aos Agentes
em uma MIB própria e/ou em um Banco de Dados.
Devem implementar processos para execução das requisições de GetRequest, Se-
tRequest e GetNextRequest PDUs (Protocol Data Units).

3.6.2. Management Information Base – MIB

A MIB da Aplicação Gerente, quando existir, conterá a “relação mestre” para as


MIBs de todos os Agentes pertencentes à comunidade de gerenciamento.

22 Conceitos e Definições de Gerência de Redes | Gerenciamento de Redes com SNMP


3.6.3. Banco de Dados – BD

É constituído por um conjunto de variáveis de interesse, que compreendem to-


dos os nomes, configurações, topologia e dados de auditoria dos dispositivos gerencia-
dos.
Obs.: Deve ser do tipo relacional e de preferência, ser SQL.

3.6.4. Aplicações de Gerenciamento

São programas que transformam os dados SNMP em informações usadas pelos


usuários da Aplicação Gerente.
As aplicações de gerenciamento auxiliam no processamento e análise dos dados
obtidos via operações de gerenciamento, ou junto ao Banco de Dados.

3.6.5. Interface do usuário

São interfaces não especificadas pelo modelo SNMP que permitem a interação
do usuário com o Sistema de Gerenciamento:
 Comandos de Gerenciamento (I/O);
 Visualização de mensagens (traps).
Interfaces do tipo GUI (Graphic User Interface) permitem ainda:
 Apresentação de estatísticas de desempenho;
 Resumos de contabilização;
 Relatório de falhas;
 Inventários de configuração;
 Formulários para criação de queries e mapas da topologia de rede.

3.6.6. Agente

Software específico presente nos dispositivos gerenciados, cuja função principal


é o atendimento das requisições enviadas pelo gerente e o envio automático de infor-
mações ao gerente, indicando a ocorrência de um evento previamente programado.

3.6.7. Aplicação Agente

É definida como uma Entidade junto a um dispositivo de rede. A aplicação Agen-


te utiliza os protocolos de rede e o protocolo SNMP para se comunicar via interconexão
de rede com uma Aplicação Gerente.

Figura 3 - Aplicação Agente

Gerenciamento de Redes com SNMP | Conceitos e Definições de Gerência de Redes 23


3.6.7.1. Componentes chaves:
Os componentes chave da Aplicação Agente são:

 O Agente
 A MIB do Agente

3.6.7.1.1. O Agente
Todo sistema gerenciado por SNMP deverá conter uma entidade Agente rodando
em background.
Pode suportar mais de um protocolo de transporte. Porém, o UDP foi o protocolo
da Pilha TCP/IP escolhido por possibilitar a interoperação entre qualquer Gerente e
Agente.

3.6.7.1.2. A MIB do Agente


A MIB é uma coleção de variáveis de interesse. Seus valores dependem das fun-
cionalidades do dispositivo e de quais recursos ou serviços o agente deverá gerenciar.

24 Conceitos e Definições de Gerência de Redes | Gerenciamento de Redes com SNMP


4. Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP
Vários modelos foram criados por diversos órgãos com o objetivo de gerenciar
redes, dados e telecomunicações em geral. Neste capítulo serão abordados os dois dos
principais modelos, o modelo OSI e o modelo SNMP.

4.1.Modelo de Gerenciamento OSI


O Modelo OSI (Open Systems Interconnection), pertencente a ISO (International
Organization for Standardization), baseia-se na teoria da orientação a objetos. Com
isso, o sistema representa os recursos gerenciados através de entidades lógicas, as quais
recebem a denominação de objetos gerenciados. Provê uma arquitetura de gerencia-
mento capaz de atender à diversidade de equipamentos da rede.

4.1.1. Funcionamento

O Gerente transmite operações de gerenciamento aos agentes a fim de obter in-


formações atualizadas sobre os objetos gerenciados.
O Agente recebe as operações de gerenciamento emitidas pelo gerente e execu-
ta as ações necessárias sobre os objetos gerenciados. Ele ainda pode transmitir ao ge-
rente notificações geradas pelos objetos gerenciados ou notificações sobre a ocorrência
de eventos.

Figura 4 - Operações de Gerenciamento

O conjunto de objetos gerenciados constitui a Base de Informações de Gerenciamento, a


MIB.

Figura 5 - MIB

Gerenciamento de Redes com SNMP | Modelo de Gerenciamento OSI e Modelo de 25


Gerenciamento SNMP
Para efetuar a troca de informações de Gerenciamento o Modelo OSI utiliza o
serviço CMIS (Common Management Information Service) e o protocolo CMIP (Com-
mon Management Information Protocol).

Figura 6 - Informações de Gerenciamento

4.1.2. Tarefas/Processos de Gerenciamento

O Modelo de Gerenciamento OSI divide as Tarefas/Processos de Gerenciamento


em cinco áreas funcionais:
 Gerenciamento de Falhas(Fault Management);
 Gerenciamento de Configuração (Configuration Management);
 Gerenciamento de Contabilização (Accounting Management);
 Gerenciamento de Desempenho (PerformanceManagement);
 Gerenciamento de Segurança (Security Management).
Também conhecido como Modelo FCAPS, formado a partir das iniciais de cada
área de gerenciamento, em inglês.

4.1.2.1. Gerenciamento de Falhas


Deve detectar e resolver rapidamente situações que degradam o funcionamento
da rede. Possui um conjunto de facilidades que habilitam:
 Detecção de falhas;
 Notificação de usuários;
 Isolamento da falha;
 Correção do problema;
 Gravação de log (com a detecção e sua resolução).
É a área mais amplamente implementada, pois tem procedência sobre as demais.
Pode ser reativa, reage às falhas na medida em que ocorrem, ou pró-ativa, busca detec-
tar falhas antes que elas ocorram.

4.1.2.2. Gerenciamento de Configuração


Utilizado para que se tenha controle sobre diferentes versões de elementos de
hardware e software presentes na rede.
Verifica a mudança de estado dos objetos, conexões físicas e lógicas entre dispo-
sitivos, modo de operação de cada dispositivo.

26 Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP | Gerenciamento


de Redes com SNMP
Pode ser divida em três aspectos:
 Inventário: Conjunto de dispositivos na rede, hardware e software;
 Configuração: Mapeamento das conexões entre os dispositivos;
 Provisão: Parâmetros operacionais modificáveis que apresentam o com-
portamento de cada dispositivo.

4.1.2.3. Gerenciamento de Contabilização


Distribuição justa dos custos da rede, fazendo apropriação e tarifação de acordo
com a utilização. Planejar o crescimento da rede e evitar abusos na utilização de recur-
sos da organização.

4.1.2.4. Gerenciamento de Desempenho


Conjunto de funções para medir, monitorar, avaliar e relatar os níveis de desem-
penho alcançados pela rede garantindo um nível de serviço aceitável ao usuário.
Quando a performance se torna inaceitável, envia mensagens de alerta ao Ope-
rador.

4.1.2.5. Gerenciamento de Segurança


A meta é controlar o acesso aos recursos da rede de acordo com as definições de
cada organização para evitar sabotagens e proteger os dados para que não sejam aces-
sados por pessoas não autorizadas. Visa:
 Proteção das informações;
 Controle de acesso ao sistema;
 Monitorar uso dos recursos;
 Criar, manter e examinar “log-files”.
É essencial em hosts conectados a Internet.

4.2.Modelo de Gerenciamento SNMP


O modelo SNMP, também chamado de Modelo Internet, possui uma abordagem
genérica, podendo gerenciar diferentes tipos de sistemas, bastando apenas possuir al-
guns componentes elementares:
 Gerente;
 Agente;
 Entidade com Dupla Função (Opcional);
 Informações de Gerenciamento;
 Protocolo de Gerenciamento.

Gerenciamento de Redes com SNMP | Modelo de Gerenciamento OSI e Modelo de 27


Gerenciamento SNMP
4.2.1. Estação de Gerenciamento contendo entidades SNMP (Gerente)

Estação de Gerenciamento, contendo o Gerente que recebe todas as informa-


ções e realiza ações nos agentes.
Aplicação de Gerenciamento, o software escolhido para interpretar as informa-
ções coletadas e adicionar funcionalidades como a geração de gráfico, armazenamento
em Banco de Dados, disparo de alertas para dispositivos específicos entre outros.

Figura 7 - Gerente SNMP

4.2.2. Nós gerenciados contendo a entidade SNMP (Agente)

Dispositivos dos quais os dados serão coletados e enviados ao Gerente. Em casos


extremos dispara os Traps.

Figura 8 - Agentes SNMP

28 Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP | Gerenciamento


de Redes com SNMP
4.2.3. Entidade com Dupla Função

Opcionalmente, entidades SNMP com dupla função, capazes de desempenhar o


papel de Agente e Gerente simultaneamente.

Figura 9 - Entidade Dupla Função

4.2.4. Informações de Gerenciamento

Informações de gerenciamento em cada nó, as quais descrevem a configuração,


o estado, as estatísticas e as ações que controlam os nós gerenciados.

Figura 10 - informações de Gerenciamento

4.2.5. Protocolo de Gerenciamento

Um protocolo de gerenciamento utilizado pelos Gerentes e Agentes durante a


troca de mensagens.

Figura 11 - Protocolo de Gerenciamento

Gerenciamento de Redes com SNMP | Modelo de Gerenciamento OSI e Modelo de 29


Gerenciamento SNMP
4.2.6. Monitoramento via SNMP

Visão do processo completo de comunicação entre Agente e Gerente. A comuni-


cação entre os agentes e a aplicação gerente ocorre por meio do protocolo SNMP é
através deste protocolos que as Informações de Gerenciamento colhidas pelo Agente
são enviadas pelo Gerente, que por sua vez irá repassar à Aplicação de gerenciamento,
que efetuará as ações adicionais como armazenar em banco de dados, alimentar gráfi-
cos, disparar alertas entre outras.

Figura 12 - Monitoramento via SNMP

4.2.7. Monitoramento via SNMP utilizando Entidade com Dupla Fun-


ção

Visão do conjunto de elementos envolvidos em uma solução de gerenciamento


com SNMP.

Figura 13 - Monitoramento via SNMP (Entidade com Dupla Função)

30 Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP | Gerenciamento


de Redes com SNMP
5. Gerenciamento de Redes - O Protocolo SNMP
O SNMP (Simple Network Management Protocol) é um protocolo da camada de
aplicação que tem como objetivo principal coletar informações de dispositivos gerenciá-
veis. É o responsável por veicular informações de gerência (valores das MIBs).

Figura 14 - Protocolo SNMP

Suas interações são sem conexão, trabalha com mensagens no protocolo UDP/IP,
utiliza as portas 161 e 162 e seus pacotes tem tamanho variável.
Esse protocolo se tornou padrão para gerência na Internet, por ser simples de
implementar e amplamente difundido.
É composto de um protocolo para troca de mensagens e padrões para estruturar
a informação.

Figura 15 - Componentes SNMP

As Informações de Gerenciamento são armazenadas em MIBs que são definidas


através da SMI (Structure of Management Information) e transportadas através do pro-
tocolo SNMP.

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 31


5.1. SMI
Podemos entender a SMI como uma descrição lógica das informações. É compos-
ta dos seguintes elementos:
 Nomes dos objetos gerenciados: Referenciados através dos OIDs (Object
IDentifiers);
 Sintaxe dos dados: Seguindo os padrões da ASN.1 (Abstract Syntax Nota-
tion 1);
 Sintaxe de transferência: Seguindo as regras da BER (Basic Encoding Ru-
les).

5.2. ASN.1
É uma linguagem de descrição de dados da ISO, definida em formato texto não
ambíguo, que permite definir o modelo de dados com formato independente de máqui-
na. A implementação de dados não é considerada.

5.2.1. Sintaxe básica em ASN.1


5.2.1.1. Tipos de dados
 Primitivos: INTEGER, OCTET STRING, OBJECT IDENTIFIER, NULL, Subtipos;
 Construtores: Listas e Tabelas;
 Definidos: Nomes alternativos para tipos ASN.1.

5.2.1.2. Notações em ASN.1


As notações em ASN.1 seguem algumas convenções:

Tabela 01 - Notações em ASN.1

5.2.1.3. Exemplos de Definição ASN.1


Estrutura genérica:
sysContact OBJECT-TYPE
SYNTAX DisplayString (SIZE (0...255))
ACCESS read-write
STATUS mandatory
DESCRIPTION
“Texto xxxxxxxxxxxxxxxxxxxxxxxx”

32 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP


Exemplo real de definição:
parDhcpStartTime OBJECT-TYPE
SYNTAX DisplayString (SIZE (1..30))
ACCESS read-only
STATUS mandatory
DESCRIPTION
“Dhcp Server start time”

5.2.1.3.1. Campo SYNTAX:


Define o conteúdo do objeto, que pode ser do tipo:
 INTEGER: Inteiros de 32 bits;
 INTEGER (1...100) Sub-tipo inteiro;
 OCTET STRING: String de bytes;
 OBJECT IDENTIFIER: Localização de outro objeto na MIB.
Aceita alguns tipos específicos de aplicação:
 IpAddress: OCTET STRING com 4 bytes;
 Counter: Inteiro 32 bits;
 Gauge: Inteiro 32 bits;
 TimeTicks: Inteiro 32 bits (1/100 de segundo).

5.2.1.3.2. Campo ACCESS:


Define a acessibilidade do objeto:
 read only: Somente leitura;
 read-write: Leitura e escrita;
 write-only: Somente escrita, senha do equipamento, por exemplo;
 not-accessible: Não acessível, campo para operações internas, por exem-
plo.

5.2.1.3.3. Campo STATUS


Representa a situação do objeto na MIB:
 Mandatory: Devem ser implementados por todos os agentes, os valores
contidos devem ser válidos;
 Optional: Pode ou não ser implementado;
 Deprecated: Foi substituido por novo objeto, mas ainda é válido, tornan-
do-se obsoleto mais tarde;
 Obsolete: Não deve ser considerado.

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 33


5.3. Mensagem SNMP
A mensagem possui tamanho variável, limitada a 484 bytes.
Message length: Tamanho da mensagem lembre-se que o pacote SNMP tem ta-
manho variável;
Protocol Version: Versão do Protocolo SNMP;
Community String: Nome da comunidade;
PDU Header: Cabeçalho do PDU;
PDU Body: Dados da PDU.

Figura 16 - Mensagem SNMP

5.4.As PDUs SNMP


PDU (Protocol Data Unit) ou simplesmente Unidade de Dados de Protocolo,
identifica uma série de informações, como versão do protocolo, tipo de operação e có-
digos de erro.

Figura 17 - PDUs SNMP

Toda operação SNMP gera uma resposta, com exceção da Operação de Trap. Os
dados das operações são transportados na porta 161 UDP/IP, e os traps são transporta-
dos na porta 162 UDP/IP.

34 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP


5.4.1. Estrutura das PDUs SNMP

A figura 18 mostra a estrutura das PDU’s SNMP. Cada parte da PDU será explica-
da nas seções seguintes.

Figura 18 - Estrutura das PDUs SNMP

5.4.1.1. Preâmbulo e Cabeçalho

5.4.1.1.1. Versão:
 0: SNMPv1
 1: SNMPv2c
 2: SNMPv2u/SNMPv2p
 3: SNMPv3

5.4.1.1.2. Tipo de PDU:


 0: getRequest
 1: getNextRequest
 2: getResponse
 3: setRequest
 4: trap

5.4.1.1.3. Request ID:


Valor numérico usado para fazer referência a pedidos e respostas.

5.4.1.1.4. Códigos de erro:


 0: noError: Sucesso na operação.
 1: tooBig: Resposta muito grande.
 2: noSuchName: OID não suportado pelo agente.
 3: badvalue: Valor incorreto para operação set.
 4: readOnly: Tentativa de escrita inválida.
 5: genErr: Erro não relacionado ao protocolo.

5.4.1.1.5. Error index:


Indica qual variável listada na PDU causou o erro.

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 35


5.5.A Arquitetura SNMP
O Sistema de Gerenciamento possui a Aplicação Gerente que além de receber as
informações do Gerente SNMP, pode também solicita-las. O Gerente SNMP irá disparar
então uma operação no Agente SNMP.
No Sistema Gerenciado as requisições que chegam ao Agent SNMP, são submeti-
das às MIBs para validar a existência dos objetos, permissões, tipos de dados e etc. A
etapa seguinte consiste em consultar o recurso para obter o valor, lembre-se que a MIB
só organiza os objetos, mas não possui dados.

Figura 19 - Arquitetura SNMP

5.6.Operações/Mensagens SNMP
5.6.1. Get-Request

Recupera o valor de informações de gerenciamento.

Figura 19 - Get-Request

36 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP


5.6.2. Get-Next-Request

Recupera o valor de informações de gerenciamento existentes após um determi-


nado identificador; pega o valor da próxima variável.

Figura 201 - Get-Next-Request

5.6.3. Get-Bulk-Request

Estende a funcionalidade da função Get-Next. Traz um bloco de informações de


cada vez.

Figura 212 - Get-Bulk-Request

5.6.4. Set-Request

Modifica o valor de informações de gerenciamento.

Figura 23 - Set-Request

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 37


5.6.5. TRAP

Informa um evento ocorrido no sistema gerenciado.

Figura 224 - Trap

5.6.6. Inform-Request

Fornece uma informação de gerenciamento não solicitada. É usado entre geren-


tes, porém, diferentemente do Trap, no caso do Inform-Request existe a confirmação do
recebimento da mensagem.

Figura 235 - Inform-Request

38 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP


5.6.7. Exemplo de Operação

Na figura 26 temos um exemplo de operação, primeiro uma ação do tipo Get-


Request, que retorna o nome do equipamento, em seguida uma ação de GetNext-
Request que retorna a informação referente a versão do equipamento e por último uma
ação de Set-Request em um objeto que é apenas leitura (read only) e portanto a respos-
ta de erro.

Figura 246 - Exemplo de Operação SNMP

5.7.Limitações de SNMP
5.7.1. Falta de segurança

 Esquema de autenticação trivial;


 Limitações no uso do método SET.

5.7.2. Ineficiência

 Esquema de eventos limitado e fixo;


 Operação baseada em pooling;
 Comandos transportam poucos dados.

5.7.3. Falta de funções específicas

 MIB com estrutura fixa;


 Falta de comandos de controle;
 Falta de comunicação entre gerenciadores.

5.7.4. Não confiável:

 Baseado em UDP/IP;
 Traps sem reconhecimento.

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 39


5.8.Vulnerabilidade SNMP - Proteção:
 Aplicar patchs fornecidos pelo fabricante;
 Utilizar aplicações SNMP somente onde seja necessário;
 Filtrar o acesso aos dispositivos gerenciados, permitindo somente o tráfe-
go a partir de seus próprios servidores de gerenciamento;
 Alterar o nome padrão das comunidades;
 Isolar o tráfego de gerência em uma rede específica, uma VLAN por
exemplo.

5.9.Versões SNMP:
 SNMP v1
 SNMP v2
 SNMP v3

5.9.1. SNMP V1

Características e Operações Básicas.

5.9.1.1. Get
Usado pelo NMS (Network Management System – Sistema de Gerenciamento de
Redes) para adquirir o valor de uma ou mais instâncias de um objeto de um agente.

5.9.1.2. GetNext
Usado pelo NMS para adquirir o valor do próximo objeto em uma tabela ou lista.

5.9.1.3. Set
Usado pelo NMS para atribuir um valor a um objeto no agente.

5.9.2. SNMP V2

Durante a “divergência” SNMP v2 foram definidos quatro variações:

5.9.2.1. SNMPv2 Original


SNMPv2p: Com o "p" referindo-se a "party-based“ security;

5.9.2.2. SNMPv2 baseado na comunidade


SNMPv2c: Padrão utilizado até hoje.

5.9.2.3. SNMPv2 baseada no usuário


SNMPv2u: Esquema de segurança baseado em usuários e senha.

5.9.2.4. SNMPv2 Estrela


SNMPv2*: Combina elementos de SNMPv2p e SNMPv2u. Nunca foi formalmente
padronizado.

As três primeiras variações foram documentadas em conjuntos de padrões SNMP


RFC Standard, a quarta não foi.

40 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP


A estrutura do formato de mensagem global para cada variante é discutida num
padrão administrativo ou de segurança para a variação em questão, que faz referência à
norma SNMPv2 compartilhada para o formato de PDU (RFC 1905).

5.9.3. SNMP V2 (v2c)


5.9.3.1. Características e Operações adicionais

5.9.3.1.1. Trap
Mensagem não solicitada, enviada por um agente para informar ao NMS sobre
um evento significante.

5.9.3.1.2. GetBulk
Usado pelo NMS para adquirir eficientemente grandes blocos de dados.

5.9.3.1.3. Inform
Permite que um NMS envie traps para outro NMS e receba respostas desses
traps.

5.9.4. SNMP V3
5.9.4.1. Melhorias de Segurança

5.9.4.1.1. USM
User-based Security Model: Modelo de Segurança Baseada em Usuários.

5.9.4.1.2. VACM
View-based Access Control Model: Modelo de controle de acesso baseado em vi-
sões.

5.9.4.1.3. Configuração dinâmica de agentes SNMP utilizando


comandos SNMP
Apresenta a capacidade de configurar dinamicamente o agente SNMP usando
comandos SET SNMP contra os objetos MIB que representam a configuração do agente.
Permite configuração dinâmica de adição, exclusão e modificação de entradas de confi-
guração local ou remotamente. Podemos via comando alterar as configurações do
snmpd.conf do host local ou remoto.

5.10. Modelo de Segurança SNMP


5.10.1. Modelo mais comum

SNMP V2c: Baseado no conceito de “comunidade”, cada dispositivo implementa


uma ou mais comunidades.

5.10.2. Comunidade default:

 public: Leitura;
 private: Gravação.

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 41


5.10.3. Uma comunidade define

 Método para autenticar o acesso (senha);


 Visibilidade da MIB;
 Privilégios de acesso à MIB.

5.10.4. Serviço de autenticação

Todas as mensagens SNMP são autenticadas; o nome da comunidade serve como


senha, porém, esse é um sistema de segurança frágil e limitado, além de não permitir a
operação SET em alguns casos.
Alguns dispositivos controlam o acesso usando o nome da comunidade e o nú-
mero IP do(s) gerente(s), o que eleva um pouco a segurança, mas não resolve o proble-
ma.

5.11. Traps em SNMP


São mensagens enviadas pelo agente ao gerente; não são respostas a pedidos,
ou seja, são mensagens não solicitadas e representam eventos anormais.

5.11.1. Classificação

 Genéricos: Presentes na MIB padrão;


 Específicos: Definidos na MIB “enterprises”.

5.11.1.1. Traps genéricos

5.11.1.1.1. ColdStart:
 Dispositivo foi ligado;
 Configuração local pode ter sido alterada;
 Informa ao gerente sobre sua existência.

5.11.1.1.2. WarmStart:
 Dispositivo foi reinicializado;
 Configuração local não foi alterada.

5.11.1.1.3. LinkDown:
 Link ou porta de comunicação ligada ao nó falhou.

5.11.1.1.4. LinkUp:
 Link ou porta local foi (re)ativada.

5.11.1.1.5. AuthenticationFailure:
 O dispositivo recebeu mensagem SNMP não autorizada;
 Comunidade não reconhecida;
 Número IP de gerente inválido.

5.11.1.1.6. EgpNeighborLoss:
 Exterior Gateway Protocol falhou no nó;
 Normalmente usado em roteadores.
42 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP
5.11.1.1.7. EnterpriseSpecific:
 Indica que a trap é específica de uma empresa;
 Fornencedores definem suas próprias traps na ramificação da empresa
privada na árvore MIB.

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 43


44 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP
6. A MIB
A MIB (Management Information Base - Base de Informações de Gerenciamen-
to) é um conjunto dos objetos gerenciados, com o objetivo de abranger informações
necessárias para a gerência da rede. É importante salientar que a MIB não contém obje-
tos reais, somente os organiza.

6.1.Objetos Gerenciados
São “estruturas de dados” resultantes da modelagem dos recursos da rede a se-
rem gerenciados, podem ter permissões para serem lidos ou alterados sendo que cada
leitura representará o estado real do recurso e cada alteração será refletida no próprio
recurso, isso permite automatização de grande parte das tarefas de gerência.

6.2.Modelos de Gerenciamento
O padrão OSI define três modelos para gerenciamento de redes:
 Modelo Organizacional;
 Modelo Funcional;
 Modelo Informacional.

6.2.1. Modelo Organizacional

Descreve a forma pela qual a gerência pode ser distribuída entre domínios e sis-
temas dentro de um domínio.

6.2.2. Modelo funcional

Descreve as áreas funcionais e seus relacionamentos.

6.2.3. Modelo informacional

Provê a base para a definição de objetos gerenciados e suas relações, classes


atributos, ações e nomes.

6.3.Características do Modelo OSI


Na definição de objetos gerenciados é utilizada a orientação a objetos. Objetos
com características semelhantes são agrupados em classes de objetos, uma classe pode
ser uma subclasse de outra, e a segunda herda todas as propriedades da primeira, tam-
bém chamada de super-classe.

6.3.1. Classe, Subclasse e Superclasse

Uma classe é definida por:


 Atributos da classe;
 Ações que podem ser invocadas;
 Eventos que podem ser relatados;
 Subclasse a qual ela deriva;
 Superclasse na qual ela está contida.

Gerenciamento de Redes com SNMP | A MIB 45


6.3.2. Hierarquias dos Objetos Gerenciados

Para a definição dos objetos gerenciados deve-se considerar três hierarquias:


 Hierarquia de herança;
 Hierarquia de nomeação;
 Hierarquia de registros: Usados na caracterização e identificação de obje-
tos gerenciados.

6.3.2.1. Hierarquia de Herança


Conhecida também como hierarquia de classe tem como objetivo facilitar a mo-
delagem dos objetos, através da utilização do paradigma da orientação a objetos. Essa
característica facilita a definição de classes, superclasses, subclasses.

6.3.2.2. Hierarquia de Nomeação


Hierarquia usada para identificar uma instância de um objeto. Conhecida como
Hierarquia de containment, descreve a relação de "estar contido em" aplicado aos obje-
tos.
Um objeto gerenciado está contido dentro de um (e somente um) objeto geren-
ciado, um objeto gerenciado existe somente se o objeto que o contém existir.

6.3.2.3. Hierarquia de Registro


Hierarquia usada para identificar os objetos, independentemente das hierarqui-
as de heranças e nomeação. É especificada segundo regras estabelecidas pela notação
ASN.1 (Abstract Syntax Notation. One).
Cada objeto é identificado por uma sequência de números, correspondente aos
nós percorridos desde a raiz, até o objeto em questão.

6.4.MIB da Internet
O RFC (Request for Comments) 1066 apresentou a primeira versão da MIB, a
MIB-1, o IAB (Internet Activities Board) aceita MIB como padrão no RFC 1156.
O RFC 1158 propôs uma segunda MIB, a MIB-II, aceita e formalizada como pa-
drão no RFC 1213.

6.5.A árvore da MIB II


Usa arquitetura de árvore de registro, cada parte da informação da árvore é um
nó rotulado formado por:
 Identificador de objetos (OID): 1.3.6.1.1
 Descrição textual: directory(1)

46 A MIB | Gerenciamento de Redes com SNMP


6.5.1. Nó Raiz

O nó raiz da árvore (MIB) possui três sub-árvores:


 ccitt(0): Administração CCITT (Comite Consultatif Internationale de Tele-
graphie et Telephonie);
 iso(1): Administração ISO;
 joint-iso-ccitt(2): Administração ISO e CCITT.

Figura 27 - Nó raiz da árvore MIB

6.5.2. Nó iso

Sob o nó iso(1) temos as subárvores:


 org(3);
 dod(6);
 Internet(1).

Figura 258 -Nó iso(1)

Gerenciamento de Redes com SNMP | A MIB 47


6.5.3. Nó internet

O nó Internet(1) possui quatro subárvores:


 directory(1): Contém informações sobre o serviço de diretórios OSI;
 mgmt(2): Informações de gerenciamento;
 experimental(3): Objetos em pesquisa pela IAB;
 private(4): Objetos definidos por outras organizações.

Figura 29 - Nó internet(1)

6.5.4. Nó mgmt

Abaixo do nó mgmt(2) estão os objetos usados para se obter informações especí-


ficas de rede.

Figura 30 - Nó mgmt

48 A MIB | Gerenciamento de Redes com SNMP


6.5.5. Árvore MIB II

Visão geral da árvore da MIB II.

Figura 31 - Árvore MIB II

6.5.6. Exemplo de Objeto da MIB

Objeto System (1.3.6.1.2.1.1)

Figura 32 - Objeto System (1.3.6.1.2.1.1)

6.5.7. Exemplos de Grupos


6.5.7.1. Grupo System
Sistema de operação dos dispositivos da rede

6.5.7.1.1. Descrição textual:


iso.org.dod.internet.mgmt.mib-2.system

Gerenciamento de Redes com SNMP | A MIB 49


6.5.7.1.2. OID
1.3.6.1.2.1.1

6.5.7.1.3. Componentes:
 sysDesc(1): Descrição do sistema, nome completo e versão do tipo de
hardware, sistema operacional e software de rede;
 sysObjectId(2): OID de registro (fabricante do sistema);
 sysUpTime(3): Tempo de atividade do sistema (1/100 s);
 sysContact (4): Pessoa ou grupo responsável pelo nó;
 sysName(5): Nome do nó na rede;
 sysLocation(6): Localização física do nó;
 sysServices(7): Flags indicando serviços suportados.

6.5.7.2. Grupo Interfaces - Interface da rede com o meio físico

6.5.7.2.1. Descrição textual


iso.org.dod.internet.mgmt.mib-2.interface

6.5.7.2.2. OID
1.3.6.1.2.1.2

6.5.7.2.3. Componentes
 ifNumber(1): Número de interfaces de rede (independentemente do seu
estado atual) presentes no sistema;
 ifTable(2): A tabela de informações sobre cada interface de rede, o núme-
ro de interfaces é dado pelo valor do ifNumber;
 ifEntry(ifTable 1): Entradas de valores sobre cada uma das interfaces;
 ifIndex(ifEntry 1): Um valor único para cada interface, permite identificar
a interface;
 ifDescr(ifEntry 2): Identificação da interface, deve incluir o nome do fabri-
cante, o nome do produto e a versão da interface;
 ifType(ifEntry 3): Tipo de interface;
 ifMtu(ifEntry 4): Tamanho máximo do datagrama suportado pela interfa-
ce, especificado em octetos;
 ifSpeed(ifEntry 5): Uma estimativa da largura de banda atual da interface
em bits por segundo. Para interfaces que não variam em largura de banda
ou ainda para aquelas onde essa estimativa não é considerada necessária,
esse objeto deve conter a largura de banda nominal;
 ifPhysAddress(ifEntry 6): Endereço físico da interface, Para interfaces que
não têm tal endereço (por exemplo, uma linha serial), esse objeto deve
conter um octeto string de comprimento zero;
 ifAdminStatus(ifEntry 7): Indica o estado desejado da interface;
 ifOperStatus(ifEntry 8): Indica o estado atual de funcionamento do inter-
face;
o up(1), -- pronto para passar pacotes;
o down(2), -- interface desabilitada;
o testing(3) -- indica que nenhum pacote em estado operacional
podem ser passados.
50 A MIB | Gerenciamento de Redes com SNMP
 ifLastChange(ifEntry 9): O tempo de funcionamento desde que a interfa-
ce entrou em estado operacional;
 ifInOctets(ifEntry 10): O número total de octetos recebidos na interface,
incluindo caracteres de enquadramento (framing characters);
 ifInUcastPkts(ifEntry 11): O número de pacotes unicast entregues a um
protocolo de camada superior;
 ifInNUcastPkts(ifEntry 12): O número de pacotes não unicast (ou seja,
broadcast ou multicast) entregues a um protocolo de camada superior;
 ifInDiscards(ifEntry 13): O número de pacotes de entrada que foram es-
colhidos para serem descartados, mesmo que nenhum erro tenha sido
detectado, impede a entrega dos pacotes a um protocolo de camada su-
perior. Uma razão possível para descartar tais pacotes poderia ser para li-
berar espaço de buffer;
 ifInErrors(ifEntry 14): O número de pacotes de entrada que continham
erros que impedem seu fornecimento a um protocolo de camada superi-
or;
 ifInUnknownProtos(ifEntry 15): O número de pacotes recebidos através
da interface que foram descartados por causa de um protocolo desco-
nhecido ou não suportado;
 ifOutOctets(ifEntry 16): O número total de octetos transmitidos na inter-
face, incluindo caracteres de enquadramento (framing characters);
 ifOutUcastPkts(ifEntry 17): O número total de pacotes que o protocolo
de camada superior solicitou que fossem transmitidos, incluindo aqueles
que foram descartados ou não enviados;
 ifOutNUcastPkts(ifEntry 18): O número total de pacotes não unicast (ou
seja, broadcast ou multicast) que o protocolo de camada superior solici-
tou que fossem transmitidos, incluindo aqueles que foram descartados ou
não enviados;
 ifOutDiscards(ifEntry 19): O número de pacotes de saída que foram esco-
lhidos para serem descartados, mesmo que nenhum erro tenha sido de-
tectado, impede a transmissão dos pacotes. Uma razão possível para des-
cartar tais pacotes poderia ser para liberar espaço de buffer;
 ifOutErrors(ifEntry 20): O número de pacotes de saída que não puderam
ser transmitidos devido a erros;
 ifOutQLen(ifEntry 21): O comprimento da fila de saída de pacotes (em
pacotes);
 ifSpecific(ifEntry 22): Uma referência a definições MIB específicas para
uma mídia em particular, sendo usado para realizar a interface com o ob-
jeto. Por exemplo, se a interface é realizado por uma ethernet, então o
valor deste objeto refere-se a um documento que define objetos específi-
cos para ethernet. Se esta informação não é presente, seu valor deve ser
definido como OBJECT IDENTIFIER { 0 0 }, que é uma sintaxe válida para
identificador de objeto, e estará em conformidade com qualquer imple-
mentação de ASN.1 e BER que deverá ser capaz de gerar e reconhecer es-
se valor.

Gerenciamento de Redes com SNMP | A MIB 51


6.5.7.3. Grupo at (Address Translation)
Mapeamento de endereços IP em endereços físicos.

6.5.7.3.1. Descrição textual


iso.org.dod.internet.mgmt.mib-2.at

6.5.7.3.2. OID
1.3.6.1.2.1.3

6.5.7.3.3. Componentes
 atTable(1): As tabelas de tradução de endereços, devem conter o endere-
ço de rede para seu endereço físico equivalente.
Algumas interfaces não usam tabelas de conversão para determinar equi-
valências endereço (por exemplo, DDN-X.25 tem um método algorítmico).
Se todas as interfaces são deste tipo, então a tabela Address Translation
está vazia, ou seja, tem zero entradas;
 atEntry(atTable 1): Cada entrada contém um endereço de rede para seu
endereço físico equivalente;
 atIfIndex(atEntry 1): A interface identificada por um determinado valor
deste índice é a mesma interface identificada pelo mesmo valor de ifIn-
dex;
 atPhysAddress(atEntry 2): Endereço físico da interface;
 atNetAddress(atEntry 3): O endereço da rede (por exemplo, o endereço
IP).

6.5.7.4. Grupo ip - Protocolo IP

6.5.7.4.1. Descrição textual


iso.org.dod.internet.mgmt.mib-2.ip

6.5.7.4.2. OID
1.3.6.1.2.1.4

6.5.7.4.3. Componentes (Apenas Alguns)


 ipForwarding(1): Se o IP Forward está ou não habilitado no dispositivo;
o forwarding(1)
o not-forwarding(2)
 ipInReceives(3): O número total de datagramas de entrada recebidos pe-
la interface,incluindo aqueles recebidos com erro;
 ipInAddrErrors(5): O número de datagramas de entrada descartados por-
que o endereço IP de destino em seu campo de cabeçalho IP não era um
endereço válido. Essa contagem inclui endereços inválidos (por exemplo,
0.0.0.0) e os endereços de Classes não suportsadas (por exemplo, Classe
E);
 ipInUnknownProtos(7): O número de datagramas recebido com sucesso,
mas descartados por causa de um protocolo desconhecido ou não supor-
tado;

52 A MIB | Gerenciamento de Redes com SNMP


 ipOutDiscards(11): O número de datagramas IP de saída para os quais
não foram encontrados problemas para impedir a sua transmissão ao seu
destino, mas que foram descartados (por exemplo, por falta de espaço de
buffer);
 ipOutNoRoutes(12): O número de datagramas IP descartados, porque
nenhuma rota podia ser encontrada para transmiti-los aos seus destinos;
 ipAddrTable(20): Tabela de endereçamento IP;
 ipAdEntReasmMaxSize(ipAddrEntry 5): O tamanho do maior datagrama
IP que esta entidade pode re-montar a partir dos datagramas IP fragmen-
tados recebidos por esta interface;
 ipRouteTable(21): Tabela de roteamento IP;
 ipRouteDest(ipRouteEntry 1): Endereço IP do destino da rota. Uma en-
trada com valor 0.0.0.0 é considerada uma rota padrão;
 ipRouteMetric1(ipRouteEntry 3): A métrica de roteamento primário para
esta rota. A semântica desta métrica é determinada pelo protocolo de ro-
teamento especificado na rota do valor ipRouteProto. Se essa métrica não
é utilizada, seu valor deve ser definido como -1;
 ipRouteNextHop(ipRouteEntry 7): O endereço IP do próximo salto da ro-
ta. (No caso de uma rota ligada a uma interface que se realiza através de
uma mídia de broadcast, o valor deste campo é o endereço IP do agente
daquela interface).

6.5.7.5. Grupo icmp – Protocolo ICMP

6.5.7.5.1. Descrição textual


iso.org.dod.internet.mgmt.mib-2.icmp

6.5.7.5.2. OID
1.3.6.1.2.1.5

6.5.7.5.3. Componentes (Apenas Alguns)


 icmpInMsgs(icmp 1): O número total de mensagens ICMP que a entidade
recebeu. Note que a contagem inclui todos os contadores de icmpInEr-
rors;
 icmpInErrors(icmp 2): O número de mensagens ICMP que a entidade re-
cebeu, mas determinada por erros ICMP específicos (ICMP checksums
com erro, erro no tamanho, etc);
 icmpInDestUnreachs(icmp 3): O número de mensagens ICMP recebidas
com destino inacessível;
 icmpInTimeExcds(icmp 4): O número de mensagens ICMP recebidas com
tempo excedido.

Gerenciamento de Redes com SNMP | A MIB 53


6.5.7.6. Grupo TCP – Protocolos TCP

6.5.7.6.1. Descrição textual


iso.org.dod.internet.mgmt.mib-2.tcp

6.5.7.6.2. OID
1.3.6.1.2.1.6

6.5.7.6.3. Componentes (Apenas Alguns)


 tcpConnTable(13): Uma tabela contendo informações de conexão TCP
específicas;
 tcpConnState(tcpConnEntry 1): O estado da conexão TCP;
 tcpConnLocalAddress(tcpConnEntry 2): O endereço IP local para esta co-
nexão TCP. No caso de uma conexão no estado “ouvindo”, disposta a
aceitar conexões para qualquer interface IP associada ao nó, o valor
0.0.0.0 é usado;
 tcpConnRemAddress(tcpConnEntry 4): O endereço IP remoto para essa
conexão TCP;
 tcpConnRemPort(tcpConnEntry 5): O número da porta remota para esta
conexão TCP.

6.5.7.7. Grupo UDP – Protocolos UDP

6.5.7.7.1. Descrição textual


iso.org.dod.internet.mgmt.mib-2.udp

6.5.7.7.2. OID
1.3.6.1.2.1.7

6.5.7.7.3. Componentes
 udpInDatagrams(1): O número total de datagramas UDP entregues aos
usuários UDP;
 udpNoPorts(2): O número total de datagramas UDP recebidos para os
quais não houve aplicação na porta de destino;
 udpInErrors(3): O número de datagramas UDP recebidos que não pude-
ram ser entregues por outras razões que não a falta de uma aplicação na
porta de destino;
 udpOutDatagrams(4): O número total de datagramas UDP enviados a
partir desta entidade;
 udpTable(5): Uma tabela contendo informações sobre os ouvintes UDP;
 udpEntry(udpTable 1): Informações sobre um determinado ouvinte UDP;
 udpLocalAddress(udpEntry 1): O endereço IP local para este ouvinte UDP.
No caso de um ouvinte UDP que está disposto a aceitar datagramas para
qualquer interface IP associado com o nó, o valor 0.0.0.0 é usado;
 udpLocalPort(udpEntry 2): O número da porta local para este ouvinte
UDP.

54 A MIB | Gerenciamento de Redes com SNMP


6.5.7.8. Grupo EGP – Protocolo EGP

6.5.7.8.1. Descrição textual


iso.org.dod.internet.mgmt.mib-2.egp

6.5.7.8.2. OID
1.3.6.1.2.1.8

6.5.7.8.3. Componentes (Apenas Alguns)


 egpInMsgs(1): O número de mensagens EGP recebidas sem erro;
 egpInErrors(2): O número de mensagens EGP recebidas com erro;
 egpOutMsgs(3): O número total de mensagens EGP gerados localmente;
 egpOutErros(4): O número de mensagens EGP gerados localmente não
enviadas devido a limitações de recursos dentro de uma entidade EGP;
 egpNeighTable(5): A tabela de vizinhos EGP.

6.5.7.9. Grupo cmot – Protocolo CMOT

6.5.7.9.1. Descrição textual


iso.org.dod.internet.mgmt.mib-2.cmot

6.5.7.9.2. OID
1.3.6.1.2.1.9
Histórico.

6.5.7.10. Grupo Transmission – Meios de Transmissões

6.5.7.10.1. Descrição textual


iso.org.dod.internet.mgmt.mib-2.transmission

6.5.7.10.2. OID
1.3.6.1.2.1.10
Histórico.

6.5.7.11. Grupo SNMP – Protocolo SNMP

6.5.7.11.1. Descrição textual


iso.org.dod.internet.mgmt.mib-2.snmp

6.5.7.11.2. OID
1.3.6.1.2.1.11

6.5.7.11.3. Componentes
 snmpInPkts(1): O número total de mensagens entregues à entidade
SNMP pelo serviço de transporte;
 snmpOutPkts(2): O número total de mensagens SNMP que foram passa-
dos da entidade protocolo SNMP para o serviço de transporte;
 snmpInBadVersions(3): O número total de mensagens SNMP que foram
entregues à entidade protocolo SNMP, mas eram de uma versão SNMP
não suportada;

Gerenciamento de Redes com SNMP | A MIB 55


 snmpInBadCommunityNames(4): O número total de mensagens SNMP
entregues à entidade protocolo SNMP, mas que usaram um nome da co-
munidade SNMP desconhecida pela entidade;
 snmpInBadCommunityUses(5): O número total de mensagens SNMP en-
tregues à entidade protocolo SNMP que representaram uma operação
SNMP que não era permitida pela comunidade SNMP nomeada na men-
sagem;
 snmpInASNParseErrs(6): O número total de erros ASN.1 ou BER encon-
trados pela entidade protocolo SNMP quando decodificou as Mensagens
SNMP recebidas;
 -- (7): Não é usado;
 snmpInTooBigs(8): O número total de PDUs SNMP que foram entregues à
entidade protocolo SNMP e para os quais o valor do campo status de erro
é `tooBig ';
 SnmpInNoSuchNames(9): O número total de PDUs SNMP que foram en-
tregues à entidade protocolo SNMP e para os quais o valor do campo sta-
tus de erro é `noSuchName ';
 SnmpInBadValues(10): O número total de PDUs SNMP que foram entre-
gues à entidade protocolo SNMP e para os quais o valor do campo status
de erro é `badValue ';
 snmpInReadOnlys(11): O número total válido de PDUs SNMP que foram
entregues à entidade protocolo SNMP e para os quais o valor do campo
status de erro é 'readOnly'. Note que é um erro de protocolo para gerar
um PDU SNMP que contém o valor `readOnly ' no campo erro de status, e
como tal, este objeto é fornecido como um meio de detectar implemen-
tações incorretas do SNMP;
 snmpInGenErrs(12): O número total de PDUs SNMP que foram entregues
à entidade protocolo SNMP e para os quais o valor do campo status de er-
ro é `genErr';
 snmpInTotalReqVars(13): O número total de objetos MIB que foram re-
cuperados com sucesso pela entidade protocolo SNMP como o resultado
de receber PDUs SNMP Get-Request e Get-Next válidos;
 snmpInTotalSetVars(14): O número total de objetos MIB que foram alte-
rados com sucesso pela entidade protocolo SNMP, como o resultado de
receber PDUs SNMP Set-Request válidos;
 snmpInGetRequests(15): O número total de PDUs SNMP Get-Request
que foram aceitas e processadas pela entidade protocolo SNMP;
 snmpInGetNexts(16): O número total de PDUs SNMP Get-Next que foram
aceitas e processadas pela entidade protocolo SNMP;
 snmpInSetRequests(17): O número total de PDUs SNMP Set-Request que
foram aceitas e processadas pela entidade protocolo SNMP;
 snmpInGetResponses(18): O número total de PDUs SNMP Get-Response
que foram aceitas e processadas pela entidade protocolo SNMP;
 snmpInTraps(19): O número total de PDUs SNMP Trap que foram aceitas
e processadas pela entidade protocolo SNMP;

56 A MIB | Gerenciamento de Redes com SNMP


 snmpOutTooBigs(20): O número total de PDUs SNMP que foram gerados
pela entidade protocolo SNMP e para os quais o valor do campo status de
erro é `tooBig ';
 snmpOutNoSuchNames(21): O número total de PDUs SNMP que foram
gerados pela entidade protocolo SNMP e para os quais o valor do campo
status de erro é ` noSuchName ';
 snmpOutBadValues(22): O número total de PDUs SNMP que foram gera-
dos pela entidade protocolo SNMP e para os quais o valor do campo sta-
tus de erro é ` badValue ';
 -- (23): Não é usado;
 snmpOutGenErrs(24): O número total de PDUs SNMP que foram gerados
pela entidade protocolo SNMP e para os quais o valor do campo status de
erro é ` genErr ';
 snmpOutGetRequests(25): O número total de PDUs SNMP Get-Request
que foram gerados pela entidade protocolo SNMP;
 snmpOutGetNexts(26): O número total de PDUs SNMP Get-Next que fo-
ram gerados pela entidade protocolo SNMP;
 snmpOutSetRequests(27): O número total de PDUs SNMP Set-Request
que foram gerados pela entidade protocolo SNMP;
 snmpOutGetResponses(28): O número total de PDUs SNMP Get-
Response que foram gerados pela entidade protocolo SNMP;
 snmpOutTraps(29): O número total de PDUs SNMP Trap que foram gera-
dos pela entidade protocolo SNMP;
 snmpEnableAuthenTraps(30): Indica se o processo do agente SNMP esta
configurado para gerar traps de falha de autenticação. O valor deste obje-
to substitui qualquer informação de configuração, como tal, fornece um
meio pelo qual todos os traps de falha de autenticação possam ser desa-
bilitados.
Note que é altamente recomendável que esse objeto seja armazenados
em memória não-volátil para que ele permaneça constante entre as reini-
cializações do sistema de gerencia de rede.
o enabled(1);
o disabled(2).

Gerenciamento de Redes com SNMP | A MIB 57


58 A MIB | Gerenciamento de Redes com SNMP
7. Protocolo de Gerenciamento RMON
O padrão RMON para monitoramento remoto oferece uma arquitetura de geren-
ciamento distribuída para análise de tráfego, resolução de problemas, demonstração de
tendências e gerenciamento proativo de redes de modo geral.
Criado pelos mesmos grupos que desenvolveram o TCP/IP e o SNMP, o RMON é
um padrão IETF (Internet Engineering Task Force) de gerenciamento de redes cuja sigla
significa Remote Network Monitoring MIB. Primeiramente, desenvolveu-se o padrão
SNMP, somente depois se pensou no RMON.
O Simple Network Management Protocol, ou SNMP, é um protocolo de gerenci-
amento realmente simples: a única informação que se tem através de um alerta SNMP é
que existe um problema em um ponto da rede. Os alertas do SNMP padrão notificam
um problema somente quando ele já atingiu uma condição extrema suficiente a ponto
de comprometer a comunicação na rede como um todo.
Ao contrário do que se pode imaginar, o SNMP não é capaz de definir o proble-
ma, nem sua gravidade, nem fornece, tampouco, recursos para uma investigação das
causas desse problema. O diagnóstico do problema é uma tarefa do administrador da
rede.
O comitê do IETF decidiu que, para promover uma expansão qualificada das tec-
nologias de rede, era necessário um padrão de gerenciamento de redes mais sofisticado.
As principais características do novo padrão, o RMON, seriam:
 Interoperabilidade independentemente de fabricante;
 Capacidade de fornecer informações precisas a respeito das causas de fa-
lha no funcionamento normal da rede, assim como da severidade dessa
falha;
 Oferecer ferramentas adequadas para diagnóstico da rede.
Além destas características, o padrão deveria oferecer um mecanismo proativo
para alertar o administrador dos eventuais problemas da rede, além de métodos auto-
máticos capazes de coletar dados a respeito desses problemas.
Assim, o RMON tornou-se um padrão por volta de 1990. O RMON II foi publicado
para estender as capacidades do RMON.

7.1.Algumas RFCs tratam do protocolo RMON:


 RMON1: RFC 1757 - Remote Network Monitoring Management Infor-
mation Base (Draft) – Fev. 1995;
 RMON1: RFC 2819 - Remote Network Monitoring Management Infor-
mation Base – Mai 2000;
 RFC 1513 - Token Ring Extensions to the Remote Network Monitoring MIB
– Set 1993;
 RMON2: RFC 2021 - Remote Network Monitoring Management Information
Base Version 2 using SMIv2 (Obsolete) – Jan 1997*;
 RFC 3273 - Remote Network Monitoring Management Information Base for
High Capacity Networks – Jul 2002 **;
 RMON2: RFC 4502 - Remote Network Monitoring Management Information
Base Version 2 using SMIv2 – Mai 2006;
o * Substituiu;
o ** Atualizou.

Gerenciamento de Redes com SNMP | Protocolo de Gerenciamento RMON 59


 SMON: RFC 2613 - Remote Network Monitoring MIB Extensions for Switched
Networks (Proposto) – Jun 1999;
 Overview: RFC 3577 - Introduction to the RMON Family of MIB Modules –
Ago 2003.

7.2.Características do Protocolo
O protocolo RMON é uma MIB SNMP e, portanto o dispositivo deve possuir um
agente SNMP.
É específico para tecnologias Ethernet e Token Ring, apesar de existir uma im-
plementação para ATM.
O dispositivo que implementa o suporte para RMON se chama probe RMON. Um
probe pode ser implementado em um dispositivo dedicado ou em um elemento de rede,
como um hub, switch ou roteador.
O probe visa monitorar tráfego de um segmento da rede. Deve ficar em um pon-
to da rede por onde passa todo o tráfego do segmento. Dessa forma deve haver um
probe RMON por segmento de rede a ser monitorado.
Em redes comutadas, o RMON é implementado normalmente nos equipamentos
ativos ou através de espelhamento do tráfego de suas portas para uma porta de monito-
ração (port mirroring).

7.3.Objetivos do RMON
Realizar análise e levantar informações estatísticas sobre os dados coletados em
uma sub-rede, liberando a estação gerente desta tarefa.
Reduzir tráfego entre rede local gerenciada e a estação gerente remota.
Detectar, registrar e informar à estação gerente sobre situações de erro e even-
tos significativos da rede.
Permitir o gerenciamento pró-ativo da rede, diagnosticando e registrando even-
tos que possibilitem detectar o mal funcionamento e prever falhas que interrompam a
sua operação.
Enviar informações de gerenciamento para múltiplas estações gerentes.

60 Protocolo de Gerenciamento RMON | Gerenciamento de Redes com SNMP


7.4.Abrangência das versões

Tabela 02 - Camadas de atuação de cada versão do Protocolo RMON

7.5.Exemplo de funcionamento

Figura 33 - Exemplo de consulta RMON

Gerenciamento de Redes com SNMP | Protocolo de Gerenciamento RMON 61


7.6.MIB RMON1

Figura 264 - MIB RMON I

7.6.1. Aquisição de Estatísticas de Tráfego:

 Estatístico (Statistics);
 Histórico (History);
 Hosts;
 Classificação de n Hosts (Host Top N);
 Matriz (Matrix);
 Token Ring.

7.6.2. Detecção e Resolução de Situações Críticas e de Erro:

 Alarme (Alarm);
 Filtro (Filter);
 Captura de pacote (Packet Capture);
 Evento (Event).

7.6.3. Exemplos de Grupos


7.6.3.1. RMON1 – Statistics
Estatísticas básicas do tráfego em cada segmento de rede Ethernet.

7.6.3.1.1. Exemplos de estatísticas Ethernet


 Bytes trafegados;
 Pacotes trafegados (<uni/broad/multi>cast);
 Pacotes < 64 bytes;
 Pacotes > 1518 bytes;
 Pacotes com erro de CRC;
 Número de colisões.

62 Protocolo de Gerenciamento RMON | Gerenciamento de Redes com SNMP


7.6.3.2. RMON1 – History
Armazena n últimas estatísticas da rede.

7.6.3.2.1. Configuração
 Intervalos de amostragem;
 Quantidade de amostras armazenadas.

Análise da tendência de comportamento de uma rede:


 Cria subsídios para um gerenciamento pró-ativo.

Figura 275 - Exemplo coleta Grupo History RMON I

7.6.3.3. RMON1 – Hosts


Estatísticas para cada host do segmento de rede.

7.6.3.3.1. Exemplos:
 Número de bytes transmitidos e recebidos;
 Número de pacotes transmitidos e recebidos;
 Número de pacotes com erro transmitidos;
 Número de pacotes broadcast transmitidos;
 Número de pacotes multicast transmitidos.

7.6.3.4. RMON1 – Hosts Top N


Classifica os hosts de acordo com valores de variáveis do grupo hosts.

Permite definir:
 Variável para ordenação;
 Duração da amostragem;
 Quantidade de hosts na lista.

Gerenciamento de Redes com SNMP | Protocolo de Gerenciamento RMON 63


Exemplo:
 As 10 máquinas que mais transmitiram pacotes na rede hoje;
 As 5 máquinas que mais transmitiram pacotes com erros nas últimas 2
horas;
 As 20 máquinas que mais geraram tráfego de broadcast na semana.

7.6.3.5. RMON1 – Matrix


Associa estatísticas de tráfego entre pares de máquinas.

Exemplos:
 Pacotes transmitidos;
 Octetos transmitidos;
 Pacotes com erros transmitidos.

Facilita a obtenção de informações em relação à comunicação entre um par


qualquer de estações.

Figura 286 - Grupo Matrix RMON I

7.6.3.6. RMON1 – Token Ring


O suporte a Token Ring pode ser feito de 2 formas:
 Extensão dos grupos Statistics e History para redes Token Ring: Grupos
Statistics e History originais eram dependentes de Ethernet.
 Novo grupo Token Ring.

7.6.3.7. RMON1 – Alarm


Estabelece limites de operação para variáveis de MIB.

Se os limites forem ultrapassados, alarmes são gerados.

64 Protocolo de Gerenciamento RMON | Gerenciamento de Redes com SNMP


Exemplos:
 Mais de 20 pacotes com erro nos últimos 5 minutos;
 Se a taxa de bytes enviados for menor que 100.000.000/5s.

Figura 297 - Grupo Alarm RMON I

7.6.3.8. RMON1 – Filter


Define condições associadas a pacotes trafegados pela rede.

Se o pacote atende às condições estabelecidas:


Captura o pacote ou Registra estatísticas baseadas no mesmo.

Exemplos:
 Captura todos os pacotes vindos do servidor S1;
 Conta quantos pacotes estão indo para o roteador e não são originários
dos servidores: tráfego entre segmentos de redes das estações.

Gerenciamento de Redes com SNMP | Protocolo de Gerenciamento RMON 65


7.6.3.9. RMON1 – Packet Capture
Troubleshooting em segmentos de redes remotos.

Como capturar o tráfego em um segmento de rede?


 Colocar no segmento um sniffer;
 Utilizar o probe RMON.

Figura 38 - Grupo Packet Capture RMON I

7.6.3.9.1. Captura pacotes para análise na rede.


Parâmetros da captura:
 Quantos bytes de cada pacote serão armazenados? Default são os 100
primeiros bytes;
 Qual filtro determina os pacotes a serem capturados?
 Qual o tamanho do buffer a ser utilizado?

7.6.3.10. RMON1 – Event


Algumas ações do probe provocam eventos, por exemplo:
 Alarme disparado;
 Pacote que atende condições de um filtro.

Grupo event determina o que fazer nestes casos:


 Log interno;
 snmp-trap;
 Log-and-trap.

66 Protocolo de Gerenciamento RMON | Gerenciamento de Redes com SNMP


7.7.RMON2
O RMON1 trabalha na camada de enlace de dados. Mas e as demandadas de Es-
tatísticas de IP, IPX? Estatísticas de HTTP, FTP, etc?
O RMON2 visa atender a essas necessidades.

7.7.1. MIB RMON2

A MIB do RMON2 é um subconjunto da árvore MIB: São 9 novos grupos básicos


de variáveis.

Figura 39 - MIB RMON II

7.7.1.1. RMON2 – Protocol Directory


Diretório de Protocolo.

Lista dos protocolos que o probe RMON2 consegue monitorar.

Visa a interoperabilidade.

Gerenciamento de Redes com SNMP | Protocolo de Gerenciamento RMON 67


7.7.1.2. RMON2 – Protocol Distribution
Estatísticas sobre todos os protocolos suportados pelo probe.

Número de bytes e de pacotes referentes a cada protocolo trafegando naquele


segmento de rede.

Figura 40 - Grupo Protocol Distribution RMON II

7.7.1.3. RMON2 – Network Layer Host/Matrix e Application Layer


Host/Matrix

Tabela 03 - Network Layer Hot/Matrix e Application Layer Host/Matrix RMON II

7.7.1.4. RMON2 – User History


Histórico de Coleta do Usuário.

Equivalente ao grupo history do RMON1, porém, permite configurar quais variá-


veis serão mantidas no histórico, além do intervalo e quantidade da amostragem.

7.7.1.5. RMON2 – Probe Configuration


Configuração do Probe.

Padroniza a configuração do probe RMON, visando interoperabilidade entre pro-


bes e softwares gerentes de diferentes fabricantes.

7.7.1.5.1. Exemplos:
 Reboot do probe;
 Atualização de Software.

68 Protocolo de Gerenciamento RMON | Gerenciamento de Redes com SNMP


7.7.1.6. RMON2 – Address Map
Mapeamento de Endereços.

Relaciona endereços MAC e endereços de Rede (IP, IPX).

7.8.RMON – Considerações Finais


O RMON pode exigir bastante processamento: nem sempre um determinado
equipamento ou dispositivo tem recursos de processamento e armazenamento para
suportar todos os grupos de variáveis da RMON-MIB.
É suficiente que seja implementado um único desses grupos, para o elemento ser
considerado em conformidade com o RMON. Na especificação dos dispositivos são de-
finidos quais grupos de RMON eles suportam.
No caso de existirem múltiplos gerentes, o elemento RMON deve determinar
quais informações de gerenciamento devem ser encaminhadas para cada gerente.

Gerenciamento de Redes com SNMP | Protocolo de Gerenciamento RMON 69


70 Protocolo de Gerenciamento RMON | Gerenciamento de Redes com SNMP
8. Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c
A implementação do protocolo SNMP em Servidores Linux se dá geralmente
através do net-snmp (http://www.net-snmp.org). Na distribuição CentOS
(http://www.centos.org), utilizada durante todos os exemplo práticos, temos 4 pacotes
que fazem essa implementação:

 net-snmp: Binários, arquivos de configuração, arquivos de inicialização e


documentação;
 net-snmp-devel: Arquivos fontes;
 net-snmp-utils: Binários adicionais, como snmpget, snmpgetnext,
snmpset, snmpwalk, etc; e arquivos man;
 net-snmp-libs: Bibliotecas, documentações e MIBS default localizadas no
/usr/share/snmp/mibs.

8.1.Instalação dos binários


# yum -y install net-snmp net-snmp-devel net-snmp-utils net-snmp-
libs

8.2.Estrutura do net-snmp após a instalação dos binários


 /etc/rc.d/init.d/: Arquivos de inicialização;
 /etc/snmp: Arquivos de configuração;
 /etc/sysconfig/snmpd: Arquivos de configuração de sistema; geram o
/var/run/snmpd.pid;
 /usr/bin/ e /usr/sbin/: Binários do sistema;
 /usr/include/net-snmp: Arquivos fonte;
 /usr/lib64/: Bibliotecas 64 bits;
 /usr/share/doc/ e /usr/share/man/: Documentação;
 /usr/share/snmp: Arquivos e dados de configuração usados pelo sistema
e MIBs default;
 /var/lib/net-snmp: No momento em que o serviço é iniciado, carrega a
configuração do net-snmpd.conf e as mibs disponíveis no sistema;
 /var/run/net-snmp: Previsto para armazenar dados temporários de exe-
cução que descrevem o estado do sistema, como PIDs, por exemplo, que
no caso do CentOS é armazenado direto em /var/run/snmpd.pid.

8.3.Backup do arquivo de configuração original (snmpd.conf)


As boas práticas em administração de servidores nos sinalizam que é importante
realizar um backup dos arquivos de configuração originais de todo e qualquer serviço,
antes de realizarmos alterações nas condigurações padrão. A fora isso, no caso do
snmpd.conf, o mesmo é uma exelente fonte de estudos. Em nosso caso, vamos mover o
arquivo, pois em todos os exemplos criaremos o nosso próprio arquivo de configuração.

# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 71


Utilizando SNMP v1 e v2c
8.4. Configuração Básica de um Agente SNMP v1/v2c
Para que um servidor responda às solicitações do protocolo SNMP v1 e v2c, ele
só precisa de uma linha no seguinte formato:

rocommunity nome_da_comunidade
Representa uma comunidade com direito de leitura.

rwcommunity nome_da_comunidade
Representa uma comunidade com direito de leitura e escrita.

Podem ser informadas apenas comunidades com direito de leitura, comunidades


com direito de escrita ou ambas; basta colocar uma informação por linha.

# cat snmpd.conf
# /etc/snmp/snmpd.conf v1/v2c basico
#
rocommunity public
rwcommunity private
Após alterar o arquivo, é necessário reiniciar o serviço:

# service snmpd restart


O status do serviço pode ser verificado através do comando:

# service snmpd status

8.5.Acessando um Agente SNMP v1/v2c


8.5.1. Comando snmpget

A leitura de informações de um host é feita através do comando snmpget:

# snmpget -v 1 -c public localhost sysContact.0


SNMPv2-MIB::sysContact.0 = STRING: root@localhost

# snmpget -v 2c -c public localhost sysContact.0


SNMPv2-MIB::sysContact.0 = STRING: root@localhost

8.5.1.1. Explicando o comando:


 snmpget: Comando para ler informações do host;
 -v: Versão do protocolo – pode ser 1 ou 2c;
 -c: Comunidade, no nosso exemplo, public;
 localhost: Endereço do host ao qual será solicitada a informação, sendo
nome DNS ou IP.
 sysContact.0: Informação que será solicitada ao host.

Como pode ser observado acima, o servidor responde às solicitações da versão 1


e 2c do protocolo SNMP. Nesse caso solicitamos a informação sysContact.0, que corres-

72 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c | Gerenciamento


de Redes com SNMP
ponde ao responsável pelo host. Como isso não foi informado no arquivo de configura-
ção, a resposta é a default do sistema.

Por que sysContact.0 e não apenas sysContact? Como já mencionamos anterior-


mente, cada objeto possui uma identificação única, que é sua posição na árvore da MIB.
No caso do contato, teremos apenas um responsável cadastrado, mas se pensarmos, em
interfaces de rede, por exemplo, geralmente teremos mais de uma, e nesse caso poderí-
amos ler informações como:

A descrição da primeira interface de rede:

# snmpget -v 2c -c public localhost ifDescr.1


IF-MIB::ifDescr.1 = STRING: lo

A descrição da segunda interface de rede:

# snmpget -v 2c -c public localhost ifDescr.2


IF-MIB::ifDescr.2 = STRING: eth0

8.5.2. Comando snmpset

A alteração de informações de um host é feita através do comando snmpset, que


vai confirmar se a comunidade utilizada possui ou não privilégio suficiente para executar
essa ação:

# snmpset -v 1 -c public localhost sysContact.0 s aulas


Error in packet.
Reason: (noSuchName) There is no such variable name in this MIB.
Failed object: SNMPv2-MIB::sysContact.0

# snmpset -v 2c -c public localhost sysContact.0 s aulas


Error in packet.
Reason: noAccess
Failed object: SNMPv2-MIB::sysContact.0
Observe que na versão 2c as mensagens se tornaram mais claras, por isso sem-
pre que o host possuir suporte, é aconselhável utilizar a versão 2c. Nesses exemplos o
problema foi a utilização da comunidade public, que tem direito apenas de leitura no
host.

# snmpset -v 2c -c private localhost sysContact.0 s aulas


SNMPv2-MIB::sysContact.0 = STRING: aulas

8.5.2.1. Explicando o comando:


 snmpset: Comando para alterar informações do host;
 -v: Versão do protocolo – pode ser 1 ou 2c;
 -c: Comunidade – no nosso exemplo private;

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 73


Utilizando SNMP v1 e v2c
 localhost: Endereço do host ao qual será solicitada a informação, sendo
nome DNS ou IP.
 sysContact.0: Informação que será alterada no host;
 s: Tipo de dado da informação, neste caso String;
 aulas: Dado que será gravado no campo sysContact.0.

Observe que sempre que realizarmos uma alteração no host, receberemos uma
mensagem de retorno, que pode ser uma mensagem de falha ou a confirmação de que a
informação foi alterada, como no exemplo acima: “SNMPv2-MIB::sysContact.0 =
STRING: aulas”

8.5.3. Comando snmpgetnetxt

Sabendo da existência de uma determinada informação, podemos solicitar ao


host qual é a próxima informação, e assim percorrer todas as informações daquele host,
para isso utilizamos o comando snmpgetnext:

# snmpgetnext -v 2c -c public localhost sysContact.0


SNMPv2-MIB::sysName.0 = STRING: aulas
O comando retorna que a próxima informação depois de sysContact.0 é sysNa-
me.0, dado do tipo string, e que o valor atual é aulas: “SNMPv2-MIB::sysName.0 =
STRING: aulas”. sysName.0 é o campo que contem o nome que identifica este host.

Mais um exemplo:

# snmpgetnext -v 2c -c public localhost sysName.0


SNMPv2-MIB::sysLocation.0 = STRING: Unknown
O comando retorna que a próxima informação, depois de sysName.0, é sysLoca-
tion.0, dado do tipo string e que o valor atual é desconhecido: “SNMPv2-
MIB::sysLocation.0 = STRING: Unknown”. sysLocation.0 é o campo com a identificação
da localização do host.

8.5.4. Comando snmpwalk

O comando snmpgetnext é útil quando desejamos conhecer uma ou duas infor-


mações a partir de determinado ponto da árvore da MIB, mas para percorrermos um
galho inteiro ou mesmo toda a árvore, o mesmo se torna inviável. Para isso temos o co-
mando snmpwalk:

# snmpwalk -v 2c -c public localhost system


SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-
71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-
MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (88242)
0:14:42.42
SNMPv2-MIB::sysContact.0 = STRING: aulas

74 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c | Gerenciamento


de Redes com SNMP
SNMPv2-MIB::sysName.0 = STRING: aulas
SNMPv2-MIB::sysLocation.0 = STRING: Unknown

Neste exemplo percorremos todo o galho system; se o objetivo é ler todas as in-
formações do host, basta executar:

# snmpwalk -v 2c -c public localhost

8.5.5. Comando snmpbulkget

Conforme visto nos capítulos anteriores, na versão 2c do protocolo SNMP foram


acrescentadas as funções de Bulk* (bulkget, bulkwalk), que ao invés de trazer uma úni-
ca informação, trazem um bloco de informações da tabela na qual a informação está
contida, o que torna a execução dos comandos mais eficiente e consequentemente mais
rápida.

# snmpbulkget -v 2c -c public localhost system


SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-
71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-
MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (146987)
0:24:29.87
SNMPv2-MIB::sysContact.0 = STRING: aulas
SNMPv2-MIB::sysName.0 = STRING: aulas
SNMPv2-MIB::sysLocation.0 = STRING: Unknown
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (14) 0:00:00.14
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-
MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-
MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-
MIB::snmpFrameworkMIBCompliance
Nesse exemplo, o comando retornou toda a tabela system, mas veja o que acon-
tece ao solicitar uma única informação, sysLocation, por exemplo:

# snmpbulkget -v 2c -c public localhost sysLocation


SNMPv2-MIB::sysLocation.0 = STRING: Unknown
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (14) 0:00:00.14
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-
MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-
MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-
MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-
MIB::vacmBasicGroup
Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 75
Utilizando SNMP v1 e v2c
O bloco de informações começou na linha que continha a informação solicitada
“sysLocation.0”, e foi até sysORID.8, ao contrário da execução anterior, que foi até
sysORID.3.

8.5.6. Comando snmpbulkwalk

Ao executarmos o comando snmpbulkwalk, o resultado será o mesmo da execu-


ção do snmpwalk:

# snmpbulkwalk -v 2c -c public localhost system


SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-
71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-
MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (199795)
0:33:17.95
SNMPv2-MIB::sysContact.0 = STRING: aulas
SNMPv2-MIB::sysName.0 = STRING: aulas
SNMPv2-MIB::sysLocation.0 = STRING: Unknown
Entretanto, o tempo de resposta e o consumo de recursos da máquina são muito
menores:

# time snmpwalk -v 2c -c public localhost system


SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-
71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-
MIB::netSnmpAgentOIDs.10

real 0m0.623s
user 0m0.111s
sys 0m0.192s

# time snmpbulkwalk -v 2c -c public localhost system


SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-
71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-
MIB::netSnmpAgentOIDs.10

real 0m0.348s
user 0m0.112s
sys 0m0.114s

76 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c | Gerenciamento


de Redes com SNMP
8.5.7. Informações Adicionais

Vale a pena lembrar que esses comandos não são compatíveis com a versão 1 do
protocolo SNMP:

# snmpbulkget -v 1 -c public localhost system


snmpbulkget: Cannot send V2 PDU on V1 session (Sub-id not found:
(top) -> system)

# snmpbulkwalk -v 1 -c public localhost system


snmpbulkwalk: Cannot send V2 PDU on V1 session (Sub-id not found:
(top) -> system)
Mas e o que vem antes da informação: “SNMPv2-MIB::, IF-MIB::, DISMAN-
EVENT-MIB::”?. Esta informação nos diz quem foi a MIB que respondeu aquela solicita-
ção. Lembre-se: se eu não possuir a MIB do equipamento do qual estou solicitando as
informações, poderei ler o dado se souber a OID do objeto, mas não vou ter condições
de interpreta-lo. Por exemplo:

# snmpget -v 2c -c public localhost .1.3.6.1.2.1.2.2.1.2.1


IF-MIB::ifDescr.1 = STRING: lo
O OID .1.3.6.1.2.1.2.2.1.2.1 representa o objeto ifDescr.1. Podemos observar
acima que a resposta foi a mesma da execução anterior; agora veja o que acontece se eu
não possuir a MIB:

# snmpget -v 2c -c public localhost .1.3.6.1.2.1.2.2.1.2.1


SNMPv2-SMI::mib-2.2.2.1.2.1 = STRING: "lo"
Obtivemos a resposta “STRING: "lo"”, mas que dado é esse? Fica muito difícil
identificar, já se eu possuir a MIB, receberei a resposta “ifDescr.1 = STRING: lo”, muito
mais fácil de identificar o que é esse objeto. Além disso, aprenderemos um comando
que consulta o objeto na MIB e nos traz a descrição desse objeto, que nesse caso seria:

“A textual string containing information about the interface.


This string should include the name of the manufacturer, the product
name and the version of the interface hardware/software."
Por isso é tão importante possuir uma cópia da MIB de todos os equipamentos
que você deseja monitorar através do seu servidor de gerenciamento (Estação de geren-
ciamento).

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 77


Utilizando SNMP v1 e v2c
78 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c | Gerenciamento
de Redes com SNMP
9. Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3
A versão 3 do protocolo SNMP é focada em melhorias de segurança. Conforme
visto anteriormente, na versão 3 foram adotados:

 USM - User-based Security Model: Modelo de Segurança Baseada em


Usuários;
 VACM - View-based Access Control Model: Modelo de controle de acesso
baseado em visões;
 Configuração dinâmica de agentes SNMP utilizando comandos SNMP.

9.1.USM
Até a versão 2 do protocolo SNMP, o controle de acesso era baseado em comu-
nidades(communities) como public, private. Este é um sistema de segurança muito frágil
e limitado, pois se alguém descobre o nome da comunidade, tem acesso total ao host,
ainda que ele esteja configurado apenas para leitura. Disponibilizar essas informações a
uma pessoa mal intencionada é o mesmo que deixá-la visitar sua rede e realizar anota-
ções, e posteriormente montar o plano de ataque sem pressa alguma.

A partir do SNMPv3, os usuários e suas respectivas senhas devem ser cadastra-


dos na base de dados SNMP, sendo que esses dados são salvos criptografados.

9.2. VACM
Os usuários são colocados em grupos. São criadas views que representam partes
da árvore SNMP, semelhantes às views dos bancos de dados, ou compartilhamentos de
diretórios em servidores de arquivos. A view é o recurso que desejamos disponibilizar, e
por fim permissões são dadas para os grupos acessarem as views.

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 79


Utilizando SNMP v3
9.3.Modelo de Permissões VACM
Este esquema demonstra como esse processo é estruturado no arquivo de confi-
guração (snmpd.conf):

Figura 41 - snmpd.conf de acordo com o Modelo VACM

O primeiro passo é compartilhar os recursos, ou seja, definir as views:

view nome tipo sub-árvore máscara


view demoWrite included .1.3.6.1.4.1.2021.14.1.1
view demoRead included .1.3.6.1.4.1.2021.14.1.1
Neste caso, estamos definindo duas views, a view demoWrite e a view demoRe-
ad, e estamos incluindo a informação: .1.3.6.1.4.1.2021.14.1.1
(.iso.org.dod.internet.private.enterprises.ucdavis.ucdDemoMIB.ucdDemoMIBObjects.
ucdDemoPublic); este é o recurso que estamos disponibilizando. Fazendo uma analogia
com o servidor de arquivos, é como se existissem dois nomes de compartilhamento dife-
rentes para o mesmo diretório.

Esse segundo passo é opcional, pois podemos ter um host exclusivamente SNMP
v3 ou um host compatível com SNMP v1, v2c e v3. Nesse caso queremos um host com-
patível com todas as versões, e por isso vamos informar ao servidor que quando ele re-
ceber uma solicitação em nome de uma comunidade, ele vai transformar esse nome de
comunidade em um nome de usuário, essa linha faz este mapeamento:

com2sec nome origem comunidade


com2sec v2cUser default demopublic
Essa linha informa que toda vez que uma solicitação v1 ou v2c for realizada de
qualquer endereço IP, por isso a palavra “default”, com a comunidade demopublic, o
servidor deve interpretar isso como uma solicitação do usuário v2cuser.

80 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de


Redes com SNMP
O próximo passo é colocar os usuários existentes em grupos:

group nome modelo segurança


group demogroup v2c v2cUser
Essa linha indica que o usuário v2cUser será membro do grupo demogroup, e
que esse grupo só responde a solicitações da versão 2c do protocolo SNMP.

Por último, vamos definir qual é a permissão do grupo no recurso compartilhado,


exatamente como fazemos no compartilhamento de diretórios:

access nome contexto modelo nível prefixo


leitura escrita notificação
access demogroup “ ” any noauth prefix
demoRead demoWrite none
Essa linha indica que o grupo demogroup em qualquer contexto (“ ”), recebendo
solicitações de qualquer versão do protocolo, pois na linha anterior já foram definidas as
versões que ele vai responder, com nível de autenticação noauth e com prefixo do tipo
prefix, possui direito de leitura na view demoRead e escrita na view demoWrite, e que
não enviará notificações (Traps) para nenhum servidor.

9.4.Configuração Básica de um Agente SNMP v3 compatível com


SNMP v1/v2c
Como já dito, podemos ter um host configurado para trabalhar com o SNMP v3,
mas mantendo a compatibilidade com as versões 1 e 2c. Exemplo:

# cat snmpd.conf
# /etc/snmp/snmpd.conf compativel com v1 e v2c (snmpd.conf.2)
#
# view name inc/excl tree mask
view all included .1 80

#com2sec user source(IP,host...) community


com2sec readonly default public
com2sec readwrite default private

#group name v1/v2c/usm user


group compat v1 readonly
group compat v2c readonly
group compat1 v1 readwrite
group compat1 v2c readwrite

#access user context any/v1/v2c/usm level prefx


read write notify
access compat "" any
noauth exact all none none
access compat1 "" any
noauth exact all all none

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 81


Utilizando SNMP v3
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

9.4.1. Disponibilizando os recursos


9.4.1.1. Seção View
A primeira seção a ser configurada é a das "views", ou seja, partes da árvore de
OIDs que poderão ser visualizadas, e possui o seguinte formato:

view nome included/excluded parte_da_árvore_MIB máscara


Por exemplo:

view all included .1 80

9.4.1.2. Seção com2sec


A segunda seção trata do processo de associação entre as comunidades e os ní-
veis de acesso são realizados através das linhas com2sec, e possui o seguinte formato:

com2sec "security name" origem_da_requisição community


Por exemplo:

com2sec readonly default public


com2sec readwrite default private

9.4.1.3. Seção Group


O próximo passo é realizar a associação dos grupos de acessos à versão do pro-
tocolo snmp e a um "security name", definindo acessos a informações diferentes de-
pendendo da versão do protocolo utilizado. Estas linhas possuem o seguinte formato:

group grupo versão_do_protocolo “security_name”


Por exemplo:

group compat v1 readonly


group compat v2c readonly
group compat1 v1 readwrite
group compat1 v2c readwrite

9.4.1.4. Seção Access


Finalmente devem-se aplicar as permissões (visualizar/alterar) nas views pelos
grupos. A configuração padrão irá permitir que compat possa visualizar qualquer confi-
guração, enquanto compat1 poderá visualizar e alterar qualquer configuração. Possui o
seguinte formato:

access usuário contexto versão_do_protocolo level


prefixo read write notify

82 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de


Redes com SNMP
Por Exemplo:

access compat "" any noauth


exact all none none
access compat1 "" any noauth
exact all all none

9.4.1.5. Compreendendo os Parâmetros

9.4.1.5.1. Seção View


 View: Comando para definir uma nova view;
 Name: Nome da view;
 Included/Excluded: Partes da árvore MIB que serão incluídas ou excluídas
na view;
 Tree: As informações referentes à opção anterior, o que eu estou incluin-
do ou excluindo da view; posso, por exemplo, excluir a árvore toda (.1) e
depois disponibilizar apenas galhos da árvore, como por exemplo, as in-
formações referentes ao protocolo IP (.iso.org.dod.internet.mgmt.mib-
2.ip). Nesse caso essa view só apresentará essas informações;
 Mask: Máscara no formato hexadecimal; permite criar filtros avançados
dentro do galho disponibilizado.

9.4.1.5.2. Seção Com2sec:


 Com2sec: Comando para definir uma nova associação entre nome de co-
munidade (v1/v2c) e nível de acesso (v3);
 Name: Nome do usuário;
 Source: Origem da requisição, indica a máquina que pode realizar requisi-
ções nesse host. Pode ser informado no formato ip/prefixo ou pode-se
utilizar a palavra "default", que indica qualquer origem.
 Community: Nome da comunidade no modelo v1/v2c; esse nome será
passado no momento da requisição.

9.4.1.5.3. Seção Group:


 Group: Comando para definir um novo grupo;
 Name: Nome do grupo;
 Model: Versão do protocolo que o host aceita ao receber requisições:
o Qualquer versão: any;
o Requisições v1: v1;
o Requisições v2c: v2c;
o Requisições v3: usm.
 User: Nome do usuário que pertence ao grupo.

9.4.1.5.4. Seção Access:


 Access: Comando para definir um novo acesso;
 Group: Nome do grupo ao qual será liberado acesso;

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 83


Utilizando SNMP v3
 Context: Contexto ou escopo; é uma maneira de se criar filtros de acesso
para determinadas situações. Pode ser contexto em um dispositivo, con-
texto em um conjunto de dispositivos, etc. Por exemplo:
o Ler as informações de espaço em disco de todos os meus disposi-
tivos;
o Ler as informações de tráfego de portas do switch1;
o Ler as informações de tráfego de rede de entrada da porta 24 (...
ifTable.ifEntry.ifInOctets.24 ) do switch 2.
 Security Model: Versão do protocolo que o host aceita ao receber requi-
sições:
o Qualquer versão: any;
o Requisições v1: v1;
o Requisições v2c: v2c;
o Requisições v3: usm.
 Level: Nível de segurança da autenticação:
o NoAuth: Sem autenticação;
o Auth: Com autenticação;
o Priv: Autenticação com Criptografia.
 Prefix: Define o que será analisado no momento da requisição:
o Exact: A correspondência exata de prefixo e contexto;
o Prefix: Apenas o prefixo, que é o OID numérico ou identificação do
objeto como, por exemplo, “sysName”.
 Read: Qual view o grupo tem direito de leitura;
 Write: Qual view o grupo tem direito de escrita;
 Notify: Qual host receberá as notificações em caso de situações anormais
(Traps).

9.5.Acessando um Agente SNMP v3 compatível com SNMP v1/v2c:


# snmpget -v 1 -c public localhost sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: aulas

# snmpset -v 2c -c private localhost sysContact.0 s Curso


SNMPv2-MIB::sysContact.0 = STRING: Curso

# snmpgetnext -v 1 -c public localhost sysContact.0


SNMPv2-MIB::sysName.0 = STRING: aulas

# snmpwalk -v 2c -c public localhost system


SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-
71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-
MIB::netSnmpAgentOIDs.10

84 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de


Redes com SNMP
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (12017)
0:02:00.17
SNMPv2-MIB::sysContact.0 = STRING: Curso
SNMPv2-MIB::sysName.0 = STRING: aulas
SNMPv2-MIB::sysLocation.0 = STRING: Unknown

# snmpbulkget -v 2c -c public localhost system


SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-
71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-
MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (12831)
0:02:08.31
SNMPv2-MIB::sysContact.0 = STRING: Curso
SNMPv2-MIB::sysName.0 = STRING: aulas
SNMPv2-MIB::sysLocation.0 = STRING: Unknown
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (24) 0:00:00.24
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-
MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-
MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-
MIB::snmpFrameworkMIBCompliance
Como pode ser observado realizamos várias requisições v1 e v2c, utilizando tanto
a comunidade “public” quanto a “private” e o host respondeu perfeitamente às requisi-
ções, ou seja, podemos ter um host configurado para SNMP v3, mas mantendo a compa-
tibilidade com as versões anteriores se isso for uma necessidade do ambiente.

9.6.Configuração inicial de um Agente exclusivamente v3


Como abordado no inicio do artigo, o SNMP v3 é focado em segurança, por isso é
importante trabalhar exclusivamente com a versão 3, sempre que isso for possível no
seu ambiente.

9.6.1. Criar o usuário inicial com permissão de escrita:

# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 inicial (snmpd.conf.3)
#
# Declarando um usuário Inicial com permissão de escrita
rwuser initial

# Criando o usuário na base do snmp


#IMPORTANTE: Esta linha deve ser apagada após a adição dos novos
usuários
createUser initial MD5 setup_passphrase DES
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 85


Utilizando SNMP v3
Os usuários criptografados são armazenados no arquivo /var/lib/net-
snmp/snmpd.conf. Abaixo, seguem as diferenças entre o arquivo antes e depois da cria-
ção do usuário initial. NUNCA EDITE ESSE ARQUIVO!

/var/lib/net-snmp/snmpd.conf – Antes da adição do usuário Initial:

psyscontact aulas
setserialno 2003046206
engineBoots 13
/var/lib/net-snmp/snmpd.conf – Após adição do usuário Initial:

usmUser 1 3 0x80001f888056bd9740f0601d4f 0x696e697469616c00


0x696e697469616c00 NULL .1.3.6.1.6.3.10.1.1.2
0xa7b4e95eaa45873c69a0815fc1736d31 .1.3.6.1.6.3.10.1.2.2
0xa7b4e95eaa45873c69a0815fc1736d31 ""
psyscontact Curso
setserialno 2003046207
engineBoots 14
Podemos observar a linha que contem as informações referentes ao usuário ini-
tial, devidamente criptografada:

“usmUser 1 3 0x80001f888056bd9740f0601d4f 0x696e697469616c00


0x696e697469616c00 NULL .1.3.6.1.6.3.10.1.1.2
0xa7b4e95eaa45873c69a0815fc1736d31 .1.3.6.1.6.3.10.1.2.2
0xa7b4e95eaa45873c69a0815fc1736d31 ""”
O serial alterado:

setserialno 2003046207
E o número de vezes que o serviço foi reinicializado:

“engineBoots 14”

9.6.2. Criar os usuários adicionais:

# snmpusm -v 3 -u initial -n "" -x DES -l authNoPriv -a MD5 -A


setup_passphrase localhost create user1 initial
User successfully created.

# snmpusm -v 3 -u initial -n "" -x DES -l authNoPriv -a MD5 -A


setup_passphrase localhost create user2 initial
User successfully created.

# snmpusm -v 3 -u initial -n "" -x DES -l authNoPriv -a MD5 -A


setup_passphrase localhost create user3 initial
User successfully created.

86 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de


Redes com SNMP
9.6.2.1. Parâmetros:
 snmpusm: Comando para criar e manipular usuários;
 -v 3: Versão do protocolo SNMP;
 -u initial: -u (User) initial, nome do usuário com permissão de escrita;
 -n "": Contexto;
 -x DES: Tipo de criptografia usada na senha (DES ou AES) – protocolo usa-
do na privacidade;
 -l authNoPriv: Nível de segurança na autenticação, são três níveis:
o noAuthNoPriv: Sem autenticação e sem privacidade;
o authNoPriv: Com autenticação, sem privacidade;
o authPriv: Com autenticação e privacidade.
“For privacy, the Security Model defines what portion of the mes-
sage is encrypted.” – IEEE - rfc3411
 -a MD5: Tipo de Hash utilizado na senha (MD5 ou SHA);
 -A: A senha será “hasheada”; será criado um hash da senha;
 setup_passphrase: Senha do usuário initial;
 localhost: Nome DNS ou IP do Servidor;
 create user1 initial: Criar o usuário “user1”, clonando de “initial”; clona
inclusive a senha.

9.6.3. Alterar a senha dos usuários:

# snmpusm -v 3 -u initial -n "" -x DES -l authNoPriv -a MD5 -A


setup_passphrase localhost passwd setup_passphrase senhateste user1
SNMPv3 Key(s) successfully changed.

# snmpusm -v 3 -u initial -n "" -x DES -l authNoPriv -a MD5 -A


setup_passphrase localhost passwd setup_passphrase senhateste2 user2
SNMPv3 Key(s) successfully changed.

# snmpusm -v 3 -u initial -n "" -x DES -l authNoPriv -a MD5 -A


setup_passphrase localhost passwd setup_passphrase senhateste3 user3
SNMPv3 Key(s) successfully changed.

9.6.3.1. Parâmetros:
 passwd: Comando para alterar a senha;
 setup_passphrase: Senha atual do usuário “user1”;
 senhateste user1: Nova senha para o usuário “user1”, com mínimo de 8
caracteres.

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 87


Utilizando SNMP v3
/var/lib/net-snmp/snmpd.conf – Após adição dos usuários “user2”, “user3” e
“user4”:

usmUser 1 3 0x80001f888056bd9740f0601d4f 0x757365723100


0x757365723100 NULL .1.3.6.1.6.3.10.1.1.2
0x90d09d5d787216facf896a3540b462c9 .1.3.6.1.6.3.10.1.2.2
0x90d09d5d787216facf896a3540b462c9 0x
usmUser 1 3 0x80001f888056bd9740f0601d4f 0x757365723200
0x757365723200 NULL .1.3.6.1.6.3.10.1.1.2
0xf972172c26d4928dd2035e6c8d713d6f .1.3.6.1.6.3.10.1.2.2
0xf972172c26d4928dd2035e6c8d713d6f 0x
usmUser 1 3 0x80001f888056bd9740f0601d4f 0x757365723300
0x757365723300 NULL .1.3.6.1.6.3.10.1.1.2
0x4fb0c593d94929128c47e7809d88c4d6 .1.3.6.1.6.3.10.1.2.2
0x4fb0c593d94929128c47e7809d88c4d6 0x
usmUser 1 3 0x80001f888056bd9740f0601d4f 0x696e697469616c00
0x696e697469616c00 NULL .1.3.6.1.6.3.10.1.1.2
0xa7b4e95eaa45873c69a0815fc1736d31 .1.3.6.1.6.3.10.1.2.2
0xa7b4e95eaa45873c69a0815fc1736d31 0x
psyscontact Curso
setserialno 2003046208
engineBoots 15
Podemos observar as linhas que contem as informações referentes aos novos
usuários devidamente criptografada:

“usmUser 1 3 0x80001f888056bd9740f0601d4f 0x757365723100


0x757365723100 NULL .1.3.6.1.6.3.10.1.1.2
0x90d09d5d787216facf896a3540b462c9 .1.3.6.1.6.3.10.1.2.2
0x90d09d5d787216facf896a3540b462c9 0x
usmUser 1 3 0x80001f888056bd9740f0601d4f 0x757365723200
0x757365723200 NULL .1.3.6.1.6.3.10.1.1.2
0xf972172c26d4928dd2035e6c8d713d6f .1.3.6.1.6.3.10.1.2.2
0xf972172c26d4928dd2035e6c8d713d6f 0x
usmUser 1 3 0x80001f888056bd9740f0601d4f 0x757365723300
0x757365723300 NULL .1.3.6.1.6.3.10.1.1.2
0x4fb0c593d94929128c47e7809d88c4d6 .1.3.6.1.6.3.10.1.2.2
0x4fb0c593d94929128c47e7809d88c4d6 0x”
O serial alterado:

setserialno 2003046208
E o número de vezes que o serviço foi reinicializado:

“engineBoots 15”

88 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de


Redes com SNMP
9.6.4. snmpd.conf v3 básico:

# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 básico (snmpd.conf.4)
#
# mantive o usuário initial com permissão de escrita
rwuser initial

# Dei permissão de leitura aos 3 usuários


# recém-criados.
rouser user1
rouser user2
rouser user3
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

9.6.5. Acessando um Agente SNMP v3:

# snmpget -v 3 -u user3 -n "" -l authNoPriv -a MD5 -A senhateste3


-x DES localhost sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: Curso

# snmpset -v 3 -u initial -n "" -l authNoPriv -a MD5 -A se-


tup_passphrase -x DES localhost sysContact.0 s "André Déo"
SNMPv2-MIB::sysContact.0 = STRING: André Déo

# snmpgetnext -v 3 -u initial -n "" -l authNoPriv -a MD5 -A set-


up_passphrase -x DES localhost sysContact.0
SNMPv2-MIB::sysName.0 = STRING: aulas

# snmpbulkget -v 3 -u initial -n "" -l authNoPriv -a MD5 -A set-


up_passphrase -x DES localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-
71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-
MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (19793)
0:03:17.93
SNMPv2-MIB::sysContact.0 = STRING: André Déo
SNMPv2-MIB::sysName.0 = STRING: aulas
SNMPv2-MIB::sysLocation.0 = STRING: Unknown
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (19) 0:00:00.19
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-
MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-
MIB::usmMIBCompliance

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 89


Utilizando SNMP v3
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-
MIB::snmpFrameworkMIBCompliance

9.6.6. snmpd.conf v3 com VACM devidamente configurado:

# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 devidamente configurado (snmpd.conf.5)
# Definir as Views
# view nome incl/excl. sub-árvore máscara
View all included .1 80
view ip included iso.org.dod.internet.mgmt.mib-2.ip

# Agrupar os usuários
#group nome modelo_de_segurança usuário
group rogroup1 usm user1
group rogroup1 usm user2
group rogroup2 usm user3
group rwgroup usm initial

# Atribuir Permissões aos grupos


#access grupo contexto mod_seg nível_seg
coincidir ler alterar notificar
access rogroup2 “” any noauth
exact ip none none
access rogroup1 “” any noauth
exact all none none
access rwgroup “” any noauth
exact all all none
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

9.6.6.1. Acessando um Agent SNMP v3:


# snmpget -v 3 -u user3 -n "" -l authNoPriv -a MD5 -A senhateste3
-x DES localhost sysContact.0
SNMPv2-MIB::sysContact.0 = No Such Object available on this agent
at this OID
Esse erro ocorre porque o usuário user3 faz parte do grupo rogroup2, cuja única
permissão é ler a view ip, que disponibiliza o galho .iso.org.dod.internet.mgmt.mib-2.ip,
no qual não existe a informação sysContact.0.

# snmpget -v 3 -u user2 -n "" -l authNoPriv -a MD5 -A senhateste2


-x DES localhost sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: André Déo
O usuário user2 faz parte do grupo rogroup1, cuja permissão é de leitura na view
all, que disponibiliza a raiz inteira da MIB (.1). Portanto, ele pode ler a informação sys-
Contact.0.

90 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de


Redes com SNMP
# snmpset -v 3 -u user2 -n "" -l authNoPriv -a MD5 -A se-
tup_passphrase -x DES localhost sysLocation.0 s Curso
snmpset: Authentication failure (incorrect password, community or
key) (Sub-id not found: (top) -> sysLocation)
Esse erro ocorre porque o user2 não possui privilégios de escrita na view all.

# snmpset -v 3 -u initial -n "" -l authNoPriv -a MD5 -A set-


up_passphrase -x DES localhost sysLocation.0 s Curso
SNMPv2-MIB::sysLocation.0 = STRING: Curso
O usuário initial faz parte do grupo rwgroup, cuja permissão é de leitura e escrita
na view all, que disponibiliza a raiz inteira da MIB (.1). Portanto ele pode alterar a infor-
mação sysLocation.0.

# snmpbulkwalk -v 3 -u user3 -n "" -l authNoPriv -a MD5 -A senha-


teste3 -x DES localhost
IP-MIB::ipForwarding.0 = INTEGER: notForwarding(2)
IP-MIB::ipDefaultTTL.0 = INTEGER: 64
IP-MIB::ipInReceives.0 = Counter32: 6946
IP-MIB::ipInHdrErrors.0 = Counter32: 0
IP-MIB::ipInAddrErrors.0 = Counter32: 7
IP-MIB::ipForwDatagrams.0 = Counter32: 0
...
IP-MIB::ipDefaultRouterLifetime.ipv4."192.168.1.1".2 = Gauge32:
4294967295 seconds
IP-MIB::ipDefaultRouterPreference.ipv4."192.168.1.1".2 = INTEGER:
medium(0)
IP-MIB::ipDefaultRouterPreference.ipv4."192.168.1.1".2 = No more
variables left in this MIB View (It is past the end of the MIB tree)
O usuário user3 faz parte do grupo rogroup2, cuja única permissão é ler a view
ip, que disponibiliza o galho .iso.org.dod.internet.mgmt.mib-2.ip. Por isso todas as in-
formações apresentadas são da MIB “IP-MIB”.

Outro detalhe interessante é a mensagem no final da execução do comando “No


more variables left in this MIB View (It is past the end of the MIB tree)”. Todas as vezes
que essa mensagem for apresentada não significa que você não chegou ao fim da MIB,
significa que você chegou ao fim da sua permissão. Se não for essa a sua intenção, é
preciso revisar a configuração do host e alterar o que for necessário.

9.7.Configuração inicial de um Agente exclusivamente v3 com Auten-


ticação e Privacidade
Nesse capítulo veremos como criar um usuário SNMP v3 com o nível máximo de
segurança. Se o seu ambiente permite a configuração exclusiva da versão 3, não tem
porque não aproveitar ao máximo os recursos oferecidos por ela.

9.7.1. Criar o usuário inicial com permissão de escrita:

# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 inicial com autenticação e privacidade
(snmpd.conf.6)
Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 91
Utilizando SNMP v3
#
# Declarando um usuário Inicial com permissão de escrita
rwuser initial

# Criando o usuário na base do snmp


#IMPORTANTE: Esta linha deve ser apagada após a adição dos novos
usuários
createUser initial MD5 setup_passphrase DES setup_passkey
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

9.7.2. Criar os usuários adicionais:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l au-


thPriv -a MD5 -A setup_passphrase localhost create user1 initial
User successfully created.

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l


authPriv -a MD5 -A setup_passphrase localhost create user2 initial
User successfully created.

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l


authPriv -a MD5 -A setup_passphrase localhost create user3 initial
User successfully created.

9.7.2.1. Parâmetros:
 snmpusm: Comando para criar e manipular usuários;
 -v 3: Versão do protocolo SNMP;
 -u initial: -u (User) initial, nome do usuário com permissão de escrita;
 -n "": Contexto;
 -x DES: Tipo de criptografia usada na senha (DES ou AES) – protocolo usa-
do na privacidade;
 -X setup_passkey: Chave criptográfica;
 -l authPriv: Nível de segurança na autenticação; são três níveis:
o noAuthNoPriv: Sem autenticação e sem privacidade;
o authNoPriv: Com autenticação, sem privacidade;
o authPriv: Com autenticação e privacidade.
“For privacy, the Security Model defines what portion of the mes-
sage is encrypted.” – IEEE - rfc3411
 -a MD5: Tipo de Hash utilizado na senha (MD5 ou SHA);
 -A: A senha será “hasheada”; será criado um hash da senha;
 setup_passphrase: Senha do usuário initial;
 localhost: Nome DNS ou IP do Servidor;
 create user1 initial: Criar o usuário “user1”; clonando de “initial”, clona
inclusive a senha.
92 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de
Redes com SNMP
9.7.2.2. Outro exemplo:
# snmpusm -v3 -u initial -n "" -l authPriv -x DES -X 123 -a MD5 -
A 234 localhost create user1 initial

9.7.2.2.1. Parâmetros:
“-x DES -X 123 -a MD5 -A 234”: Criptografia do tipo DES (-x), chave criptográfica
“123” (-X), hash do tipo MD5 (-a), chave criptográfica “234” (-A). Veja este trecho do
man snmpcmd:

-a authProtocol
Set the authentication protocol (MD5 or SHA) used for authenti-
cated SNMPv3 messages. Overrides the defAuthType token in the snmp.conf
file.
-A authPassword
Set the authentication pass phrase used for authenticated SNMPv3
messages. Overrides the defAuthPassphrase token in the snmp.conf file.
It is insecure to specify pass phrases on the command line, see
snmp.conf(5).
-x privProtocol
Set the privacy protocol (DES or AES) used for encrypted SNMPv3
messages. Overrides the defPrivType token in the snmp.conf file. This
option is only valid if the Net-SNMP software was build to use OpenSSL.
-X privPassword
Set the privacy pass phrase used for encrypted SNMPv3 messages.
Overrides the defPrivPassphrase token in the snmp.conf file. It is in-
secure to specify pass phrases on the command line, see snmp.conf(5).

9.7.3. Alterar a senha dos usuários:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l au-


thPriv -a MD5 -A setup_passphrase localhost -Ca passwd setup_passphrase
senhateste user1
SNMPv3 Key(s) successfully changed.

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l


authPriv -a MD5 -A setup_passphrase localhost -Ca passwd set-
up_passphrase senhateste2 user2
SNMPv3 Key(s) successfully changed.

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l


authPriv -a MD5 -A setup_passphrase localhost -Ca passwd set-
up_passphrase senhateste3 user3
SNMPv3 Key(s) successfully changed.

9.7.3.1. Parâmetros:
 -Ca: Alterar a chave de autenticação;
 passwd: Comando para alterar a senha;
 setup_passphrase: Senha atual do usuário “user1”;
Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 93
Utilizando SNMP v3
 senhateste user1: Nova senha para o usuário “user1”, com mínimo de 8
caracteres.

9.7.4. Alterar a chave dos usuários:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l


authPriv -a MD5 -A setup_passphrase localhost -Cx passwd setup_passkey
senha_key user1
SNMPv3 Key(s) successfully changed.

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l


authPriv -a MD5 -A setup_passphrase localhost -Cx passwd setup_passkey
senha_key2 user2
SNMPv3 Key(s) successfully changed.

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l


authPriv -a MD5 -A setup_passphrase localhost -Cx passwd setup_passkey
senha_key3 user3
SNMPv3 Key(s) successfully changed.

9.7.4.1. Parâmetros:
 -Cx: Alterar a chave de privacidade;
 passwd: Comando para alterar a senha;
 setup_passkey: Chave atual do usuário “user1”;
 senha_key user1: Nova chave para o usuário “user1”, com mínimo de 8
caracteres.

9.7.5. snmpd.conf v3 básico:

# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 básico com autenticação e privacidade
(snmpd.conf.7)
#
# mantive o usuário initial com permissão de escrita
rwuser initial

# Dei permissão de leitura aos 3 usuários


# recém-criados.
rouser user1
rouser user2
rouser user3
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

94 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de


Redes com SNMP
9.7.6. Acessando um Agente SNMP v3:

# snmpget -v 3 -u user1 -n "" -x DES -X senha_key -l authPriv -a


MD5 -A senhateste localhost sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: Curso

# snmpset -v 3 -u initial -n "" -x DES -X setup_passkey -l au-


thPriv -a MD5 -A setup_passphrase localhost sysContact.0 s "André Déo"
SNMPv2-MIB::sysContact.0 = STRING: André Déo

# snmpgetnext -v 3 -u user3 -n "" -x DES -X senha_key3 -l


authPriv -a MD5 -A senhateste3 localhost sysContact.0
SNMPv2-MIB::sysName.0 = STRING: aulas

# snmpbulkget -v 3 -u user2 -n "" -x DES -X senha_key2 -l


authPriv -a MD5 -A senhateste2 localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-
71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-
MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (19793)
0:03:17.93
SNMPv2-MIB::sysContact.0 = STRING: André Déo
SNMPv2-MIB::sysName.0 = STRING: aulas
SNMPv2-MIB::sysLocation.0 = STRING: Unknown
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (19) 0:00:00.19
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-
MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-
MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-
MIB::snmpFrameworkMIBCompliance

9.7.7. snmpd.conf v3 com VACM devidamente configurado:

# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 devidamente configurado com autentica-
ção e privacidade (snmpd.conf.8)
# Definir as Views
# view nome incl/excl. sub-árvore máscara
View all included .1 80
view ip included iso.org.dod.internet.mgmt.mib-2.ip

# Agrupar os usuários
#group nome modelo_de_segurança usuário
group rogroup1 usm user1
group rogroup1 usm user2
group rogroup2 usm user3
Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 95
Utilizando SNMP v3
group rwgroup usm initial

# Atribuir Permissões aos grupos


#access grupo contexto mod_seg nível_seg
coincidir ler alterar notificar
access rogroup2 “” any noauth
exact ip none none
access rogroup1 “” any noauth
exact all none none
access rwgroup “” any noauth
exact all all none
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

9.7.7.1. Acessando um Agent SNMP v3:


# snmpget -v 3 -u user3 -n "" -x DES -X senha_key3 -l authPriv -a
MD5 -A senhateste3 localhost sysContact.0
SNMPv2-MIB::sysContact.0 = No Such Object available on this agent
at this OID
Esse erro ocorre porque o usuário user3 faz parte do grupo rogroup2, cuja única
permissão é ler a view ip, que disponibiliza o galho .iso.org.dod.internet.mgmt.mib-2.ip,
no qual não existe a informação sysContact.0.

# snmpget -v 3 -u user2 -n "" -x DES -X senha_key2 -l authPriv -a


MD5 -A senhateste2 localhost sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: André Déo
O usuário user2 faz parte do grupo rogroup1, cuja permissão é de leitura na view
all, que disponibiliza a raiz inteira da MIB (.1). Portanto, ele pode ler a informação sys-
Contact.0.

# snmpset -v 3 -u user2 -n "" -x DES -X senha_key2 -l authPriv -a


MD5 -A senhateste2 localhost sysLocation.0 s Curso
Error in packet.
Reason: noAccess
Failed object: SNMPv2-MIB::sysLocation.0
Esse erro ocorre porque o user2 não possui privilégios de escrita na view all.

# snmpset -v 3 -u initial -n "" -x DES -X setup_passkey -l


authPriv -a MD5 -A setup_passphrase localhost sysLocation.0 s Curso
SNMPv2-MIB::sysLocation.0 = STRING: Curso
O usuário initial faz parte do grupo rwgroup, cuja permissão é de leitura e escrita
na view all, que disponibiliza a raiz inteira da MIB (.1). Portanto, ele pode alterar a in-
formação sysLocation.0.

# snmpbulkwalk -v 3 -u user3 -n "" -x DES -X senha_key3 -l au-


thPriv -a MD5 -A senhateste3 localhost
IP-MIB::ipForwarding.0 = INTEGER: notForwarding(2)
IP-MIB::ipDefaultTTL.0 = INTEGER: 64
96 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de
Redes com SNMP
IP-MIB::ipInReceives.0 = Counter32: 6946
IP-MIB::ipInHdrErrors.0 = Counter32: 0
IP-MIB::ipInAddrErrors.0 = Counter32: 7
IP-MIB::ipForwDatagrams.0 = Counter32: 0
...
IP-MIB::ipDefaultRouterLifetime.ipv4."192.168.1.1".2 = Gauge32:
4294967295 seconds
IP-MIB::ipDefaultRouterPreference.ipv4."192.168.1.1".2 = INTEGER:
medium(0)
IP-MIB::ipDefaultRouterPreference.ipv4."192.168.1.1".2 = No more
variables left in this MIB View (It is past the end of the MIB tree)
O usuário user3 faz parte do grupo rogroup2, cuja única permissão é ler a view
ip, que disponibiliza o galho .iso.org.dod.internet.mgmt.mib-2.ip, e por isso todas as
informações apresentadas são da MIB “IP-MIB”.

9.8.Segurança em SNMP V3:


“Estou usando apenas SNMP v3 na minha rede, por isso estou seguro” – Será
mesmo?

O SNMP v3 só garante a segurança quando usamos o nível máximo de autentici-


dade e privacidade (authPriv), pois nesse modelo a senha e os dados são transmitidos
na rede de forma criptografada.

9.8.1. Requisição SNMP v2

Figura 302 - Requisição SNMP v2

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 97


Utilizando SNMP v3
Figura 313 - Tráfego SNMP v2 capturado – Dados em texto plano

9.8.2. Requisição SNMP v3com Autenticação

Figura 44 - Requisição SNMP v3 com Autenticação

98 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de


Redes com SNMP
Figura 45 - Tráfego SNMP v3 capturado – Dados em texto plano

9.8.3. Requisição SNMP v3com Autenticação e Privacidade

Figura 46 - Requisição SNMP v3 com Autenticação e Privacidade

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 99


Utilizando SNMP v3
Figura 47 - Tráfego SNMP v3 capturado – Dados Criptografados

100 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de


Redes com SNMP
10.Monitorando Recursos do Sistema
Essas informações são compatíveis com todas as versões do protocolo SNMP, no
entanto, vou continuar com a versão 3 do protocolo SNMP, sempre acrescentando a
nova informação ao final do arquivo anterior.

10.1. Informações do Sistema


# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 devidamente configurado – Informações
do Sistema (snmpd.conf.9)
...
# local
syslocation Curso
# Contato
syscontact André Déo andredeo@gmail.com
# Descricao
sysdescr Computador do curso
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

10.1.1. Acessando o Agent SNMP para leitura de informações do


sistema

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost sysLocation.0
SNMPv2-MIB::sysLocation.0 = STRING: Curso

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: André Déo andredeo@gmail.com

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Computador do Curso

10.2. Monitoramento de Processos


# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 devidamente configurado – Monitoramento
de Processos (snmpd.conf.10)
...
# proc processo máximo mínimo
proc httpd 9 5
proc mysqld 3
proc postfix
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 101


As saídas estarão abaixo do OID: .1.3.6.1.4.1.2021.2.1 – enterpri-
ses.ucdavis.prTable.prEntry (), sendo elas:

 .1.X prIndex = INTEGER: 1


 .2.X prNames = STRING: httpd
 .3.X prMin = INTEGER: 5
 .4.X prMax = INTEGER: 9
 .5.X prCount = INTEGER: 10
 .100.X prErrorFlag = INTEGER: error(1)
 .101.X prErrMessage = STRING: Too many httpd running (# = 10)
 .102.X prErrFix = INTEGER: noError(0)
 .103.X prErrFixCmd = STRING:

10.2.1. Acessando o Agent SNMP para leitura de informações


sobre processos

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.1.1
UCD-SNMP-MIB::prIndex.1 = INTEGER: 1
Número de índice do processo 1: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.2.1
UCD-SNMP-MIB::prNames.1 = STRING: httpd
Nome do processo 1: httpd

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.3.1
UCD-SNMP-MIB::prMin.1 = INTEGER: 5
Número mínimo de processos do processo 1: 5

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.4.1
UCD-SNMP-MIB::prMax.1 = INTEGER: 9
Número máximo de processos do processo 1: 9

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.5.1
UCD-SNMP-MIB::prCount.1 = INTEGER: 10
Contagem de processos do processo 1: 10

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.100.1
UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: error(1)
Processo 1 está com flag de erro: error(1)

102 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP


# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste
-x DES localhost .1.3.6.1.4.1.2021.2.1.101.1
UCD-SNMP-MIB::prErrMessage.1 = STRING: Too many httpd running (#
= 10)
Mensagem de erro do processo 1: Too many httpd running (# = 10)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.102.1
UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)
Executar correções quando ocorrer erro no processo 1: noError(0)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.103.1
UCD-SNMP-MIB::prErrFixCmd.1 = STRING:
Comando a ser executado quando ocorrer erro no processo 1:

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.2.2
UCD-SNMP-MIB::prNames.2 = STRING: mysqld
Nome do processo 2: mysqld

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.3.2
UCD-SNMP-MIB::prMin.2 = INTEGER: 0
Número mínimo de processos do processo 2: 0

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.4.2
UCD-SNMP-MIB::prMax.2 = INTEGER: 3
Número máximo de processos do processo 2: 3

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.5.2
UCD-SNMP-MIB::prCount.2 = INTEGER: 1
Contagem de processos do processo 2: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.2.3
UCD-SNMP-MIB::prNames.3 = STRING: postfix
Nome do processo 3: postfix

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.3.3
UCD-SNMP-MIB::prMin.3 = INTEGER: 0
Número mínimo de processos do processo 3: 0

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.2.1.4.3
UCD-SNMP-MIB::prMax.3 = INTEGER: 0
Número máximo de processos do processo 3: 0
Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 103
# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste
-x DES localhost .1.3.6.1.4.1.2021.2.1.5.3
UCD-SNMP-MIB::prCount.3 = INTEGER: 0
Contagem de processos do processo 3: 0

10.3. Monitoramento de uso de disco


# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 devidamente configurado – Monitoramento
de uso de disco (snmpd.conf.11)
...
#disk Ponto de Montagem Espaço/Porcentagem mínima dis-
ponível
disk / 90%
disk /boot 60000
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart


As saídas estarão abaixo do OID: .1.3.6.1.4.1.2021.9.1 – enterpri-
ses.ucdavis.dskTable.dskEntry (), sendo elas:

 .1.X dskIndex = INTEGER: 1


 .2.X dskPath = STRING: /
 .3.X dskDevice = STRING: /dev/sda3
 .4.X dskMinimum = INTEGER: -1
 .5.X dskMinPercent = INTEGER: 90
 .6.X dskTotal = INTEGER: 7638904
 .7.X dskAvail = INTEGER: 2114148
 .8.X dskUsed = INTEGER: 5136712
 .9.X dskPercent = INTEGER: 71
 .10.X dskPercentNode = INTEGER: 41
 .100.X dskErrorFlag = INTEGER: error(1)
 .101.X dskErrorMsg = less than 90% free (= 71%)

10.3.1. Acessando o Agent SNMP para leitura de informações


sobre o disco

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.1.1
UCD-SNMP-MIB::dskIndex.1 = INTEGER: 1
Número de índice do ponto de montagem 1: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.2.1
UCD-SNMP-MIB::dskPath.1 = STRING: /
Ponto de montagem 1: /

104 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP


# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste
-x DES localhost .1.3.6.1.4.1.2021.9.1.3.1
UCD-SNMP-MIB::dskDevice.1 = STRING: /dev/sda3
Partição do ponto de montagem 1: /dev/sda3

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.4.1
UCD-SNMP-MIB::dskMinimum.1 = INTEGER: -1
Espaço mínimo no ponto de montagem 1: Não configurado (-1)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.5.1
UCD-SNMP-MIB::dskMinPercent.1 = INTEGER: 90
Porcentagem mínima no ponto de montagem 1: 90(%)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.6.1
UCD-SNMP-MIB::dskTotal.1 = INTEGER: 7638904
Tamanho do ponto de montagem 1: 7638904

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.7.1
UCD-SNMP-MIB::dskAvail.1 = INTEGER: 2114148
Espaço livre no ponto de montagem 1: 2114148

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.8.1
UCD-SNMP-MIB::dskUsed.1 = INTEGER: 5136712
Espaço utilizado no ponto de montagem 1: 5136712

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.9.1
UCD-SNMP-MIB::dskPercent.1 = INTEGER: 71
Percentual utilizado no ponto de montagem 1: 71(%)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.10.1
UCD-SNMP-MIB::dskPercentNode.1 = INTEGER: 41
Percentual de inodes usados no ponto de montagem 1: 41(%)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.100.1
UCD-SNMP-MIB::dskErrorFlag.1 = INTEGER: error(1)
Ponto de montagem 1 está com flag de erro: error(1)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.101.1
UCD-SNMP-MIB::dskErrorMsg.1 = STRING: /: less than 90% free (=
71%)
Mensagem de erro no ponto de montagem 1: less than 90% free (= 71%)
Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 105
# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste
-x DES localhost .1.3.6.1.4.1.2021.9.1.2.2
UCD-SNMP-MIB::dskPath.2 = STRING: /boot
Ponto de montagem 2: /boot

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.3.2
UCD-SNMP-MIB::dskDevice.2 = STRING: /dev/sda1
Partição do ponto de montagem 2: /dev/sda1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.4.2
UCD-SNMP-MIB::dskMinimum.2 = INTEGER: 50000
Espaço mínimo no ponto de montagem 2: 50000

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.9.1.5.2
UCD-SNMP-MIB::dskMinPercent.2 = INTEGER: -1
Porcentagem mínima no ponto de montagem 2: Não configurado (-1)

10.4. Monitoramento de Carga do sistema


# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 devidamente configurado – Monitoramento
de Carga do sistema (snmpd.conf.12)
...
#Limite máximo de carga nos últimos 1min 5min 15min
load 1 5 5
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart


As saídas estarão abaixo do OID: .1.3.6.1.4.1.2021.10.1 – enterpri-
ses.ucdavis.dskTable.dskEntry (), sendo elas:

 .1.1 laIndex = INTEGER: 1


 .1.2 laIndex = INTEGER: 2
 .1.3 laIndex = INTEGER: 3
 .2.1 laNames = STRING: Load-1
 .2.2 laNames = STRING: Load-5
 .2.3 laNames = STRING: Load-15
 .3.1 laLoad = STRING: 3.77
 .3.2 laLoad = STRING: 1.39
 .3.3 laLoad = STRING: 0.50
 .4.1 laConfig = STRING: 1.00
 .4.2 laConfig = STRING: 5.00
 .4.3 laConfig = STRING: 5.00
 .5.1 laLoadInt = INTEGER: 210
 .5.2 laLoadInt = INTEGER: 126
 .5.3 laLoadInt = INTEGER: 48

106 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP


 .6.1 laLoadFloat = Opaque: Float: 1.780000
 .6.2 laLoadFloat = Opaque: Float: 1.200000
 .6.3 laLoadFloat = Opaque: Float: 0.480000
 .100.1 laErrorFlag = INTEGER: error(1)
 .100.2 laErrorFlag = INTEGER: noError(0)
 .100.3 laErrorFlag = INTEGER: noError(0)
 .101.1 laErrMessage = STRING: 1 min Load Average too high (=
1.27)
 .101.2 laErrMessage = STRING:
 .101.3 laErrMessage = STRING:

10.4.1. Acessando o Agent SNMP para leitura de informações


sobre Carga de sistema (Load)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.1.1
UCD-SNMP-MIB::laIndex.1 = INTEGER: 1
Número de índice do Load 1: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.1.2
UCD-SNMP-MIB::laIndex.2 = INTEGER: 2
Número de índice do Load 2: 2

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.1.3
UCD-SNMP-MIB::laIndex.3 = INTEGER: 3
Número de índice do Load 3: 3

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.2.1
UCD-SNMP-MIB::laNames.1 = STRING: Load-1
Nome do Load 1: Load-1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.2.2
UCD-SNMP-MIB::laNames.2 = STRING: Load-5
Nome do Load 2: Load-5

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.2.3
UCD-SNMP-MIB::laNames.3 = STRING: Load-15
Nome do Load 3: Load-15

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.3.1
UCD-SNMP-MIB::laLoad.1 = STRING: 3.77
Carga do Load 1: 3.77

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 107


# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste
-x DES localhost .1.3.6.1.4.1.2021.10.1.3.2
UCD-SNMP-MIB::laLoad.2 = STRING: 1.39
Carga do Load 2: 1.39

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.3.3
UCD-SNMP-MIB::laLoad.3 = STRING: 0.50
Carga do Load 3: 0.50

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.4.1
UCD-SNMP-MIB::laConfig.1 = STRING: 1.00
Configuração de limite do Load 1: 1.00

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.4.2
UCD-SNMP-MIB::laConfig.2 = STRING: 5.00
Configuração de limite do Load 2: 5.00

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.4.3
UCD-SNMP-MIB::laConfig.3 = STRING: 5.00
Configuração de limite do Load 3: 5.00

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.5.1
UCD-SNMP-MIB::laLoadInt.1 = INTEGER: 210
Conversão da leitura do Load 1 para inteiro: 210

“The 1, 5 and 15 minute load averages as an integer. This is com-


puted by taking the floating point loadaverage value and multiplying by
100, then converting the value to an integer.”

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.5.2
UCD-SNMP-MIB::laLoadInt.2 = INTEGER: 126
Conversão da leitura do Load 2 para inteiro: 126

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.5.3
UCD-SNMP-MIB::laLoadInt.3 = INTEGER: 48
Conversão da leitura do Load 3 para inteiro: 48

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.6.1
UCD-SNMP-MIB::laLoadFloat.1 = Opaque: Float: 1.780000
Leitura do Load 1 em Float: 1.780000

108 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP


“The 1,5 and 15 minute load averages as an opaquely wrapped
floating point number.”

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.6.2
UCD-SNMP-MIB::laLoadFloat.2 = Opaque: Float: 1.200000
Leitura do Load 2 em Float: 1.200000

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.6.3
UCD-SNMP-MIB::laLoadFloat.3 = Opaque: Float: 0.480000
Leitura do Load 3 em Float: 0.480000

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.100.1
UCD-SNMP-MIB::laErrorFlag.1 = INTEGER: error(1)
Load 1 está com erro: error(1)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.100.2
UCD-SNMP-MIB::laErrorFlag.2 = INTEGER: noError(0)
Load 2 está com erro: noError(0)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.100.3
UCD-SNMP-MIB::laErrorFlag.3 = INTEGER: noError(0)
Load 3 está com erro: noError(0)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.101.1
UCD-SNMP-MIB::laErrMessage.1 = STRING: 1 min Load Average too
high (= 1.27)
Mensagem de erro do Load 1: 1 min Load Average too high (= 1.27)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.101.2
UCD-SNMP-MIB::laErrMessage.2 = STRING:
Mensagem de erro do Load 2:

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.10.1.101.3
UCD-SNMP-MIB::laErrMessage.3 = STRING:
Mensagem de erro do Load 3:

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 109


10.5. Monitoramento de Tamanho de arquivo
# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 devidamente configurado – Monitoramento
de Tamanho de arquivo (snmpd.conf.13)
...
# Tamanho do arquivo
#file Caminho_do_arquivo tamanho_maximo (kB)
file /etc/services 16
file /boot/grub/menu.lst 4
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart


As saídas estarão abaixo do OID: .1.3.6.1.4.1.2021.15.1 – enterpri-
ses.ucdavis.fileTable.fileEntry (), sendo elas:

 .1.X fileIndex = INTEGER: 1


 .2.X fileName = STRING: /etc/services
 .3.X fileSize = INTEGER: 626 kB
 .4.X fileMax = INTEGER: 16 kB
 .100.X fileErrorFlag = INTEGER: error(1)
 .101.X fileErrorMsg = STRING: /etc/services: size exceeds 16kb (=
626kb)

10.5.1. Acessando o Agent SNMP para leitura de informações


sobre tamanho de arquivo

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.15.1.1.1
UCD-SNMP-MIB::fileIndex.1 = INTEGER: 1
Número de índice do Arquivo 1: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.15.1.2.1
UCD-SNMP-MIB::fileName.1 = STRING: /etc/services
Nome do Arquivo 1: /etc/services

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.15.1.3.1
UCD-SNMP-MIB::fileSize.1 = INTEGER: 626 kB
Tamanho do Arquivo 1: 626 kB

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.15.1.4.1
UCD-SNMP-MIB::fileMax.1 = INTEGER: 16 kB
Tamanho Máximo do Arquivo 1: 16 kB

110 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP


# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste
-x DES localhost .1.3.6.1.4.1.2021.15.1.100.1
UCD-SNMP-MIB::fileErrorFlag.1 = INTEGER: error(1)
Arquivo 1 está com flag de erro: error(1)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.15.1.101.1
UCD-SNMP-MIB::fileErrorMsg.1 = STRING: /etc/services: size ex-
ceeds 16kb (= 626kb)
Mensagem de erro do Arquivo 1: /etc/services: size exceeds 16kb (= 626kb)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.15.1.1.2
UCD-SNMP-MIB::fileIndex.2 = INTEGER: 2
Número de índice do Arquivo 2: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.15.1.2.2
UCD-SNMP-MIB::fileName.2 = STRING: /boot/grub/menu.lst
Nome do Arquivo 2: /boot/grub/menu.lst

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.15.1.3.2
UCD-SNMP-MIB::fileSize.2 = INTEGER: 1 kB
Tamanho do Arquivo 2: 1 kB

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.15.1.4.2
UCD-SNMP-MIB::fileMax.2 = INTEGER: 4 kB
Tamanho Máximo do Arquivo 2: 4 kB

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.15.1.100.2
UCD-SNMP-MIB::fileErrorFlag.2 = INTEGER: noError(0)
Arquivo 2 está com flag de erro: noError(0)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.15.1.101.2
UCD-SNMP-MIB::fileErrorMsg.2 = STRING:
Mensagem de erro do Arquivo 2:

10.6. Monitoramento utilizando um comando customizado


# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 devidamente configurado – Monitoramento
utilizando um comando customizado (snmpd.conf.14)
...
#exec Nome comando Parâmetros
exec Teste1 /bin/cat /etc/passwd

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 111


Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

As saídas estarão abaixo do OID: .1.3.6.1.4.1.2021.8.1 – enterpri-


ses.ucdavis.extTable.extEntry (), sendo elas:

 .1.X extIndex = INTEGER: 1


 .2.X extNames = STRING: Teste1
 .3.X extCommand = STRING: /bin/cat
 .100.X extResult = INTEGER: 0
 .101.X extOutput = STRING: ... 1ª linha da saída do comando ...
 .102.X extErrFix = INTEGER: noError(0)
 .103.X extErrFixCmd = STRING:

10.6.1. Acessando o Agent SNMP para leitura de informações


com comandos customizados

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.8.1.1.1
UCD-SNMP-MIB::extIndex.1 = INTEGER: 1
Número de índice do Comando 1: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.8.1.2.1
UCD-SNMP-MIB::extNames.1 = STRING: Teste1
Nome do Comando 1: Teste1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.8.1.3.1
UCD-SNMP-MIB::extCommand.1 = STRING: /bin/cat
Comando 1 sem parâmetros: /bin/cat

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.8.1.100.1
UCD-SNMP-MIB::extResult.1 = INTEGER: 0
Código de execução (exit status) do Comando 1: 0

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.8.1.101.1
UCD-SNMP-MIB::extOutput.1 = STRING:
root:x:0:0:root:/root:/bin/bash
Resultado da execução do Comando 1, exibe apenas a primeira linha: ro-
ot:x:0:0:root:/root:/bin/bash

112 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP


# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste
-x DES localhost .1.3.6.1.4.1.2021.8.1.102.1
UCD-SNMP-MIB::extErrFix.1 = INTEGER: noError(0)
Executar comando para corrigir erros, se Comando 1 apresentar erro: noError(0)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost .1.3.6.1.4.1.2021.8.1.103.1
UCD-SNMP-MIB::extErrFixCmd.1 = STRING:
Comando a ser executado, caso a opção anterior esteja configurada como 1:

Mostrar apenas a primeira linha do resultado não é útil na maioria dos casos, po-
rém, olhando no /etc/snmp/snmpd.conf, encontramos outras OID que armazenam a
informação toda. Por questões óbvias vou usar o /etc/fstab neste exemplo:

# snmpwalk -On -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A sen-


hateste -x DES localhost .1.3.6.1.4.1.8072.1.3.2
.1.3.6.1.4.1.8072.1.3.2.1.0 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.2.1.2.6.84.101.115.116.101.49 = STRING:
/bin/cat
.1.3.6.1.4.1.8072.1.3.2.2.1.3.6.84.101.115.116.101.49 = STRING:
/etc/fstab
.1.3.6.1.4.1.8072.1.3.2.2.1.4.6.84.101.115.116.101.49 = STRING:
.1.3.6.1.4.1.8072.1.3.2.2.1.5.6.84.101.115.116.101.49 = INTEGER:
5
.1.3.6.1.4.1.8072.1.3.2.2.1.6.6.84.101.115.116.101.49 = INTEGER:
exec(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.7.6.84.101.115.116.101.49 = INTEGER:
run-on-read(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.20.6.84.101.115.116.101.49 = INTEGER:
permanent(4)
.1.3.6.1.4.1.8072.1.3.2.2.1.21.6.84.101.115.116.101.49 = INTEGER:
active(1)
.1.3.6.1.4.1.8072.1.3.2.3.1.1.6.84.101.115.116.101.49 = STRING:
.1.3.6.1.4.1.8072.1.3.2.3.1.2.6.84.101.115.116.101.49 = STRING:
#
# /etc/fstab
# Created by anaconda on Wed Jul 13 08:18:09 2011
#
# Accessible filesystems, by reference, are maintained under
'/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for
more info
#
UUID=971a8fa5-5800-4737-b2cd-731a986164f4 /
ext4 defaults 1 1
UUID=16eba1c5-2469-4129-b056-64aeb35bb7c4 /boot
ext4 defaults 1 2
UUID=29082312-bca7-41c5-a2b7-fe2acb1d54d2 swap
swap defaults 0 0
tmpfs /dev/shm tmpfs defaults
0 0

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 113


devpts /dev/pts devpts
gid=5,mode=620 0 0
sysfs /sys sysfs defaults
0 0
proc /proc proc defaults
0 0
.1.3.6.1.4.1.8072.1.3.2.3.1.3.6.84.101.115.116.101.49 = INTEGER:
15
.1.3.6.1.4.1.8072.1.3.2.3.1.4.6.84.101.115.116.101.49 = INTEGER:
0
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.1 = STRING:
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.2 = STRING:
#
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.3 = STRING:
# /etc/fstab
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.4 = STRING:
# Created by anaconda on Wed Jul 13 08:18:09 2011
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.5 = STRING:
#
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.6 = STRING:
# Accessible filesystems, by reference, are maintained under
'/dev/disk'
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.7 = STRING:
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more
info
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.8 = STRING:
#
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.9 = STRING:
UUID=971a8fa5-5800-4737-b2cd-731a986164f4 / ext4
defaults 1 1
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.10 =
STRING: UUID=16eba1c5-2469-4129-b056-64aeb35bb7c4 /boot
ext4 defaults 1 2
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.11 =
STRING: UUID=29082312-bca7-41c5-a2b7-fe2acb1d54d2 swap
swap defaults 0 0
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.12 =
STRING: tmpfs /dev/shm tmpfs de-
faults 0 0
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.13 =
STRING: devpts /dev/pts devpts
gid=5,mode=620 0 0
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.14 =
STRING: sysfs /sys sysfs de-
faults 0 0
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.15 =
STRING: proc /proc proc de-
faults 0 0

114 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP


Alguns detalhes a serem observados:

Usei o comando “snmpwalk -On” para que fossem exibidos os OIDs numéricos.

No OID .1.3.6.1.4.1.8072.1.3.2.3.1.3.6.84.101.115.116.101.49 é exibida a quan-


tidade de linhas que a execução do comando retornou (INTEGER: 15), e esse número
será a base para as próximas OIDs, retornando uma linha por OID:

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.1 = STRING:
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.2 = STRING:
#
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.3 = STRING:
# /etc/fstab
...
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.14 =
STRING: sysfs /sys sysfs de-
faults 0 0
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.15 =
STRING: proc /proc proc de-
faults 0 0

10.7. Monitoramento utilizando um comando customizado, com


OID personalizada
# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 devidamente configurado – Monitoramento
utilizando um comando customizado com OID personalizada (snmpd.conf.15)
...
# Caso seja especificado um OID, a saída difere um pouco:
#extend OID Nome comando Parâmetros
extend .1.1.1.1.1 Teste2 /bin/cat /etc/fstab
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart


As saídas estarão abaixo do OID especificado, sendo elas:

 .1.0 = INTEGER: 1
 .2.1.2.6.84.101.115.116.101.50 = STRING: "/bin/cat"
 .2.1.3.6.84.101.115.116.101.50 = STRING: "/etc/fstab"
 .2.1.4.6.84.101.115.116.101.50 = ""
 .2.1.5.6.84.101.115.116.101.50 = INTEGER: 5
 .2.1.6.6.84.101.115.116.101.50 = INTEGER: 1
 .2.1.7.6.84.101.115.116.101.50 = INTEGER: 1
 .2.1.20.6.84.101.115.116.101.50 = INTEGER: 4
 .2.1.21.6.84.101.115.116.101.50 = INTEGER: 1
 .3.1.2.6.84.101.115.116.101.50 = STRING: "saída do comando"

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 115


10.7.1. Acessando o Agent SNMP para leitura de informações
com comandos customizados usando OID personalizada

# snmpwalk -On -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A sen-


hateste -x DES localhost .1.1.1.1.1
.1.1.1.1.1.1.0 = INTEGER: 1
.1.1.1.1.1.2.1.2.6.84.101.115.116.101.50 = STRING: "/bin/cat"
.1.1.1.1.1.2.1.3.6.84.101.115.116.101.50 = STRING: "/etc/fstab"
.1.1.1.1.1.2.1.4.6.84.101.115.116.101.50 = ""
.1.1.1.1.1.2.1.5.6.84.101.115.116.101.50 = INTEGER: 5
.1.1.1.1.1.2.1.6.6.84.101.115.116.101.50 = INTEGER: 1
.1.1.1.1.1.2.1.7.6.84.101.115.116.101.50 = INTEGER: 1
.1.1.1.1.1.2.1.20.6.84.101.115.116.101.50 = INTEGER: 4
.1.1.1.1.1.2.1.21.6.84.101.115.116.101.50 = INTEGER: 1
.1.1.1.1.1.3.1.1.6.84.101.115.116.101.50 = ""
.1.1.1.1.1.3.1.2.6.84.101.115.116.101.50 = STRING: "
#
# /etc/fstab
# Created by anaconda on Wed Jul 13 08:18:09 2011
#
# Accessible filesystems, by reference, are maintained under
'/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for
more info
#
UUID=971a8fa5-5800-4737-b2cd-731a986164f4 /
ext4 defaults 1 1
UUID=16eba1c5-2469-4129-b056-64aeb35bb7c4 /boot
ext4 defaults 1 2
UUID=29082312-bca7-41c5-a2b7-fe2acb1d54d2 swap
swap defaults 0 0
tmpfs /dev/shm tmpfs defaults
0 0
devpts /dev/pts devpts
gid=5,mode=620 0 0
sysfs /sys sysfs defaults
0 0
proc /proc proc defaults
0 0"
.1.1.1.1.1.3.1.3.6.84.101.115.116.101.50 = INTEGER: 15
.1.1.1.1.1.3.1.4.6.84.101.115.116.101.50 = INTEGER: 0
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.1 = ""
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.2 = STRING: "#"
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.3 = STRING: "#
/etc/fstab"
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.4 = STRING: "# Created
by anaconda on Wed Jul 13 08:18:09 2011"
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.5 = STRING: "#"
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.6 = STRING: "# Accessi-
ble filesystems, by reference, are maintained under '/dev/disk'"
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.7 = STRING: "# See man
pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info"
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.8 = STRING: "#"

116 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP


.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.9 = STRING:
"UUID=971a8fa5-5800-4737-b2cd-731a986164f4 / ext4
defaults 1 1"
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.10 = STRING:
"UUID=16eba1c5-2469-4129-b056-64aeb35bb7c4 /boot ext4
defaults 1 2"
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.11 = STRING:
"UUID=29082312-bca7-41c5-a2b7-fe2acb1d54d2 swap swap
defaults 0 0"
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.12 = STRING: "tmpfs
/dev/shm tmpfs defaults 0 0"
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.13 = STRING: "devpts
/dev/pts devpts gid=5,mode=620 0 0"
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.14 = STRING: "sysfs
/sys sysfs defaults 0 0"
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.15 = STRING: "proc
/proc proc defaults 0 0"

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 117


118 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP
11.Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos
Especiais e Exemplos
Aqui estão alguns exemplos de configurações mais complexas, incluindo suporte
a diferentes views para um usuário SNMP v3 com base em seu nível de segurança.

11.1. Views VACM, ou Como restringir o acesso a determinados


ramos da árvore
Para restringir o acesso a determinados ramos da árvore usamos a string “exclu-
ded”, primeiro negando e depois liberando:

# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 Como restringir o acesso a determinados
ramos da árvore (snmpd.conf.16)
...
view all excluded .1
view all included sysUpTime.0
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart


Como podemos observar no arquivo acima, excluímos a árvore inteira e incluí-
mos apenas a informação sysUpTime.0, ou seja ,a única informação disponível sobre
esse host será essa.

11.1.1. Acessando o Agent SNMP com acesso restrito (sysUpTi-


me.0)

# snmpwalk -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (15753)
0:02:37.53
DISMAN-EVENT-MIB::sysUpTimeInstance = No more variables left in
this MIB View (It is past the end of the MIB tree)
Mais um exemplo; vamos disponibilizar também a informação do número de ín-
dice da primeira interface de rede do host.

11.1.2. Acessando o Agent SNMP com acesso restrito (interfa-


ces.ifTable.ifEntry.infIndex.1)

# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 Como restringir o acesso a determinados
ramos da árvore (snmpd.conf.17)
...
view all excluded .1
view all included sysUpTime.0
view all included interfac-
es.ifTable.ifEntry.ifIndex.1

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 119


Utilizando SNMP v3 - Casos Especiais e Exemplos
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

# snmpwalk -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2395)
0:00:23.95
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.1 = No more variables left in this MIB View (It
is past the end of the MIB tree)
Por último, vou liberar apenas o sysUpTime.0 e as informações referentes as in-
terfaces de rede do host.

11.1.3. Acessando o Agent SNMP com acesso restrito (interfa-


ces.ifTable.ifEntry)

# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 Como restringir o acesso a determinados
ramos da árvore (snmpd.conf.18)
...
view all excluded .1
view all included sysUpTime.0
view all included interfaces.ifTable.ifEntry
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

# snmpwalk -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (16119)
0:02:41.19
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: eth0

IF-MIB::ifSpecific.1 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.2 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.2 = No more variables left in this MIB View
(It is past the end of the MIB tree)

120 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e


Exemplos | Gerenciamento de Redes com SNMP
11.2. Máscaras VACM, ou Como restringir o acesso a um determi-
nado índice (linha) em uma Tabela
Usando a diretiva view no snmpd.conf, pode-se limitar os usuários a uma única
linha em uma tabela. Para fazer isso, o parâmetro opcional mask é especificado. Aqui
está um trecho do man page:

view NAME TYPE SUBTREE [MASK]


view NAME define o nome da view. TYPE se ela será incluída (in-
cluded) ou excluída (excluded). MASK é uma lista de octetos hexadeci-
mais, separados por '.' ou ':'. A MASK default será "ff" se não for
especificada.
A razão da mascara é que ela permite que você controle o acesso a
uma linha em uma tabela, de uma maneira relativamente simples. Por e-
xemplo, como um provedor de internet (ISP) você pode considerar dar a-
cesso para cada cliente a sua própria interface:
view cust1 included interfaces.ifTable.ifEntry.ifIndex.1 ff.a0
view cust2 included interfaces.ifTable.ifEntry.ifIndex.2 ff.a0
(interfaces.ifTable.ifEntry.ifIndex.1 == .1.3.6.1.2.1.2.2.1.1.1,
ff.a0 == 11111111.10100000. Engloba, inclusive, o índice da linha, mas
permite ao usuário variar o campo (coluna) da linha)
Nota: O caractere separador da mascara pode ser "." ou ":".
Então, um exemplo um pouco mais visual sobre isso:
.1.3.6.1.2.1.2.2.1.1.1 == interfaces.ifTable.ifEntry.ifIndex.1
1 1 1 1 1 1 1 1 1 0 1 (00000) == (ff.a0)
^ ^ ^ ^
| | | |-- o índice (the index)
| | |---- a coluna (the column)
| |------ ifEntry
|-------- ifTable
Assim, cada bit na máscara indica se os OID correspondentes devem
coincidir (1) ou não (0). No exemplo acima, todas as partes do OID ex-
ceto a coluna (the column) devem coincidir. Então, essa visão permite o
acesso a qualquer coluna da primeira linha no ifTable. Assim, combinado
com uma linha excluída (excluded) para o ifTable, somente a linha 1 es-
taria acessível para o usuário.
Agora, para trazê-lo todos juntos com outras diretrizes de con-
trole de acesso. Assumindo 2 clientes, e cada um está conectado a uma
interface específica (por ex. cliente 1 está conectado à eth0 e cliente
2 está conectado a eth1):
####
# Primeiro, mapear o nome da comunidade (COMMUNITY) para um nome
de
# acesso (security name)
# (local ou minha_rede, dependendo da origem da requisição):
#
# sec.name source community
com2sec local localhost secret42
com2sec cust1_sec 192.168.1.0/24 public
com2sec cust2_sec 192.168.2.0/24 public

####
# Segundo, mapear o nome de acesso em um nome de grupo:
Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 121
Utilizando SNMP v3 - Casos Especiais e Exemplos
# sec.model sec.name
Group MyRWGroup v1 local
group MyRWGroup v2c local

group cust1_grp v1 cust1_sec


group cust1_grp v2c cust1_sec

group cust2_grp v1 cust2_sec


group cust2_grp v2c cust2_sec

####
# Terceiro, criar as views para definir quais são os direitos dos
# grupos:

# incl/excl subtree
mask
view all included .1

view cust1_v excluded .1


view cust1_v included sysUpTime.0
view cust1_v included interfaces.ifTable.ifEntry.ifIndex.1
ff.a0

view cust2_v excluded .1


view cust2_v included sysUpTime.0
view cust2_v included interfaces.ifTable.ifEntry.ifIndex.2
ff.a0

####
# Por fim, definir as views para os grupos:

# context sec.model sec.level match


read write notif
access MyRWGroup "" any noauth exact
all all none
access cust1_grp "" any noauth exact
cust1_v none none
access cust2_grp "" any noauth exact
cust2_v none none

É importante notar que isso funciona porque os clientes estão em


redes diferentes. Se todos os clientes estão na mesma rede, o tráfego
de rede pode ser capturado por um analisador de redes (sniffer), o que
pode expor a "comunidade" ("community string") de um cliente para outro
cliente, permitindo que o segundo cliente possa visualizar as estatís-
ticas de interface de rede do primeiro cliente via SNMP. Neste caso,
você deve usar os recursos de criptografia oferecidos pelo SNMPv3
(usm), em vez de strings de comunidade SNMPv1 e SNMPv2.

122 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e


Exemplos | Gerenciamento de Redes com SNMP
Vamos liberar acesso à informação sysUpTime.0 e a todas as informações (pode
variar a coluna) da interface 2 (não pode mudar de linha) do host. Para ilustrar, é como
se essa view montasse a seguinte tabela referente às informações de rede:
ifIndex

ifDescr

ifType
ifMtu
ifSpeed
ifPhysAddress
ifAdminStatus
ifOperStatus
ifLastChange
ifInOctets
ifInUcastPkts
ifInNUcastPkts
ifInDiscards
ifInErrors
ifInUnknownProtos
ifOutOctets
ifOutUcastPkts
ifOutNUcastPkts
ifOutDiscards
ifOutErrors
ifOutQLen
ifSpecific
l
1
lo
e
2
eth0
E
3
eth1
Tabela 04 – Tabela referente às informações de rede

Podemos variar a coluna, que contém as descrições das informações, mas esta-
mos presos na linha 2, ou seja, podemos ver qualquer informação referente a eth0.

# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 Como restringir o acesso a um determi-
nado índice (linha) em uma Tabela (snmpd.conf.19)
...
view all excluded .1
view all included sysUpTime.0
view all included interfaces.ifTable.ifEntry.ifIndex.2 ff.a0
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux 123


Utilizando SNMP v3 - Casos Especiais e Exemplos
11.2.1. Acessando o Agent SNMP com acesso restrito – Uso do
parâmetro mask

# snmpwalk -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (115102)
0:19:11.02
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifDescr.2 = STRING: eth0
IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6)

IF-MIB::ifOutQLen.2 = Gauge32: 0
IF-MIB::ifSpecific.2 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.2 = No more variables left in this MIB View
(It is past the end of the MIB tree)
Outro exemplo; desejo liberar apenas as informações de descrição, e estados
administrativo e operacional das interfaces do sistema:

# cat snmpd.conf
# /etc/snmp/snmpd.conf v3 Como restringir o acesso a um determi-
nado índice (linha) em uma Tabela (snmpd.conf.20)
...
view all excluded .1
view all included sysUpTime.0
view all included .1.3.6.1.2.1.2.2.1.2 FF.C0
view all included .1.3.6.1.2.1.2.2.1.7 FF.C0
view all included .1.3.6.1.2.1.2.2.1.8 FF.C0
Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

11.2.2. Acessando o Agent SNMP com acesso restrito – Uso do


parâmetro mask

# snmpwalk -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (379) 0:00:03.79
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: eth0
IF-MIB::ifAdminStatus.1 = INTEGER: up(1)
IF-MIB::ifAdminStatus.2 = INTEGER: up(1)
IF-MIB::ifOperStatus.1 = INTEGER: up(1)
IF-MIB::ifOperStatus.2 = INTEGER: up(1)
IF-MIB::ifOperStatus.2 = No more variables left in this MIB View
(It is past the end of the MIB tree)

124 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e


Exemplos | Gerenciamento de Redes com SNMP
12.Comandos SNMP úteis
Apresento a seguir uma série de comandos SNMP que são úteis nas tarefas diá-
rias.

12.1. Simplificando comandos por meio de definições de valores


pré-definidos
Os comandos na versão 3 são complexos e longos, o que dificulta bastante no
dia-a-dia para guardar a sintaxe e executá-los sem erro.

Mas existe uma maneira de simplificar isso: o net-snmp, que nos permite definir
variáveis de configuração, válidas para a execução de todos os comandos.

# cd ~

# pwd
/root

# mkdir .snmp

# cd .snmp

# cat snmp.conf
defversion 3
defsecurityname initial
defsecuritylevel authPriv
defauthtype MD5
defauthpassphrase setup_passphrase
defprivtype DES
defprivpassphrase setup_passkey

12.1.1. Parâmetros:

 defversion: Versão do protocolo a ser utilizada;


 defsecurityname: Nome de usuário v3;
 defsecuritylevel: Nível de autenticação do usuário;
 defauthtype: Método de autenticação;
 defauthpassphrase: Senha do usuário;
 defprivtype: Protocolo de privacidade;
 defprivpassphrase: Senha de privacide;

Gerenciamento de Redes com SNMP | Comandos SNMP úteis 125


12.1.2. Acessando o Agent SNMP

# snmpget -v 3 -u initial -n "" -x DES -X setup_passkey -l


authPriv -a MD5 -A setup_passphrase localhost sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: André Déo
Essa era a sintaxe dos comandos utilizados até esse momento.

# snmpget localhost sysContact.0


SNMPv2-MIB::sysContact.0 = STRING: André Déo
Essa é a nova sintaxe de comandos, após a definição dos valores pré-definidos.

12.1.3. Comando snmpconf

O comando snmpconf automatiza o processo, e pode ser usado para gerar vários
arquivos de configuração, inclusive o citado acima.

# snmpconf
The following installed configuration files were found:

1: /etc/snmp/snmpd.conf
2: /etc/snmp/snmptrapd.conf

Would you like me to read them in? Their content will be merged
with the
output files created by this session.

Valid answer examples: "all", "none","3","1,2,5"

Read in which (default = all):

I can create the following types of configuration files for you.


Select the file type you wish to create:
(you can create more than one as you run this program)

A primeira opção nos informa quais arquivos de configuração foram encontra-


dos, que esses arquivos podem ser lidos e que as informações futuras serão mescladas
com os arquivos atuais.

Solicita ainda que seja escolhido um deles; o default é a opção “all”. Basta pres-
sionar “Enter” para selecionar a opção default.

I can create the following types of configuration files for you.


Select the file type you wish to create:
(you can create more than one as you run this program)

1: snmpd.conf
2: snmp.conf
3: snmptrapd.conf

Other options: quit

126 Comandos SNMP úteis | Gerenciamento de Redes com SNMP


Select File: 2

A segunda opção nos informa quais arquivos podem ser gerados e solicita que seja escolhida
uma das opções.

Nesse caso escolha a opção “2”, que gera o arquivo snmp.conf.

The configuration information which can be put into snmp.conf is


divided
into sections. Select a configuration section for snmp.conf
that you wish to create:

1: Default Authentication Options


2: Output style options
3: Textual mib parsing
4: Debugging output options

Other options: finished

Select section: 1

A terceira seção solicita que seja escolhida qual seção do arquivo de configuração será alterada.

Nesse caso escolha a opção 1, seção de Opções Padrões de Autenticação.

Section: Default Authentication Options


Description:
This section defines the default authentication
information. Setting these up properly in your
~/.snmp/snmp.conf file will greatly reduce the amount of
command line arguments you need to type (especially for
snmpv3).

Select from:

1: The default port number to use


2: The default snmp version number to use.
3: The default snmpv1 and snmpv2c community name to use when
needed.
4: The default snmpv3 security name to use when using snmpv3
5: The default snmpv3 context name to use
6: The default snmpv3 security level to use
7: The default snmpv3 authentication type name to use
8: The default snmpv3 authentication pass phrase to use
9: The default snmpv3 privacy (encryption) type name to use
10: The default snmpv3 privacy pass phrase to use

Other options: finished, list

Select section:

Gerenciamento de Redes com SNMP | Comandos SNMP úteis 127


Nesse momento são apresentadas 10 opções; escolha as opções uma por vez, e
informe os parâmetros desejados.

Select section: finished

Depois utilize a opção “finished”, para encerrar esse menu de opções.

The configuration information which can be put into snmp.conf is


divided
into sections. Select a configuration section for snmp.conf
that you wish to create:

1: Default Authentication Options


2: Output style options
3: Textual mib parsing
4: Debugging output options

Other options: finished

Select section: finished

Retorna às opções anteriores. Utilize a opção “finished” para encerrar.

I can create the following types of configuration files for you.


Select the file type you wish to create:
(you can create more than one as you run this program)

1: snmpd.conf
2: snmp.conf
3: snmptrapd.conf

Other options: quit

Select File: quit

Retorna às opções iniciais. Utilize a opção “quit” para encerrar.

128 Comandos SNMP úteis | Gerenciamento de Redes com SNMP


The following files were created:

snmp.conf

These files should be moved to /usr/share/snmp if you


want them used by everyone on the system. In the future, if you
add
the -i option to the command line I'll copy them there automati-
cally for you.

Or, if you want them for your personal use only, copy them to
/root/.snmp . In the future, if you add the -p option to the
command line I'll copy them there automatically for you.
Mensagem padrão com instruções adicionais.

12.2. Variações na forma como o resultado da consulta é exibido


12.2.1. Exibição padrão

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste


-x DES localhost ifDescr.2
IF-MIB::ifDescr.2 = STRING: eth0

12.2.2. Exibindo o OID Completo

-Of: Exibe o OID completo.

# snmpget -Of -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A sen-


hateste -x DES localhost ifDescr.2
.iso.org.dod.internet.mgmt.mib-
2.interfaces.ifTable.ifEntry.ifDescr.2 = STRING: eth0

12.2.3. Exibindo o OID completo na forma numérica

-On: Exibe o OID completo na forma numérica.

# snmpget -On -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A sen-


hateste -x DES localhost ifDescr.2
.1.3.6.1.2.1.2.2.1.2.2 = STRING: eth0

12.2.4. Exibindo o OID abreviado

-Oq: Exibe o OID abreviado; apenas o final do OID.

# snmpget -Oq -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senha-


teste -x DES localhost ifDescr.2
IF-MIB::ifDescr.2 eth0

Gerenciamento de Redes com SNMP | Comandos SNMP úteis 129


12.2.5. Exibindo o OID abreviado na forma numérica

-Oqn: Exibe o OID abreviado; apenas o final do OID na forma numérica.

# snmpget -Oqn -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senha-


teste -x DES localhost ifDescr.2
.1.3.6.1.2.1.2.2.1.2.2 eth0

12.2.6. Exibindo apenas o valor, sem OID

-Ov: Exibe apenas o valor, sem o OID.

# snmpget -Ov -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senha-


teste -x DES localhost ifDescr.2
STRING: eth6

12.3. Traduzindo Informações


12.3.1. Exibindo o OID numérico de um objeto

-On -lb / -On -IR: Exibe o OID numérico de um objeto.

# snmptranslate -On -Ib sysUptime


.1.3.6.1.2.1.1.3

# snmptranslate -On -IR sysUpTime


.1.3.6.1.2.1.1.3

12.3.2. Exibindo o OID nominal de um objeto:

-Of -Ib / -Of -IR: Exibe o OID nominal de um objeto.

# snmptranslate -Of -Ib sysUptime


.iso.org.dod.internet.mgmt.mib-2.system.sysUpTime

# snmptranslate -Of -IR sysUpTime


.iso.org.dod.internet.mgmt.mib-2.system.sysUpTime

12.3.3. Exibindo o OID numérico de um objeto e sua descrição:

-On -Ib -Td: Exibe o OID numérico de um objeto e sua descrição.

# snmptranslate -On -Ib -Td sysUptime


.1.3.6.1.2.1.1.3
sysUpTime OBJECT-TYPE
-- FROM SNMPv2-MIB, RFC1213-MIB
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current

130 Comandos SNMP úteis | Gerenciamento de Redes com SNMP


DESCRIPTION "The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized."
::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1)
3 }
Exibindo o OID nominal de um objeto e sua descrição:
# snmptranslate -Of -Ib -Td sysUptime
.iso.org.dod.internet.mgmt.mib-2.system.sysUpTime
sysUpTime OBJECT-TYPE
-- FROM SNMPv2-MIB, RFC1213-MIB
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION "The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized."
::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1)
3 }

12.3.4. Exibindo o OID nominal de um OID numérico:

# snmptranslate .1.3.6.1.2.1.1.3
SNMPv2-MIB::sysUpTime

12.3.5. Exibindo a descrição de um OID numérico:

# snmptranslate -Td .1.3.6.1.2.1.1.3


SNMPv2-MIB::sysUpTime
sysUpTime OBJECT-TYPE
-- FROM SNMPv2-MIB, RFC1213-MIB
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION "The time (in hundredths of a second) since the
network management portion of the system was last
re-initialized."
::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1)
3 }

Gerenciamento de Redes com SNMP | Comandos SNMP úteis 131


12.3.6. Exibindo a hierarquia da MIB a partir de um galho:

# snmptranslate -Tp -IR system

Figura 48 – Hierarquia do galho System

12.3.7. Exibindo a Tabela de Informações no formato de tabela:

# snmptable -v 3 -u initial -n "" -l authNoPriv -a MD5 -A set-


up_passphrase -x DES localhost sysORTable

Figura 49 - Tabela sysORTable

132 Comandos SNMP úteis | Gerenciamento de Redes com SNMP


13.Utilizando o SNMP em ativos de rede
Os conceitos adquiridos nessa apostila servem de base para que você possa con-
figurar SNMP em ativos de redes como Swithes e Roteadores, por exemplo.

13.1. Switch D-Link


13.1.1. Definir as views

Figura 50 - Definindo as view no ativo

13.1.2. Mapear nome de comunidade para nome de acesso

Figura 51 - com2sec no ativo

Gerenciamento de Redes com SNMP | Utilizando o SNMP em ativos de rede 133


13.1.3. Definir os grupos

Figura 52 - Definindo os grupos no ativo

13.1.4. Definir acesso do grupo na view

Figura 53 - Definindo acesso dos grupos nas views no ativo

134 Utilizando o SNMP em ativos de rede | Gerenciamento de Redes com SNMP


13.1.5. Definir o IP do gerente

Figura 54 - Definindo IP do gerente no ativo

13.2. Router Cisco


13.2.1. Habilitar SNMP v1/v2c

Os comandos abaixo são usados para habilitar o SNMP v1/v2c no roteador CISCO.

Router_C2600>enable
Router_C2600#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router_C2600(config)#snmp-server community public RO
Router_C2600(config)#snmp-server community private RW
Router_C2600(config)#exit
Router_C2600#
Router_C2600#write memory
Warning: Attempting to overwrite an NVRAM configuration previous-
ly written
by a different version of the system image.
Overwrite the previous NVRAM configuration?[confirm]
Building configuration...
[OK]
Router_C2600#

Gerenciamento de Redes com SNMP | Utilizando o SNMP em ativos de rede 135


13.2.1.1. Acessando um Agent SNMP do router para leitura de in-
formações
Obtendo o nome do equipamento via SNMP v1.

# snmpget -v1 -c public 192.168.1.107 sysName.0


SNMPv2-MIB::sysName.0 = STRING: Router_C2600

Obtendo o nome do equipamento via SNMP v2c.

# snmpget -v2c -c public 192.168.1.107 sysName.0


SNMPv2-MIB::sysName.0 = STRING: Router_C2600

Alterar o nome do equipamento com a comunidade “public”, que possui apenas


direito de leitura.

# snmpset -v2c -c public 192.168.1.107 sysName.0 s Router


Error in packet.
Reason: noAccess
Failed object: SNMPv2-MIB::sysName.0

Alterar o nome do equipamento com a comunidade “private”, que possui direito


de escrita.

# snmpset -v2c -c private 192.168.1.107 sysName.0 s Router


SNMPv2-MIB::sysName.0 = STRING: Router

Obtendo o nome do equipamento via SNMP v2c.

# snmpget -v2c -c public 192.168.1.107 sysName.0


SNMPv2-MIB::sysName.0 = STRING: Router

13.2.2. Habilitar SNMP V3 compatível com SNMP v1/v2c

Os comandos abaixo habilitam o SNMPv3 compatível com o SNMP v1/v2c no ro-


teador CISCO.

1. Router_C2600>enable
2. Router_C2600#configure terminal
3. Enter configuration commands, one per line. End with CNTL/Z.

Definir a view:

Router_C2600(config)#snmp-server view all 1 included

136 Utilizando o SNMP em ativos de rede | Gerenciamento de Redes com SNMP


Definir as permissões dos grupos nas views.

Router_C2600(config)#snmp-server group aulas v1 read all write


all
Router_C2600(config)#snmp-server group aulas v2c read all write
all

Incluir o usuário no grupos.

Router_C2600(config)#snmp-server user alunos aulas v1


Router_C2600(config)#snmp-server user alunos aulas v2c

13.2.2.1. Acessando um Agente SNMP v3 compatível com SNMP v2c:


Obtendo o nome do equipamento via SNMP v1.

# snmpget -v1 -c alunos 192.168.1.107 sysName.0


SNMPv2-MIB::sysName.0 = STRING: Router_C2600

Obtendo o nome do equipamento via SNMP v2c.

snmpget -v2c -c alunos 192.168.1.107 sysName.0


SNMPv2-MIB::sysName.0 = STRING: Router_C2600

Alterar o nome do equipamento via SNMP v2c.

# snmpset -v2c -c alunos 192.168.1.107 sysName.0 s Router


SNMPv2-MIB::sysName.0 = STRING: Router

Obtendo o nome do equipamento via SNMP v1.

# snmpget -v1 -c alunos 192.168.1.107 sysName.0


SNMPv2-MIB::sysName.0 = STRING: Router

13.2.3. Habilitar SNMP V3

Os comandos abaixo habilitam o SNMPv3 no roteador CISCO.

Router_C2600>enable
Router_C2600#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.

Definir a view:

Router_C2600(config)#snmp-server view all 1 included

Gerenciamento de Redes com SNMP | Utilizando o SNMP em ativos de rede 137


Definir as permissões dos grupos nas views:

Router_C2600(config)#snmp-server group rogroup1 v3 auth read all


Router_C2600(config)#snmp-server group rwgroup1 v3 auth read all write
all

Incluir os usuários nos grupos.

Router_C2600(config)#snmp-server user user1 rogroup1 v3 auth md5 set-


up_passphrase
Router_C2600(config)#snmp-server user user2 rwgroup1 v3 auth md5 set-
up_passphrase

13.2.3.1. Acessando um Agente SNMP v3:


Obtendo o nome do equipamento.

# snmpget -v3 -u user1 -n "" -l auth -a MD5 -A setup_passphrase


192.168.1.107 sysName.0
SNMPv2-MIB::sysName.0 = STRING: Router_C2600

Alterar o nome do equipamento através do usuário “user1”, que possui apenas


direito de leitura.

# snmpset -v3 -u user1 -n "" -l auth -a MD5 -A setup_passphrase


192.168.1.107 sysName.0 s Router
Error in packet.
Reason: noAccess
Failed object: SNMPv2-MIB::sysName.0

Alterar o nome do equipamento através do usuário “user2”, que possui direito


de escrita.

# snmpset -v3 -u user2 -n "" -l auth -a MD5 -A setup_passphrase


192.168.1.107 sysName.0 s Router
SNMPv2-MIB::sysName.0 = STRING: Router

Obtendo o nome do equipamento.

# snmpget -v3 -u user1 -n "" -l auth -a MD5 -A setup_passphrase


192.168.1.107 sysName.0
SNMPv2-MIB::sysName.0 = STRING: Router

138 Utilizando o SNMP em ativos de rede | Gerenciamento de Redes com SNMP


13.2.4. Habilitar SNMP V3 com Autenticação e Privacidade

Os comandos abaixo habilitam o SNMPv3 com autenticação e privacidade no ro-


teador CISCO.

Router_C2600>enable
Router_C2600#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.

Definir a view:

Router_C2600(config)#snmp-server view all 1 included

Definir as permissões dos grupos nas views:

Router_C2600(config)#snmp-server group rogroup1 v3 auth read all


Router_C2600(config)#snmp-server group rwgroup1 v3 auth read all write
all

Incluir os usuários nos grupos.

Router_C2600 (config)#snmp-server user user1 rogroup1 v3 auth md5 set-


up_passphrase priv des setup_passkey
Router_C2600 (config)#snmp-server user user2 rwgroup1 v3 auth md5 set-
up_passphrase priv des setup_passkey

13.2.4.1. Acessando um Agente SNMP v3:


Obtendo o nome do equipamento.

# snmpget -v3 -u user1 -n "" -x DES -X setup_passkey -l authPriv -a MD5


-A setup_passphrase 192.168.1.107 sysName.0
SNMPv2-MIB::sysName.0 = STRING: Router_C2600

Alterar o nome do equipamento através do usuário “user1”, que possui apenas


direito de leitura.

# snmpset -v3 -u user1 -n "" -x DES -X setup_passkey -l authPriv -a MD5


-A setup_passphrase 192.168.1.107 sysName.0 s Router
Error in packet.
Reason: noAccess
Failed object: SNMPv2-MIB::sysName.0

Gerenciamento de Redes com SNMP | Utilizando o SNMP em ativos de rede 139


Alterar o nome do equipamento através do usuário “user2”, que possui direito
de escrita.

# snmpset -v3 -u user1 -n "" -x DES -X setup_passkey -l authPriv -a MD5


-A setup_passphrase 192.168.1.107 sysName.0 s Router
SNMPv2-MIB::sysName.0 = STRING: Router

Obtendo o nome do equipamento.

# -v3 -u user1 -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A set-


up_passphrase 192.168.1.107 sysName.0
SNMPv2-MIB::sysName.0 = STRING: Router

Observação:

O modelo C2600 não possui suporte a authPriv, mas os comandos e resultados de leitura de um
equipamento que suporte a esse nível de autenticação será como os exibidos acima.

140 Utilizando o SNMP em ativos de rede | Gerenciamento de Redes com SNMP


14.Algumas Extensões ao SNMP
RFC 1155 - Structure and Identification of Management Information for
TCP/IP based internets

RFC 1156 - Management Information Base Network

RFC 1441 - Introduction to SNMP v2

RFC 2579 - Textual Conventions for SNMP v2

RFC 2580 - Conformance Statements for SNMP v2

RFC 2578 - Structure of Management Information for SNMP v2

RFC 3416 - Protocol Operations for SNMP v2

RFC 3417 - Transport Mappings for SNMP v2

RFC 3418 - Management Information Base for SNMP v2

RFC 3410 - Introduction and Applicability Statements for Internet


Standard Management Framework

RFC 3411 - Architecture for Describing SNMP Frameworks

RFC 3412 - Message Processing and Dispatching for the SNMP

RFC 3413 - SNMP Applications

RFC 3414 - User-based Security Model (USM) for SNMP v3

RFC 3415 - View-based Access Control Model for the SNMP

RFC 3584 - Coexistence between SNMP v1, v2 and v3

Gerenciamento de Redes com SNMP | Algumas Extensões ao SNMP 141


142 Algumas Extensões ao SNMP | Gerenciamento de Redes com SNMP
15.Referências
http://lrodrigo.lncc.br/~lrodrigo/wiki9/index.php/Configuracoes_Basicas_-_V1_e_V2c

http://net-snmp.sourceforge.net/wiki/index.php/Vacm

http://www.ietf.org/rfc/rfc3411.txt

http://www.ietf.org/rfc/rfc3415.txt

http://www.ietf.org/rfc/rfc1213.txt

http://www.net-snmp.org/docs/man/snmpusm.html

http://www.net-snmp.org/docs/man/snmpd.conf.html

http://www.net-snmp.org/docs/man/snmpd.conf.html#lbAH

http://www.net-snmp.org/docs/man/snmpd.conf.html#lbAI

http://www.webnms.com/simulator/help/sim_network/netsim_conf_snmpv3.html

http://net-snmp.sourceforge.net/wiki/index.php/Vacm

http://docstore.mik.ua/orelly/networking_2ndEd/snmp/appf_02.htm

http://www.net-snmp.org/wiki/index.php/TUT:SNMPv3_Options

http://www.webnms.com/agenttester/help/snmptester/sat_v3_security_testing.html

http://tcpipguide.com/free/t_SNMPVersion2SNMPv2MessageFormats.htm

http://www.tcpipguide.com/free/t_TCPIPInternetStandardManagementFrameworkan
dSNMPVer-3.htm

http://www.simpleweb.org

http://www.rnp.br/newsgen/9901/rmon.html

http://www.dsc.ufcg.edu.br/~jacques/cursos/gr/html/aplic/aplic5.htm

Gabos, Denis.; Melo, Tereza C. Apostila de Gerenciamento de Redes, EPUSP, 2003.

Stallings, W. SNMP, SNMPv2, SNMPv3 and RMON1 and 2. 3rd ed. 7th printing, 2003.

Kurose; Ross. Redes de Computadores e a Internet. Uma nova Abordagem. Pearson


Education, 2003.

Rebessi, Conrado Pinto. Palestra: Gerenciamento de Servidores Linux Utilizando


SNMP, 2007 - http://www.box.net/shared/fu0ynqfckz

Maura, Douglas R. ; Schmidt, Kevin J . SNMP Essencial. Editora Campus, 2001.

Gerenciamento de Redes com SNMP | Referências 143

Você também pode gostar