Agenda: ejercicios-snmp-v1-v2c.txt

File ejercicios-snmp-v1-v2c.txt, 8.1 KB (added by admin, 6 years ago)
Line 
1Ejercicios con SNMP, parte I
2======================
3
4Nota: muchos de los comandos en este ejercicio no tienen que ejecutarse
5como root, pero no hay problema con ejecutarlos todos como root. Así que
6sería más sencillo si inicia una shell de root y los ejecuta todos desde ahí.
7Puede iniciar una shell de root así:
8
9    $ sudo -s
10
110. Instalación del los programas de gestion del cliente
12-------------------------------------------------------
13
14    # apt-get install snmp
15    # apt-get install snmp-mibs-downloader
16   
17El segundo paquete (snmp-mibs-downloader) baja los MIBs estandares de
18IANA y de IETF que no estan incluidos por defecto.
19
20Para que esto funciona tiene que habilitar el fuente "multiverse" en su
21configuracion de APT - hemos hecho esto para Ud.
22
23Ahora tiene que editar el archivo /etc/snmp/snmp.conf
24
25        # vi /etc/snmp/snmp.conf
26       
27y cambiar este linea:
28
29        mibs :
30       
31... para que se vea asi:
32
33        # mibs :
34       
35Ahora graba el archivo y salga de ello.
36       
37Esta accion deshabilito la linea de mibs vacia que estaba indicando a las
38herramientas de SNMP de *no* automaticamente cargar los mibs en el
39directorio /usr/share/mibs/.
40
411. Configuración de SNMP en el enrutador
42----------------------------------------
43
44Para esta parte del ejercicio, necesitan trabajar en grupos. Una persona
45estará asignada para escribir en el teclado.
46
47Si no está seguro de a qué grupo pertenece, refiérase al diagrama de red
48en la wiki del taller, en http://noc.ws.nsrc.org/
49
50Ahora conéctese a su enrutador:
51
52        $ ssh cisco@rtrN.ws.nsrc.org    (ó "ssh cisco@10.10.N.254")
53       
54        username: cisco
55        password: <CLASS PASSWORD>
56
57        rtrN> enable
58        Password: <CLASS PASSWORD>
59        rtrN# configure terminal                        (conf t)
60
61Ahora es necesario agregar una lista de control de acceso (ACL) para acceso a SNMP.
62Luego iniciaremos el agente SNMP, asignaremos una "comunidad" de sólo lectura y le
63indicaremos al enrutador que nunca cambie los índices de interfaces al reiniciarse.
64Para ello, haremos lo siguiente:
65       
66        rtrN(config)# access-list 99 permit 10.10.0.0 0.0.255.255
67        rtrN(config)# snmp-server community NetManage ro 99
68        rtrN(config)# snmp-server ifindex persist
69
70Ahora salgamos del modo configuración y grabemos:     
71
72        rtrN(config)# exit
73        rtrN# write memory                              (wr mem)
74        rtrN# exit                                      (volver al shell del PC)
75       
76Ahora, probaremos si estos cambios han hecho efecto.
77
782. Comprobación de SNMP
79------------------------
80
81Para verificar que su instalación de SNMP funciona, ejecute
82el comando 'snmpstatus' en cada uno de los siguientes nodos:
83
84    $ snmpstatus -c 'NetManage' -v2c <IP_ADDRESS>
85
86Donde <IP_ADDRESS> es cada uno de los siguientes:
87
88    * El servidor NOC:          10.10.0.254
89    * Su enrutador:                     10.10.N.254
90    * El switch dorsal:         10.10.0.253
91    * Los puntos de acceso:     10.10.0.251, 10.10.0.252 (no siempre funcionan)
92   
93Qué pasa si intenta usando la comunidad incorrecta (ej. cambie "NetManage"
94por algo diferente)
95
963. SNMP Walk y los OIDs
97---------------------
98
99Ahora, utilizará el comando 'snmpwalk', parte de la suite SNMP,
100para listar las tablas asociadas con los OIDs más abajo, para cada
101dispositivo que probó más arriba:
102
103    .1.3.6.1.2.1.2.2.1.2
104    .1.3.6.1.2.1.31.1.1.1.18
105    .1.3.6.1.4.1.9.9.13.1
106    .1.3.6.1.2.1.25.2.3.1
107    .1.3.6.1.2.1.25.4.2.1
108
109    $ snmpwalk -c 'NetManage' -v2c <IP_ADDRESS> <OID>
110
111y
112
113    $ snmpwalk -On -c 'NetManage' -v2c <IP_ADDRESS> <OID>
114
115
 Donde <OID> es uno de los OIDS más arriba: .1.3.6

116
117
 Donde <IP_ADDRESS> puede ser su enrutador...
118
119Nota: la opcion "-On" habilita salida numerica, asi no traduccion del OID <-> MIB
120pasara.
121
122Con estos OIDs:
123
124a) Responden todos los dispositivos ?
125b) Nota algo interesante en los OIDS de las respuestas ?
126
1274. Configuración del agente SNMP en su PC
128-----------------------------------------
129
130Para este ejercicio su grupo necesita verificar que el servicio SNMP está
131activo y respondiendo a solicitudes desde todas las máquinas de su grupo.
132Primero active el demonio snmpd en su máquina, luego pruebe si su máquina está
133respondiendo, y luego compruebe cada máquina de sus compañeros de grupo.
134
135
136* Instalar el agente SNMP (demonio)
137
138        # apt-get install snmpd
139
140* Configuración:
141
142Haremos una copia de respaldo del archivo que viene con el paquete, y luego
143crearemos uno propio:
144
145        # cd /etc/snmp
146        # mv snmpd.conf snmpd.conf.dist
147        # editor snmpd.conf
148
149Luego, copiar/pegar lo siguiente (no incluya las líneas -- cortar aquí --)
150
151-- cortar aquí -------------------------
152
153#  Escuchar en todas las interfaces (en IPv4 *e* IPv6)
154agentAddress udp:161,udp6:[::1]:161
155
156# Configurar comunidad de "sólo lectura"
157# y restringir quién se puede conectar
158rocommunity NetManage  10.10.0.0/16
159rocommunity NetManage  127.0.0.1
160
161# Información sobre este servidor
162sysLocation    NSRC Network Management Workshop
163sysContact     sysadm@pcX.ws.nsrc.org
164
165# Cuáles capas OSI están activas
166# (applicación + extremo a extremo)
167sysServices    72
168
169# Incluye MIB de dskTable que es propietario (además de hrStorageTable)
170includeAllDisks  10%
171-- cortar aquí -------------------------
172
173Ahora grabe y salga del editor.
174
175* Reinicie snmpd
176
177        # service snmpd restart
178
1795. Compruebe que está funcionando:
180----------------------------------
181
182    $ snmpstatus -c 'NetManage' -v2c localhost
183
184Qué puede observar ?
185
1866. Pruebe con sus vecinos
187-------------------------
188
189Compruebe que ahora puede ejecutar snmpstatus con cada uno de los
190servidores de su grupo:
191
192    $ snmpstatus -c 'NetManage' -v2c pcN.ws.nsrc.org
193   
194Por ejemplo, en el grupo 4:
195
196        pc17.ws.nsrc.org
197        pc18.ws.nsrc.org
198        pc19.ws.nsrc.org
199        pc20.ws.nsrc.org
200
201
2027. Agregar MIBs
203----------------
204
205Recuerde que cuando ejecutó:
206
207    $ snmpwalk -c 'NetManage' -v2c 10.10.X.254  .1.3.6.1.4.1.9.9.13.1
208
209El cliente SNMP (snmpwalk) no pudo interpretar todos los OIDS que
210venían en la respuesta:
211
212    SNMPv2-SMI::enterprises.9.9.13.1.3.1.2.1 = STRING: "chassis"
213    SNMPv2-SMI::enterprises.9.9.13.1.3.1.6.1 = INTEGER: 1
214
215Qué es '9.9.13.1.3.1' ?
216
217Para poder interpretar esta información, necesitamos instalar MIBs
218adicionales:
219
220* Utilizaremos las siguientes MIBs (no las descargue todavía!):
221
222        MIBS de Cisco:
223
224        ftp://ftp.cisco.com/pub/mibs/v2/CISCO-SMI.my
225        ftp://ftp.cisco.com/pub/mibs/v2/CISCO-ENVMON-MIB.my
226
227    Para hacerlo más fácil, tenemos una copia local en
228    http://noc.ws.nsrc.org/mibs/ :
229
230        # apt-get install wget
231        # cd /usr/share/mibs
232        # mkdir cisco
233        # cd cisco
234       
235    # wget http://noc.ws.nsrc.org/mibs/CISCO-ENVMON-MIB.my
236    # wget http://noc.ws.nsrc.org/mibs/CISCO-SMI.my
237
238Ahora tenemos que decir a las herramientas de snmp que tenemos los MIBS
239que deberia cargar. Edite el archivo /etc/snmp/snmp.conf y agrega los dos
240siguiente lineas:
241
242    mibdirs +/usr/share/mibs/cisco
243    mibs +CISCO-ENVMON-MIB:CISCO-SMI
244
245Grabe el archivo y salga.
246
247Ahora, pruebe de nuevo:
248
249    $ snmpwalk -c 'NetManage' -v2c 10.10.X.254  .1.3.6.1.4.1.9.9.13.1
250
251Qué puede notar?
252
253
2548. SNMPwalk - el resto de MIB-II
255--------------------------------
256
257Intente ejecutar snmpwalk en cualquiera de los nodos (enrutadores,
258switches, PCs) que no haya probado todavía, en la red 10.10.0.X.
259
260Note el tipo de información que obtiene.
261
262    $ snmpwalk -c 'NetManage' -v2c 10.10.0.X ifDescr
263    $ snmpwalk -c 'NetManage' -v2c 10.10.0.X ifAlias
264    $ snmpwalk -c 'NetManage' -v2c 10.10.0.X ifTable | less
265    $ snmpwalk -c 'NetManage' -v2c 10.10.0.X ifXTable | less
266    $ snmpwalk -c 'NetManage' -v2c 10.10.0.X ifOperStatus
267    $ snmpwalk -c 'NetManage' -v2c 10.10.0.X ifAdminStatus
268    $ snmpwalk -c 'NetManage' -v2c 10.10.0.X if
269   
270(Recuerda que con "less" apreta la barra del espacio por la proxima pagina,
271'b' para ir atras una pagina y 'q' para salir)
272
273Puede ver la diferencia entre `ifTable` y `ifXTable`?
274
275Que puede ser la diferencia entre 'ifOperStatus' y 'ifAdminStatus' ? Puede
276imaginar en qué escenario esto sería útil?
277
278
2799. Más diversión con las MIBs
280----------------------------
281
282* Use SNMP para examinar lo siguiente:
283
284        a) los procesos activos en un servidor vecino (hrSWRun)
285        b) el espacio de disco disponible en un servidor vecino (hrStorage)
286        c) las interfaces en un servidor vecino (ifIndex, ifDescr)
287
288    Puede usar nombres cortos para "caminar" estas tablas?
289
290* Experimente con el comando "snmptranslate", ejemplo:
291
292        $ snmptranslate .1.3.6.1.4.1.9.9.13.1
293
294   Pruebe con otros varios OIDs