Buenas prácticas de BPDU Guard y BPDU Filter en un entorno con ESXi
Hola amigos, soy Florián Murillo y aquí estoy, como cada viernes.
El Protocolo Spanning-Tree (STP) mantiene la red física libre de bucles. Para la comunicación entre switches STP utiliza tramas multicast llamadas Bridge Protocol Data Units (BPDUs). No pienso torturar vuestras sobrecargadas mentes con una descripción profunda pero, os diré, que son las culpables de que cuando un camino se pierde entre dos switches, se active otro.
Lo que es menos conocido del STP son algunas funciones que debemos conocer y controlar cuando conectamos un host ESXi, me refiero al BPDU Guard y al BPDU Filter.
Cuando conectamos una NIC de un host ESXi a un switch Cisco, vemos como los leds del puerto se iluminan con una luz naranja durante más segundos de los que quisiéramos (casi un minuto) y luego se ilumina con luz verde.
Durante el periodo de luz naranja, STP analiza la NIC recién conectada para evitar bucles no esperados. Como estamos conectando un host ESXi cuyos vSwitches o dvSwitches no tiene STP por definición, ni pueden generar bucles, podemos evitar esta espera saltándonos el análisis de STP, configurando el puerto en un switch Cisco como portfast (en un Cisco Catalyst con IOS) o como edge port (en un Cisco Nexus con NX-OS), es decir:
sw_ios(config)# interface FastEthernet 0/20
sw_ios(config-if)# spanning-tree portfast trunk
… o bien …
sw_nxos(config)# interface Ethernet 0/20
sw_nxos(config-if)# spanning-tree port type edge trunk
Esta configuración es solo un medio para acelerar la puesta en servicio de un puerto físico que sigue estando bajo el dominio de STP, por tanto, si llegarán BPDUs a este puerto las procesaría como tal. Es decir, podríamos inducir al STP a realizar cambios en la topología de la red haciéndola impredecible.
Para evitar esto tenemos BPDU Guard, una función de los puertos portfast que controla la llegada de BPDUs, por donde no se las espera, bloqueando el puerto como mecanismo de seguridad para evitar males mayores, como un cambio inesperado de la topología de STP.
Un puerto portfast sigue dentro del dominio STP y, por tanto, sigue enviando BPDUs. Para evitarlo tenemos la función BPDU filter que permite no enviar tramas BPDUs por este puerto. Esto es lo que espera el host ESXi.
Se activa a nivel de interface con los comandos:
sw(config-if)# spanning-tree bpdufilter enable
sw(config-if)# spanning-tree bpduguard enable
Siendo los mismos comandos tanto en Cisco IOS como en Cisco NX-OS.
¿Crees que este post le puede interesar a alguien a quien conoces? Compártelo clicando los botones de Twitter, Facebook o Google+ de abajo. Gracias por tu apoyo.