Vous êtes sur la page 1sur 17

Gerenciamento de redes

Prof: Jose Neuman de Souza

Experimento SNMP & MIBs

Trabalho realizado por: Santos David Bernal Snchez


2013/14

Gerenciamento de redes

Experimento SNMP & MIBs


1 INTRODUO
Neste trabalho vou refazer o experimento explicado no blog Filipes Blog, Um blog exprimental. Trata so as etapas de configurao de um gerente SNMP e a implementao de um cliente SNMP capaz de consultar e configurar informaes no sistema. Os objetos sero descritos em uma MIB e acessados via MibBrowser.

2 PONTO DE PARTIDA
Demorou muito tempo conseguir preparar um entorno que possibilitara comear com o trabalh. No incio tentei instalar a ltima verso do Linux Ubuntu em um notebook com Windows 8 com a inteno de ter os dois sistemas operativos disponveis... no deu certo. Aps tentar em diferentes notebooks com diferentes sistemas operativos Microsoft Windows j instalados e com diferentes verses de Linux Ubuntu finalmente consegui instalar (paralelamente a Windows 7) a ltima verso de Ubuntu no meu PC. Parecia que o experimento ia dar certo, s tinha que seguir os passos. Porm os problemas e diferenas encontradas com a explicao descrita impediram que pudesse executar os passos conforme o experimento o blog explica. Finalmente decidi instalar Ubuntu 10.04.4 LTS (Lucid Lynx. Desktop image) no meu PC. Depois de procurar informao na internet e pesquisar muito consegui chegar at o ponto #4, mas no conseguia continuar. A seguir mostro os problemas e dvidas encontradas naquele momento: 1. No item> # Adicione as permisses para o snmpd: no arquivo sudoers no sabia onde tinha que colocar a linha snmp ALL=(ALL:ALL) NOPASSWD:ALL" ao final ou ao incio? 2. No arquivo passtest.sh a ltima linha errada, necessrio o ltimo esac? 3. No ponto #2: O OID base para os objetos da MIB> iso(1).org(3).dod(1).internet(6).experimental(3), sendo passtest(1) o primeiro OID de experimental(3) no coincide com o OID base do arquivo passtest.sh em qualquer caso sempre usa-se .1.3.6.1.3.1 ? 4. No ltimo item do ponto #3: /etc/default/snmpd. Edite-o, adicionando: - (No sabia onde devia colocar essa linha?) export SNMPCONFPATH=/etc/snmp/ - (J existia) SNMPDRUN=yes - (No sabia se devia modificar a linha existente?) SNMPDOPTS= -u snmp -g snmp -p /var/run/snmpd.pid 127.0.0.1

2
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes
5. No ponto #4 aps instalar acpi, executava /tmp/passtest.sh -g .1.3.6.1.3.1.1.0 e s aparecia: .1.3.6.1.3.1.1.0 string faltava 100%

6. Se tentava fazer um teste GET a janela que segue abria-se, no campo Value no aparecia nada.

Depois descobri que acpi relacionado com a bateria do notebook, devido a que estava trabalhando no meu PC entendi porque esse teste no funcionava. Tambm no conseguia realizar o teste sensor, no entendia porque. Finalmente descobri que tinha que instalar um software para ter acesso a temperatura do PC, escolhi o HWMonitor.

3
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes

3 REALIZAO DO EXPERIMENTO
Aps consultar em foros especializados e pesquisar na intenet finalmente consegui solucionar todos os problemas e duvidas explicadas anteriormente e realizei o experimento inteiro no meu PC. Tanto atravs do Terminal de Linux como no MibBrowser, conseguir executar as operaes GET e SET comentadas no blog Filipes Blog, Um blog exprimental com exceo de acpi. Ainda assim, devido a que precisava de um notebook para poder realizar tambm o teste acpi optei por tentar a instalao de Ubuntu em uma mquina virtual (Oracle VirtualBox) no meu notebook e refazer o experimento. A continuao descreverei como refiz o experimento no meu notebook. Primeiro de tudo: Instalao da mquina virtual (Oracle VirtualBox) para simular o Ubuntu 10.04.4 LTS (Lucid Lynx. Desktop image). Actualizao e configurao de Ubuntu. 1. Configurao do ambiente para comear trabalhar com SNMP - Instalao de snmpd: sudo apt-get install snmpd

4
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes
- Configurao de snmpd: Com o comando mv faze-se uma cpia do arquivo original snmpd.conf (localizado no diretrio /etc/snmp) movendo o conteudo para snmpd.conf.orig (no mesmo diretrio). sudo mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig Criao e Edio do arquivo snmp.conf (agora vazio) com o comando vim (anteriormente instalouse o editor gvim atravs do Central de Programas de Ubuntu) no diretrio /etc/snmp sudo vim /etc/snmp/snmpd.conf e adio das linhas rocommunity public rwcommunity private

- Comprobao de arquivos contedos no diretrio /etc/snmp cd /etc/snmp ls

Temos trs arquivos: snmpd.conf, snmpd.conf.orig e snmptrapd.conf

- Reiniciao do daemond: sudo service snmpd restart

5
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes
- Adio das permisses para o snmpd no arquivo sudoers: sudo vim /etc/sudoers com a tecla i se habilita a escritura no arquivo e se adiciona na ltima linha snmp ALL=(ALL:ALL) NOPASSWD:ALL

- Instalao de Java: sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer aps executar o ltimo comando aceitamos todos os passos para completar a instalao de Java.

- Download do MibBrowser: ireasoning.com/download.shtml Procuramos o MIB Browser Personal Edition > aceitamos no final da web > baixar mibbrowser.zip

- No diretrio onde foi baixado o mibbrowser.zip (ou copiar para outro dir): Meu diretrio Download unzip mibbrowser.zip

Permises para executar com control total o arquivo browser.sh chmod a+x browser.sh

6
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes

- Para executar o MibBrowser: ./browser.sh

2. Criao da MIB descrevendo os objetos A MIB (Management Information Base) a estrutura de dados que coleciona os objetos do agente SNMP, permitindo a interao com o gerente (GET e SET sobre os objetos) e est definida pela notao ASN.1 (Abstract Syntax Notation). O OID base para os objetos da nossa MIB ser: iso(1).org(3).dod(1).internet(6).experimental(3), sendo passtest(1) o primeiro OID de experimental(3). A mib foi nomeada PASSTEST-MIB.txt, mas poderia ter qualquer outro nome. O agente dispobilizar 5 objetos para consulta (na verdade so 6, um ser adicionanado mais adiante): acpi retorna a carga da bateria em % memtotal retorna a memria total memfree retorna a memria livre date retorna a data do sistema sensor retorna a temperatura do sensor1 em Celsius o arquivo PASSTEST-MIB.txt deve permanecer neste diretrio (/usr/share/snmp/mibs)

Arquivo PASSTEST-MIB.txt: [PASSTEST-MIB.txt] (** incompleto, utilizaremos o


comando vim. Falta inserir a definio para eject) - No diretrio onde se guardou PASSTEST-MIB.txt /usr/share/snmp/mibs sudo vim PASSTEST-MIB.txt no primeiro bloco de definies -- .1.3.6.1.3.1.7 == eject e antes de END inserir tambm

7
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes
Eject OBJECT-TYPE SYNTAX ACCESS STATUS Integer read-write mandatory Eject the CD. ::= { passtest 7 } - No arquivo /etc/default/snmpd, poder estar definido o local das MIBs, como: sudo cd /etc/default sudo vim snmpd export MIBDIRS=/usr/share/snmp/mibs (aparece j na linha 5)

DESCRIPTION

3. Criao do script do agente extendido Aps a definio dos objetos, necessrio criar os mtodos de ao para as operaes GET e SET que o gerente poder fazer. Isso ser feito atravs de um shell script: Arquivo passtest.sh [passtest.sh]. No vou comentar a implementao do script aqui, pois os comentrios esto presentes no prprio arquivo. Durante os testes, utilizei o diretrio /tmp para armazenar o arquivo. Lembre-se manter uma cpia dos arquivos em um local de armazenamento persistente. Agora necessrio informar ao snmpd como proceder durante os acessos aos objetos da nossa MIB. - Para isso, editar sudo vim /etc/snmp/snmpd.conf e adicionar ao arquivo snmpd.conf o seguinte: pass .1.3.6.1.3.1 /bin/sh /tmp/passtest.sh - Outro arquivo relacionado, o /etc/default/snmpd. Edite-o, sudo vim /etc/default/snmpd adicionando: export SNMPCONFPATH=/etc/snmp/ SNMPDRUN=yes SNMPDOPTS=-u snmp -g snmp -p /var/run/snmpd.pid 127.0.0.1 - Reinicie o daemon snmpd. Obs.: o endereo 127.0.0.1 restringe a acesso local. sudo service snmpd restart 8
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes
4. Testes At agora, temos um ambiente configurado, objetos definidos e as aes definidas para gerar o retorno das consultas GET. O primeiro passo, que encorajo muito ( e que pode evitar uma grande perda de tempo ), a verificao do script. Para a consulta ao objeto acpi funcionar, necessrio ter o pacote acpi instalado. sudo apt-get install acpi Como exemplo, uma consulta ao objeto experimental(3).passtest(1).acpi(1).0. Obs: acpi.0 indica que no uma tabela de objetos. - No diretrio /tmp altere a permisso do script para modo de execuo. sudo chmod a+x passtest.sh

- Executar o comando /tmp/passtest.sh -g .1.3.6.1.3.1.1.0 a sada deve ser: .1.3.6.1.3.1.1.0 string 100%

9
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes

So estas informaes repassadas ao gerente, como veremos agora. - Antes, no entanto, instale o pacote snmp sudo apt-get install snmp - e executar o comando snmpget -c public -v 2c 127.0.0.1 1.3.6.1.3.1.1.0 a sada: SNMPv2-SMI::experimental.1.1.0 = STRING: 100%

Ok. Tudo indo bem. Na sequncia, utilizaremos o MibBrowser para consultar os objetos da nossa MIB.

10
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes

- Inicie o iReasoning MIB Browser (visto no passo #1). A seguinte janela dever abrir-se: ./ireasoning/mibbrowser/browser.sh

- Antes de abrir nossa mib PASSTEST-MIB.txt inserimos 127.0.0.1 no campo Address: e em Advanced devemos colocar o seguinte:

11
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes
A porta no necessita ser exclusivamente 161, possvel definir outra porta, mas isso implica em reconfigurar o snmpd. - Agora, vamos carregar a nossa mib PASSTEST-MIB.txt, que previamente foi adicionada ao diretrio default /usr/share/snmp/mibs/. Para isso, execute Ctrl-L ou v em File->Load MIB. Seleciona a mib PASSTEST-MIB.txt e clique em Open.

A mib ser carregada e seus objetos estaro disponveis para visualizao:

Configurado o Mib Browser, j podemos fazer as consultas nos objetos.

12
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes
Clique no objeto desejado, selecione em Operations o modo GET e clique em Go. O retorno da consulta ser exibida na tela Result Table: - Por exemplo, para acpi o resultado o seguinte:

Para date:

13
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes
Para poder fazer a operao GET em sensor, primeiro deve-se instalar os pacotes lm-sensors, computertemp e sensors-applet. sudo apt-get install ls-sensors sudo apt-get install hddtemp sudo sensors-detect deve se aceitar todas as condies com YES Com isso, encerramos a parte de testes de consulta aos objetos (GET).

- A seguir, veremos como testar uma operao de SET. Em nossa mib PASSTEST-MIB o objeto chamado mtu corresponde ao MTU (maximum transfer unit) da interface de rede eth0. Sobre esse objeto ser possvel operaes de GET e SET. Essas alteraes j esto presentes nos arquivos disponibilizados anteriormente. Para realizar o SET, indique explicitamente a community private: - Executar o comando snmpset -mALL -v2c -cprivate 127.0.0.1 1.3.6.1.3.1.6.0 i 1400 a sada: PASSTEST-MIB::mtu.0 = INTEGER: 1400

Para conferir: - Executar o comando snmpget -mALL -v2c -cprivate 127.0.0.1 1.3.6.1.3.1.6.0 a sada: PASSTEST-MIB::mtu.0 = INTEGER: 1400

14
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes

- No MibBrowser, configurando um novo valor (1500) para MTU (SET), imagem a seguir:

15
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes

e conferindo (GET), imagem a seguir:

16
EXPERIMENTO SNMP & MIBS |

Gerenciamento de redes
Para finalizar, uma operao SET para ejetar o cd-rom: - Executar o comando snmpset -mALL -v2c -cprivate 127.0.0.1 1.3.6.1.3.1.7.0 i 0 ejata o cd-rom e a sada : PASSTEST-MIB::eject.0 = INTEGER: 0

isso a. Vimos uma maneira de consultar e alterar valores de objetos snmp. O snmp possui muitos outros recursos e aplicaes no abordadas neste trabalho, isto , o assunto no se esgota aqui.

4 CONCLUSO
Para realizar (refazer) esse experimento tive que aprender utilizar o ambiente Linux, a executar comandos no Terminal e aprender interpretar o significado deles, aprender novos trminos e conceitos e ainda formas de pensar e atuar as vezes. Foi mais difcil do que parecia no incio na verdade, tive que pesquisar muito na internet e consultar grande quantidade de foros especializados. Meu curso (Engenharia de Produo) tem nada o quase nada a ver com o desenvolvimento desse experimento. Isso, junto com a novidade de se enfrentar a um entorno de trabalho (Terminal de comandos Linux) fiz que para mim tivesse um plus de dificuldade mas aps alcanar o final do experimento sinto-me muito feliz de ter conseguido o objetivo inicial. Foi um desafio que consegui superar.

** ARQUIVOS FINAIS UTILIZADOS DEPOIS DAS MODIFICAES:

17
EXPERIMENTO SNMP & MIBS |

Vous aimerez peut-être aussi