En la entrada anterior vimos una forma sencilla para monitorizar el tráfico entre dos máquinas virtuales, pero no es una solución óptima, así que vamos a ver como mejorarlo.
Por el funcionamiento de un vSwitch, cuando recibe un paquete, este comprueba la etiqueta de VLAN (si la tiene) y lo envía al grupo de puertos (o grupos, ya que pueden ser varios con la misma configuración) que tienen esa configuración de VLAN.
Conociendo esto, y partiendo de nuestra configuración de máquinas, vamos a crear un nuevo grupo de puertos, específico para la monitorización de la red con nuestro sniffer, y para ver un ejemplo un poco más completo, las dos máquinas virtuales ahora están en distintos grupos de puertos (aunque en la misma red lógica)
En este caso, tanto el vSwitch, como todos los grupos de puertos tienen Promiscuous mode en Reject.
Todos los paquetes de la comunicación entre las máquinas SRV01 y SRV03, también son enviadas para ser procesadas al grupo de puertos PG-SNIFFER, pero como la configuración de Promiscuous mode es Reject, no vemos ningún paquete.
Para poder ver los paquetes, lo único que tenemos que cambiar es la configuración del grupo de puertos PG-SNIFFER
Y ahora si volvemos a ver el tráfico
De esta forma, ya puedo monitorizar TODO el tráfico de una misma red, independientemente de la configuración del grupo de puertos con sólo hacer estos pasos:
- Crear un grupo de puertos y habilitar el modo Promiscuous
- Ubicar un interfaz de red de captura del sniffer en ese grupo de puertos
De esta forma no tenemos que cambiar la configuración de todos los grupos de puertos, ni nos restringimos a uno específicamente para poder monitorizarlo.
Hemos mejorado, pero, ¿que pasa si queremos monitorizar varias redes? ¿tenemos que crear un grupo de puertos para cada una de las redes y tener un interfaz del sniffer en cada uno? Pues vamos a ver como hacerlo, con un ejemplo similar.
Ahora vamos a utilizar una nueva máquina (SRV05) que se encuentra ubicada en otra red diferente (Grupo de puertos: PG-INTERNA03, VLAN 103)
En este caso, tenemos otra máquina más (HALON01) que se encarga de enrutar el tráfico entre las dos redes (red con VLAN 103 y red sin VLAN).
Así pues ahora el tráfico hace el siguiente camino:
- SRV01 -> HALON01 -> SRV05
- SRV05 -> HALON01 -> SRV01
Si mantenemos esta configuración y el grupo de puertos PG-SNIFFER sigue en modo Promiscuous, al monitorizar el tráfico vemos los siguientes paquetes
Si accedemos al detalle de cada paquete, vemos los paquetes Request y Reply, pero solo vemos los que se generan en la red sin VLAN, esto es el tráfico entre SRV01 y HALON01 (el router). No vemos el tráfico entre el router y SRV05. Esto es así porque el grupo de puertos donde se encuentra el interfaz de captura del sniffer pertenece a la red sin VLAN.
Para poder ver todo el tráfico tenemos que cambiar la configuración del grupo de puertos del sniffer y utilizar la VLAN 4095. Esta VLAN está reservada y permite indicar que el grupo de puertos está conectado a TODAS las VLANs
De esta forma nuestro sniffer recibe el tráfico de TODAS las VLANs y al estar en modo Promiscuous, recibe el tráfico de TODAS las máquinas virtuales del host ESXi. Si comprobamos la captura:
Vemos que ahora si vemos todos los paquetes de las dos redes involucradas.
Así pues la configuración final para poder monitorizar tráfico de red en un servidor ESXi sería:
- Crear un grupo de puertos específico para la monitorización con la siguiente configuración
- VLAN 4095
- Promiscuous mode: Accept
- Ubicar un interfaz de captura de la máquina virtual sniffer en este grupo de puertos
Esto sería válido para cada vSwitch que tengamos. Si tenemos varios vSwitch con máquinas virtuales a monitorizar, tendríamos que crear un grupo de puertos por cada vSwitch.
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?
Un comentario
Pingback: Monitorizar tráfico de red en VMware vSphere (III) - VMware Blog