Académique Documents
Professionnel Documents
Culture Documents
Gerenciamento de redes
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
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
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)
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.
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
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.
17
EXPERIMENTO SNMP & MIBS |