Buenas chic@s! En el día de hoy, vengo hablaros de una herramienta que suelo utilizar en mi día a día para solucionar los problemas de firewall, que pueden ocurrir en nuestro entorno de NSX-T con la maquinas virtuales. Gracias a esta herramienta podremos saber entre otras cosas: reglas que se aplican en nuestra vNic, flujos de conexión, etc.
Introducion
Como bien sabemos, cuando se hace uso del firewall de NSXT, debemos recordar que cada vNic tiene asociado un port, este port tiene una serie de filtros que componen el “Esxi network IO Chain”, entre ellos encontraremos el filtro “NSX Dfw”. Este es donde encontraremos el firewall de NSX-T, básicamente antes de que el paquete se ponga en el cable, se comprobara si el trafico esta permitido o denegado. Lo mismo ocurriría con el trafico entrante, antes de que el paquete entre en la vNic este será evaluado.
Si quieres saber mas sobre el “Esxi network IO chain”, aquí te dejo un enlace
https://blogs.vmware.com/vsphere/2018/12/understanding-the-esxi-network-iochain.html
VSIPIOCTL
Tras una breve introducción, ha llegado el momento de darle caña, para hacer uso y disfrute de este comando, tenemos que logearnos mediante SSH en nuestro host.
Antes que nada vamos a lanzar “vsipioctl -h” para saber todo los argumentos que podemos utilizar de cara a nuestro troubleshooting.
En mi caso voy hablaros de los que mas relevancia tienen para mi. Hay una gran cantidad de parámetros que están dedicados a la inserción de servicios.
Antes de comenzar a usar el comando, debemos tener en cuenta sobre que filtro de firewall debemos actuar, para ello haremos uso del comando ” summarize-dvfilter” y lo haremos en mi caso sobre una de las maquinas virtuales ” Teamviewer”.
En este caso nos debemos de fijar en 2 elementos:
- name : sera el nombre del filtro que usaremos en la mayoria de ejecucion con el comando “visipoctl”
- agentname : nos indica que es un filtro de seguridad(dfw)
Una vez tenemos apuntados los datos, el primer comando que lanzaremos el siguiente
vsipioctl getrules -f "name"
Gracias a este parámetro sacaremos todas las reglas que se están aplicando a nuestra vNic de la maquina virtual. En este caso me dice que tengo un total de 5 reglas de firewall y una regla de IDS/IPS.
Ahora vamos con otro comando interesante, este nos ayudara a entender todos los IP SET/Grupos que hay dentro de una regla.
vsipioctl getaddrsets -f "name"
Ahora nos vamos con unos de los comando mas importantes, este nos ayudara a sacar todos los flujos que están atravesando el filtro dfw.
vsipioctl getflows -f "name"
y los bloqueados como podemos ver en las 2 siguientes imágenes, en esta de aquí abajo sale como se esta bloqueando el ping.
y en esta ultima como un flujo de L7 esta siendo bloqueado.
Seguimos con otro comando, básicamente este nos viene a decir el uso de memoria que haciendo cada uno de los modulo del firewall. H
Exclusion List
Si aun no has conseguido dar con la solución y ver que sucede con tu maquina virtual, aquí te traigo una de las ultimas balas. En este caso lo que haremos será meter la maquina en una lista de exclusión, una vez dentro a esta maquina/s se le dejara de aplicar la seguridad y por tanto no se le aplicara ninguna regla.
Para ellos nos iremos al “Distributed Firewall” –> Actions–> Exclusion List
Esta parte si es la primera vez que entras, puede parecer un poco liosa, pero básicamente tendremos que crear un grupo con la maquina y seleccionarlo.
Si ahora lanzamos el comando veremos que ya no aparece el filtro anterior, básicamente porque ya no existe.
Conclusión
Hasta aquí hemos llegado, espero que os sirva tanto como me ha servido a mi. Si tienes alguna duda no dudéis en dejarla en los comentarios. Nos vemos en el siguiente post.