Guía para la configuración de SNMP en ESXi con fines de supervisión
La supervisión de la infraestructura es importante para las organizaciones, ya que permite detectar problemas a tiempo y prevenir fallos. Si se produce un fallo, las notificaciones tempranas al respecto permiten empezar a trabajar en la resolución de los problemas relacionados lo antes posible. En un entorno VMware vSphere, se recomienda configurar la supervisión de ESXi. Uno de los métodos más asequibles para supervisar los hosts ESXi de VMware es utilizar las funciones integradas y el Protocolo simple de gestión de redes (SNMP). En este caso, es necesario configurar un servidor dedicado con software de supervisión. Esta entrada del blog trata sobre la configuración de SNMP en ESXi y explica cómo habilitar SNMP en los hosts ESXi de VMware.
Preparación del entorno
A continuación se explica cómo habilitar SNMP en ESXi:
- Habilitar Secure Shell (SSH)
- Configurar SNMP
- Configurar el cortafuegos de ESXi
Voy a explicar la configuración de SNMP en ESXi utilizando un ejemplo con un ESXi 7.0 host y una máquina con Ubuntu Linux en la que está instalado el software de supervisión.
La dirección IP del host ESXi es 192.168.101.208.
La dirección IP de la máquina con Ubuntu Linux es 192.168.101.209.
Utilice sus propias direcciones IP y otros valores para los parámetros correspondientes al configurar la supervisión de ESXi mediante SNMP en su infraestructura, de acuerdo con su configuración.
Habilitación del acceso SSH en ESXi
El acceso SSH en un host ESXi es necesario para ejecutar comandos ESXCLI en un host de forma remota. Para habilitar el acceso SSH a su host ESXi de VMware, puede utilizar VMware Host Client. Abra un navegador web, introduzca la dirección IP de su host ESXi de VMware en la barra de direcciones y, a continuación, introduzca las credenciales para iniciar sesión.
En el panel Navigator , ve a Host > Manage y haz clic en la pestaña Services .
Haz clic con el botón derecho del ratón en TSM-SSH y, en el menú contextual, selecciona Start.
. En la captura de pantalla siguiente se muestra el servicio del servidor SSH iniciado en el host ESXi.
Ahora puedes conectarte al host ESXi desde un equipo que tenga instalado un cliente SSH. Si utilizas Windows, puedes usar PuTTY, un cliente SSH gratuito y práctico. En Linux, ejecute el cliente SSH desde la línea de comandos con el comando:
ssh your_username@host_ip_address
Introduzca la dirección IP de su host ESXi y el puerto TCP 22 (el número de puerto predeterminado) en los ajustes de sesión del cliente SSH para conectarse al host ESXi de VMware a través de SSH.
Configuración de SNMP en ESXi
Una vez establecido el acceso SSH al host ESXi de VMware, puede configurar las opciones de SNMP de VMware ESXi. En los hosts ESXi, el SNMP solo se puede configurar en la interfaz de línea de comandos. La interfaz gráfica de usuario (GUI) solo permite iniciar, detener y reiniciar el servicio SNMP.
Ejecuta el comando en la consola (terminal) y comprueba el estado del SNMP en el host ESXi:
esxcli system snmp get
El SNMP está desactivado de forma predeterminada. En la captura de pantalla se muestra el resultado cuando el SNMP está desactivado en ESXi. La mayoría de los parámetros están vacíos o no están configurados.
Configuración de los parámetros de un agente SNMP
Configura los parámetros SNMP para un agente SNMP en el host ESXi. El agente SNMP se utiliza para enviar notificaciones (trampas e informes SNMP) a un servidor de supervisión y recibir solicitudes GET, GETNEXT y GETBULK.
Establece el nombre de la comunidad (« public » es el nombre de comunidad establecido por defecto). El nombre de la comunidad en este ejemplo es « NAKIVO ». esxcli system snmp set --communities nakivo
Configura el destino SNMP. El destino SNMP es un servidor en el que está instalado un software de supervisión para gestionar las trampas SNMP y recopilar información de supervisión. En mi ejemplo, el destino SNMP es el equipo que ejecuta Ubuntu Linux ( 192.168.101.209 ). El puerto UDP 161 es el puerto predeterminado utilizado para SNMP y este puerto está definido en mi configuración SNMP de ESXi:
esxcli system snmp set --targets=192.168.101.209@161/nakivo
Especifica una ubicación; por ejemplo, la ubicación geográfica, la dirección, el centro de datos o la sala donde se encuentra el servidor:
esxcli system snmp set --syslocation "Server room"
Especifica la información de contacto. Para este parámetro se puede definir el correo electrónico del administrador del sistema:
esxcli system snmp set --syscontact michaelbose@nakivo.com
Activa SNMP en ESXi:
esxcli system snmp set --enable true
Comprueba de nuevo el estado de SNMP en el host ESXi:
esxcli system snmp get
Ahora puede comprobar que los parámetros están configurados.
El ID del motor es el identificador único del agente SNMP (utilizado para SNMP v3). El ID del motor se puede establecer con el comando (opcional):
esxcli system snmp set -engineid 544a33209458
El estado de SNMP es ejecutando ahora mismo. También puede abrir VMware Host Client, ir a Host > Manage > Servicesy comprobar el estado del snmpd servicio.
Probar la configuración actual de SNMP.
esxcli system snmp test
Si editas los ajustes de SNMP después de esto, reinicia el agente SNMP con el comando:
/etc/init.d/snmpd restart
Como alternativa, puedes reiniciar el SNMP de ESXi en la interfaz gráfica de usuario de VMware Host Client, en la pestaña Services . Haz clic con el botón derecho del ratón en el servicio y selecciona Restart en el menú contextual.
Si necesitas restablecer los ajustes de SNMP de ESXi, utiliza el comando:
esxcli system snmp set -r
El comando para desactivar SNMP en un host ESXi de VMware es:
esxcli system snmp set --enable false
Puedes comprobar la disponibilidad de SNMP desde un equipo Linux si dicho equipo es el destino SNMP. Para ello, utilizamos Ubuntu Linux.
Instale el cliente SNMP necesario en Ubuntu Linux si aún no lo ha hecho:
sudo apt-get install snmp
Conéctese al host ESXi a través de SNMP para comprobar los parámetros disponibles para la supervisión:
snmpwalk -v2c -c nakivo 192.168.101.208
Debería ver una larga lista de objetos para la supervisión de ESXi a través de SNMP en la salida de la consola. Estos objetos son bases de información de gestión (MIB) e identificadores de objetos (OID), que son elementos de la estructura jerárquica de los parámetros de supervisión.
Una MIB de SNMP es una recopilación de información sobre objetos (parámetros y ajustes) organizada jerárquicamente. Existen MIB escalares y tabulares. Las MIB pueden ser estándar o específicas de un proveedor.
Un OID de SNMP es un objeto gestionado identificado de forma única en la estructura jerárquica de la MIB. Los diferentes niveles del árbol son asignados por distintas organizaciones. Los proveedores pueden definir ramas especiales para la supervisión de los parámetros de sus productos.
Un nombre de objeto es un valor único para toda la MIB que se corresponde con el OID adecuado. Por ejemplo, el nombre de objeto para el OID 1.3.6.1.2.1.1.5 es sysName .
Configuración del cortafuegos de ESXi
Debes configurar el cortafuegos y habilitar el acceso SNMP desde los servidores de supervisión al host ESXi. Puede establecer una subred o una dirección IP concreta de los dispositivos autorizados en la red.
Ejecutamos estos tres comandos para permitir el acceso desde la red 192.168.101.0/24 para realizar la supervisión de ESXi a través de SNMP:
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false
esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 192.168.101.0/24
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
Introduzca la dirección IP o una dirección de red según su configuración de red.
Una configuración menos segura consiste en habilitar el acceso desde cualquier dispositivo de red:
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
La configuración de SNMP de ESXi ha finalizado. Ahora puede configurar su software de supervisión en un servidor de supervisión.
Configuración de SNMP v3
SNMP v3 es una versión más segura del protocolo que proporciona autenticación mediante clave y cifrado. La configuración de SNMP v3 es más complicada y es compatible a partir de vSphere 5.1. A continuación se ofrece una descripción general de cómo habilitar SNMP v3 en un host ESXi.
Establece el protocolo de autenticación y las opciones de privacidad.
esxcli system snmp set -a SHA1 -x AES128
Donde:
SHA1 es el algoritmo de cifrado criptográfico, la función hash criptográfica (Secure Hash Algorithm 1).
AES128 es el método de cifrado (Advanced Encryption Standard con una clave de cifrado de 128 bits) que utiliza el cifrado por bloques simétrico.
Genera hash utilizando un comando como:
esxcli system snmp hash –auth-hash authpass –priv-hash privhash –raw-secret
En mi caso, el comando es:
esxcli system snmp hash --auth-hash PasswordTest1 --priv-hash PasswordTest2 --raw-secret
Evita utilizar las contraseñas proporcionadas en este ejemplo en entornos de producción. Utiliza contraseñas únicas (la contraseña debe tener una longitud mínima de 7 caracteres). Guarda las cadenas de hash generadas. En mi caso, los hash son los siguientes.
Authhash: 831a798d1cda90ca1a3ab80d38f81a44c0851ada
Privhash: 38cf6f13d09a4651362338eac2c3d62b42514bc9
Utiliza los hash generados y añade un usuario. Se admite la adición de hasta cinco usuarios.
esxcli system snmp set -e yes -C user -u snmpuser/authhash/privhash/priv
Donde:
user es el correo de contacto del usuario
snmpuser es el nombre de usuario (puede tener hasta 32 caracteres)
authhash es el valor hash de autenticación
privhash es el valor hash de privacidad
Añadimos user1 y utilizamos los hash generados en la salida del comando anterior. esxcli system snmp set -e yes -C user1@nakivo.com -u user1/831a798d1cda90ca1a3ab80d38f81a44c0851ada/38cf6f13d09a4651362338eac2c3d62b42514bc9/priv
Puedes crear un usuario sin configuración de seguridad (sin autenticación ni privacidad) mediante el comando:
esxcli system snmp set --user user2/-/-/none
Define la dirección de destino SNMP:
esxcli system snmp set --v3targets 192.168.101.209@161/user1/priv/trap
Activa SNMP en ESXi:
esxcli system snmp set --enable true
Proba la configuración de SNMP:
esxcli system snmp test
Puedes utilizar el comando ampliado para probar la configuración de SNMP de VMware en ESXi:
esxcli system snmp test -u=user1 -A=PasswordTest1 -X=P2sswordTest2 -r
Donde user1 es el nombre del usuario SNMP que se ha añadido a la configuración.
Si la prueba se completa con éxito, se muestra un mensaje:
Usuario validado correctamente para el ID de motor y el nivel de seguridad indicados: protocolos
Intenta conectarte al host ESXi a través de SNMP v3 desde un servidor Linux de supervisión (desde el lado del destino).
Este comando se utiliza si no se han establecido parámetros de autenticación:
snmpwalk -v3 -u user1 192.168.101.208
Si has configurado opciones de seguridad, defínelas en el comando:
snmpwalk -v3 -u user1 -l AuthPriv -a SHA -A PasswordTest1 -x AES -X PasswordTest2 192.168.101.208
Donde user1 es el nombre de mi usuario añadido a la configuración SNMP de ESXi.
Si aparece el error « Unknown user name » al probar la configuración SNMP de ESXi, comprueba si has añadido un usuario y si has definido el nombre de usuario correcto en los siguientes comandos después de añadir el usuario. Ten en cuenta que, si cambias el ID del motor del agente, el protocolo de privacidad o el protocolo de autenticación después de configurar los usuarios, estos usuarios dejarán de ser válidos. En este caso, deberá volver a configurar los usuarios.
Además, preste atención a los ajustes de seguridad, ya que una configuración SNMP incorrecta puede suponer una amenaza y permitir que un host malintencionado obtenga información sobre un host ESXi. Esta información puede utilizarse para detectar puntos vulnerables e iniciar un ciberataque.
Configuración SNMP de varios hosts ESXi
El uso de Perfiles de host de VMware puede ayudarle a habilitar SNMP y configurar varios hosts ESXi de forma más racional si dispone de un gran número de hosts ESXi en su entorno vSphere.
Para habilitar SNMP y configurar varios hosts ESXi de VMware, debe disponer de VMware vSphere Enterprise Plus licencia para utilizar los perfiles de host de VMware en VMware vSphere Client. Los ajustes de SNMP de VMware para los perfiles de hosts ESXi se encuentran en Management > Host Profiles > your Profile > SNMP Agent Configuration. También puede utilizar vSphere PowerCLI para automatizar el proceso de configuración de un gran número de hosts ESXi y establecer la configuración de SNMP de ESXi en ellos.
Conclusión
La configuración de SNMP en ESXi requiere acceso SSH a los hosts ESXi, la configuración de los agentes SNMP y permitir el acceso en el cortafuegos de ESXi. La supervisión de ESXi le permite reaccionar a tiempo si se detecta algún problema y mejorar la disponibilidad general del servicio. No olvides realizar backups de las máquinas virtuales de VMware vSphere para evitar la pérdida de datos y poder recuperarlos y restaurar las cargas de trabajo en caso de que se produzca un desastre.
NAKIVO Backup & Replication es la solución universal de protección de datos que ofrece un amplio abanico de opciones para hacer backup de máquinas virtuales de VMware vSphere y otros datos en un centro de datos. Además, la última versión de la solución es compatible con la supervisión de ESXi como parte de la supervisión de VMware vSphere.










