Muy buenas, quizás este post puede ser un poco obsoleto, pero algunos de nosotros nos podemos encontrar una con plataformas viejas y fuera de soporte como es este caso de activar el snmp. Por eso lo pongo, por si alguien lo necesita, y sobre todo, porque me lo he encontrado en una versión de esxi 6.5 que sé que hay muchas aun operativas.
En este caso, estábamos activando el sistema de monitorización nuevo y necesitábamos activar el servicio snmp para poder conectar con los servidores esxi.
Lo sencillo es ir a la web o al cliente pesado e intentar activar el servicio como hacemos con ssh.
Si hago ese intento en el cliente pesado, estoy sobre una versión 6.0 y el error es más concreto.
Al intentar arrancar ese servicio en el cliente pesado, nos da un error este error al arrancar el servicio
Call «HostServiceSystem.Start» for object «serviceSystem-143539» on vCenter Server «xxxx.xxx.xxx» failed.
Instintivamente me fui al esxi y me conecte por ssh compruebo que no está activado, e intente arrancarlo por comandos, pero me decía que no estaba habilitado.
Bien hasta aquí perfecto así que vamos a activarlo por comandos.
Por si no sabemos como funciona snmp, os pongo una pequeña introducción sacada de cisco
Los accesos en SNMPv1 y SNMPv2 se administran mediante la definición de comunidades. La comunidad es un tipo de contraseña compartida entre la aplicación de SNMP y el dispositivo.
Dicho esto, lo primero vamos a activar un password (comunidad) para que se conecte en este caso nuestro sistema de monitorización con nuestro esxi
esxcli system snmp set --communities xxxxxxxxx
Una vez creado esa comunidad, vamos a activar el servicio de snmp
esxcli system snmp set --enable true
Y una vez activado lo arrancamos
/etc/init.d/snmpd start
Por último, si queremos securizar un poco nuestro esxi, podemos permitir solo cierta ip o rango se conecten por nuestro puerto de snmp a nuestro dispositivo.
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 192.168.1.0/24 esxcli network firewall ruleset set --ruleset-id snmp --enabled true
Espero que os sirva
Actualización del post
Para activar la versión de snmp v3, que es la recomendable por seguridad, debemos poner lo siguientes comandos:
buscamos nuestra mac
esxcfg-info | grep "Mac Address"
Con el siguiente comando configuramos los algoritmos de autenticación y privacidad utilizados por SNMPv3.
esxcli system snmp set -a=SHA1 esxcli system snmp set -x=AES128
Vamos a generar la versión encriptada de las contraseñas de autenticación y privacidad.
esxcli system snmp hash -r -A Mipassword01 -X Mipassword02
Use el siguiente comando para habilitar y configurar el servicio VMWare SNMPv3 utilizando los 2 códigos
esxcli system snmp set --users usuario01/97550ce46f5abb74489cbcf3de89b15e02d047eb/4ad455378fd5f08c14f6afd55daa7c55bfc51b9a/priv esxcli system snmp set --syscontact="contacto@contacto.es" esxcli system snmp set --syslocation="Micasa" esxcli system snmp set --enable true
El usuario usuario01 tiene permiso de solo lectura de SNMP en el servidor de VMware.
La persona de contacto responsable de este servidor de VMware se configuró como contacto.
La ubicación del equipo se configuró como Micasa.
Para visualizar un resumen de su configuración de SNMP.
esxcli system snmp get
Gracias Jorge de la Cruz por la observación