martes, 25 de noviembre de 2008

Switches, VLAN's y DHCP (parte VIII de VIII)

*************************************************************************************
Este artículo ha sido escrito por Vic_Thor en www.hackxcrack.com
- Switches, VLAN's y DHCP (Parte I de VIII)
- Switches, VLAN's y DHCP (Parte II de VIII)
- Switches, VLAN's y DHCP (Parte III de VIII)
- Switches, VLAN's y DHCP (Parte IV de VIII)
- Switches, VLAN's y DHCP (Parte V de VIII)
- Switches, VLAN's y DHCP (Parte VI de VIII)
- Switches, VLAN's y DHCP (Parte VII de VIII)
- Switches, VLAN's y DHCP (Parte VIII de VIII)
*************************************************************************************

Ampliamos STP

Cómo funciona y cómo configurar STP

El administrador es quien dice a la red de sitches quién será el raíz... pero...

Imaginemos que todos los switches están apagados.... y se encienden...

¿Cómo saben entonces quien es el puente raíz?

R: Pues mediante un proceso de elección.

Antes de que los switches empiecen a funcionar se debe elegir el raíz y cada uno "supone" que el switch raíz es él mismo, porque como nadie le dijo que hay otro con prioridad menor, piensa que él es el "jefe"

Y se publicita así mismo como raíz... empieza a emitir BPDU's anunciándose como raíz... pero ojo!! las BPDU's no traspasan más allá que los switches a los que está directamente conectados, o sea, que sólo a los switches adyacentes les pasa las BPDU's.

La trama BPDU es así (resumido)

ID de switch: que es la MAC del switch

Prioridad: la que le puso el admin

Coste: Es "lo alejado" que está del raíz, como al principio se todos los swithes se creen que éllos mismos son el raíz, ese valor es 0 (a menor coste mejor camino)

ID del puerto: Informa al receptor de la BPDU el número de puerto por el que está transmitiendo la trama.

Temporizadores: son tres, hello, max-age y forward-delay, los tres determinan lo rápido que responde a la topología STP, a los fallos de enlace, a los errores.... porque claro... esto está muy bien... pero y si "de repente" un susuario tropieza con un cable y lo desconecta... o nuestro administrador "capullo" que cambia el cable de un puerto a otro... o se quema el switch... o .... esio, que las redes son dinámicas.

Cada switch compara la BPDU recibida con la que el envió a otros switches y si descubre que un vecino tiene menor prioridad, cambia las BPDU's y empieza a anunciar a ese otro switch como raíz, en lugar de a sí mismo... esto lo hacen todos con todos, pero sólo con los vecinos, por tanto en unos segundos (o minutos) la red converge, es decir, todos los switches conocen "la mejor BPDU" y eligen al propietario de dicha BPDU como raíz.

En caso de que existan dos o más switches con la misma prioridad, se convertirá en raíz aquel que tenga la MAC mas baja... las MAC's no deberíaan nunca estar duplicadas, es raro que lo estén, y si lo están perderemos conectividad de toda la red.

Aquellos puertos por los que viaja el tráfico de un switch a otro, se les denomina puertos designados y aquellos puertos que viajan hacia el switch raíz, se les llama puertos raíz.

En caso de que haya problemas, cambios de topolgía, puertos que se desconectan, switches que se eliminan o que se añaden, se utilizan relojes para sincronizar de nuevo la red, estos los cité antes son:

Hello: Tiempo que transcurre entre BPDU y BPDU, por defecto 2 segundos

Max-age: Que determina el tiempo qeu ha de esperar un switch para que le llegue otro hello desde el vecino, si no le llega en el tiempo designado por hello, provoca un error y asume que el switch vecino ya no está... creo recordar que son 10 segundos... creo... no estoy muy seguro ahora.

Forward-delay: es el tiempo que transcurre desde que un puerto pasa del estado de espera al estado de aprendizaje. Cuando un puerto está en espera, escucha BPDU's pero no las transfiere, ni construye la tabla CAM, en aprendizaje, aprende las MAC's de los dispositivos que tienen conectados pero no las envía... por defecto son 15 segundos...

O sea, que desde que un switch se enciende hasta que está plenamente operativo pasan unos 30 segundos, si a elo le sumamos los cambios de BPDU's, etc. puede ser más lento...

Esto es muy significativo para el caso que nos ocupaba en este hilo... si se usan protocolos como DHCP, BootP, servidores RARP, etc.. es probable que algunos clientes no reciban su IP, porque hasta que el switch resuelve todo esto... pasan muchos segundos o minutos, por ello en estos casos es necesario que el puerto al que están conectados este tipo de servidores se active INMEDIATAMENTE.

Sin embargo, si esa inmediatez se aplica a puertos que se conectan a otros switches, envíamos BPDU's caducadas o erróneas y la red se va altraste.

Para cambiar el modo de un puerto se puede usar:

Backbonefast: Enlace troncal rápido, permite converger rápidamente ante fallos, es decir, pasa del reloj max-age

Uplinkfast: Pasa olímpicamente de los estados de espera y aprendizaje y para evitar fallos, cuando un puerto uplinkfast falla, se añade un valor de 3000 a cada puerto y una prioridad de 49152, así NUNCA se convertirá en raíz.

Portfast: Permite que un switch, que los puertos del switch configurados así, pase INMEDIATAMENTE al estado de envío, recuerda... este modo sólo para conectar PC's...

Con todo esto, para configurar STP de forma óptima hay que hacerse unas cuantas preguntas:

1.- ¿Hay switches redundantes?

2.- ¿Hay switches heterogéneos? de distintas marcas y fabricantes

3.- ¿Cúal es el diámetro de la red?

4.- Cual es el puente raíz?

5.- ¿Activamos bacbonefast, uplinkfast o portfast?

Pues ale... vamos a responder

1.- si no hay switches redundantes, mejor eliminar STP, con esto ganaremos en ancho de banda, recuerda que las BPDU's se trasmiten cada 2 segundos... y para nada.... si un día topáis con una topología redundante y os dejan meter un esnifer, probadlo... en pocos minutos MILES DE PAQUETES rulando...

para desactivar STP en el switch de cisco que usamos en el ejemplo sería:

SWForo-HxC(config)# no spaning-tree vlan 10
SWForo-HxC(config)# no spanning-tree vlan 20
SWForo-HxC(config)# no spanning-tree vlan 30

2.- Si existen switches de diferentes fabbricantes, no usar FastEthernetchanel y no usar PVST, más adelante lo explicaré mejor.

3 y 4.- El diámetro de la red lo ajustan automáticamente los temporizadores, el valor por omisión es 7 y es el número de switches que atraviesa un host para comunicarse con otro... el número máximo.

AVISO!!! Sólo se puede establecer el diámetro en el RAIZ, si lo hacemos en otro o en todos.... byes, byes, a la red enterita... jeje, recuerdo un caso de muerte por esto... una "gran empresa", multinacional... sus administradores locos... nadie daba con ello, hasta que lelgó "un vikingo" ,) y con tres comandos se acabó el problema.... claro que tuve que fardar toda la mañana haciendo que hacía algo más.... que sino igual ni me pagan....

Para establecer el diámetro y prioridad:

SWForo-HxC(config)# spanning-tree vlan 1 root primary diameter 7
SWForo-HxC(config)# spanning-tree vlan 1 priority 0

Por si falla el raíz, se puede designar otro secundario... para ello:

SW2Foro-HxC(config)# spanning-tree vlan 1 diameter 7
SW2Foro-HxC(config)# spanning-tree vlan 1 priority 8192

(observa que es otro switch... SW2.... no el raíz.... eh!!!

Antes comentamos, en el psot inicial, que si un administrador despistado, nos coloca un switch "chungo" y éste se convierte en raíz, se jodio el invento... para ello hay que porteger la raíz...

SWForo-HxC(config-if)# spanning-tree rootguard ó guard root... ahora tampoco recuerdo.. mañana lo repaso... pero eso sí... se ha de poner en los puertos que no hay nada conectado... fíjate que es config-if... configuracion de interface y no de vlan...

5.- Activación de portfast, etc..

De forma general los puertos troncales de todos los conmutadores pueden aprovecharse de backbonefast y ojito.... otro para nota...

Si se activa en uno HAY QUE ACTIVARLO EN TODOS... ou os pasará como a los de la multinacional

Para ello,

SWForo-HxC(config-if)# spaning-tree backbonefast

Si nos invclinamos por uplinkfast sería

SWForo-HxC(config)# spaning-tree uplinkfast

Esto es recomendado para los conmutadores de acceso, si se activa en switches de distribución o núcleo, pueden existir problemas de convergencioa, tiempos descontrolados de los relojes, bucles y adios la red...

Sin embargo, tiene la ventaja de disminuir de 30 segundos a 5 segundos el tiempo de convergencia, pero recuerda sólo para puertos o vlans que no conecten otros swicches, esl ejemplo típico es el puerto que conecta un hub con un switch

Y por último portfast, sólo para puertos que conectan servidores y host aislados...

SWForo-HxC(config-if)# spaning-tree portfast
SWForo-HxC(config-if)# spaning-tree portfast bpdu-guard

la última línea es nueva... esto desactiva los mensajes bpdu para esos puertos... tiene varias explicaciones...

a.- en las BPDU's viajan contraseñas, topologás, información del raíz, etc... eso no tiene porqué llegar a los pc's, un tipo malo con un esnifer y un crack... nos revienta la red en un periquete.

b.- si ese tráfico no les interesa a los pc's.... para qué enviarlo

c.- si enchufamos "por error" un switch a ese puerto, no habrá bucles.

Por último, os cuento un poco de los chanel...

Un FastEthernet chanel o un GigaEthernet chanel es una agrupación de hasta 8 puertos, de tal forma que podemos pasar información de hasta 8 gigas por agrupación, así hacemos más veloz la red, ten en cuenta que en una red muy parlanchina, con gran volumen de carga, con servidores da BBDD, etc... si hay muchos switches entre los servidores y los clientes, eso se convierte en un cuello de botella... de esta forma no... el tráfico interno de los troncales de la topología podría ir a 8 gigas...

Problemas con STP

Bucles: esto suele ser debido cuando se incluye un switch que no soporta STP o con STP desactivado o a una configuración incorrecta de portfast o a una configuración incorrecta de los temporizadores... imagina un admin listillo que cice que los max-age tienen menor duración que los hello... pos ya ves...

Tráfico ineficiente o lento: Selección incorrecta del puente raíz... el admin se coló y elegió mal o configuró mal las prioridades

Convergencia lenta: es decir, que desde que se conectan los switches hasta que se ponen en envíao... nos morimos... y de vez en cuando se para todo.... y nos quedamos en ascuas... esto es debido a temporizadores mal configurados o la elección de un diámetro erróneo...

Problemas con servidores bootp o dhcp: hay que desactivar stp o activar portfast, si no lo hacemos, estos equipos no podrán suministrar la configuración de red a sus clientes...

No hay comentarios: