Mostrando entradas con la etiqueta Redundancy. Mostrar todas las entradas
Mostrando entradas con la etiqueta Redundancy. Mostrar todas las entradas

miércoles, 10 de febrero de 2016

Enrutamiento asimétrico - Concepto y posibles soluciones


El enrutamiento asimétrico es una condición normal pero no deseada en una red IP. El Enrutamiento asimétrico es una situación en la cual, por alguna razón, los paquetes que estan fluyendo (por ejemplo en una conexión TCP) eligen diferentes rutas para ambas direcciones del flujo.

Por ejemplo, un host A y un host B están ubicados en diferentes continentes y están intercambiando datos a través de una conexión TCP. Los segmentos enviados del host A hacia el B usan el enlace de un ISP1, los segmentos que responde el host B hacia el A usan el enlace de un ISP2 diferente del primero.





El Enrutamiento asimétrico no debería ser un problema para las implementaciones TCP/IP modernas, ya que las conexiones TCP no toman en cuenta cual es la ruta que sigue un paquete IP, mientras este alcance el destino dentro de un tiempo razonable.

El Enrutamiento asimétrico puede ocurrir también en una pequeña escala. Puede ocurrir en una empresa que usa dos diferentes rutas, como un enlace VPN y un enlace dedicado, hacia una de sus sucursales.

En un contexto de tecnología de Cluster completo, se habla de Enrutamiento asimétrico cuando se da una situación donde los segmentos de una conexión ingresan a la red por un nodo y salen de la red por otro nodo diferente.





El Enrutamiento asimétrico no es un problema en si mismo, pero puede causar problemas cuando se usa Traducción de Direcciones de Red (NAT) o Firewalls en la ruta.

Por ejemplo, en los Firewalls, cierta información sobre el estado de una comunicación es almacenada cuando los paquetes fluyen de un área de alta seguridad a un área de menor seguridad. El Firewall siempre va a ser el punto de salida de un área de seguridad hacia otro.

Si el flujo de datos de una comunicación regresa a través de otro firewall entonces el paso de ese paquete va a ser denegado porque viene de un área de seguridad baja hacia uno de seguridad alta, entonces en esta situación no va a generarse ninguna información de estado en el segundo Firewall. La información de estado existe en el primer firewall. (Vea la primera imagen de este post para una referencia de este tipo de situación).

En otra situación de ejemplo, en el siguiente diagrama observe que el tráfico que se genera desde la PC usuario hacia el servidor Finance o el servidor WWW puede fluir de manera asimétrica en varios puntos a lo largo de la red.





Entre la PC y el servidor Finance, los Switches S1 y S3 representan el principal lugar donde esta situación puede ocurrir.

Entre la PC y el servidor WWW, el tráfico podría tomar una ruta asimétrica en S1 y S2 o en la Internet cuando el trafico regresa a través del ISP A o del ISP B. La mayoría de los diseñadores no tienen ningún problema con el tráfico asimétrico porque las redes IP son asimétricas por naturaleza. En cada punto de la transmisión un Router IP tomará la decisión de reenvío basándose en su propio punto de vista de la red: Su propia tabla de enrutamiento.

En este escenario es que el Enrutamiento asimétrico puede comenzar a causar problemas. Cosidere nuevamente que la PC se está comunicando con el servidor WWW. Un paquete puede fluir a través del S4 - S1 - FW1 - Inet_RTR_1 - ISP A en de ahí al servidor WWW.

En este camino el FW1 aprende que la PC está tratando de comunicarse con el servidor WWW, entonces añade una entrada en su tabla de estados para habilitar el tráfico de retorno cuando este fluya desde el servidor WWW hacia la PC. Entonces imaginemos que el tráfico de retorno desde el servidor WWW hacia la PC se enruta desde ISP B, Inet_RTR_2, FW2, S2, S4 y la PC. En este caso el paquete nunca llega a la PC porque el FW2 no tiene ninguna información de estado para esa comunicación.

Desde el punto de vista del servidor WWW, este está iniciando nuevas comunicaciones hacia la PC las cuales son bloqueadas en base a la política de seguridad configurada.

Este problema puede complicarse si estamos usando Sistemas de Detección de Intrusiones (IDS) en nuestra red o cerca de los Firewalls. Si el trafico fluye de manera asimétrica un IDS no va a poder ver la comunicación completa. En consecuencia se puede generar alarmas acerca de un tráfico que es benigno (falso positivo) o podría no detectarse un ataque completo (falso negativo).

Lamentablemente no hay una solución sencilla para este problema. En la siguiente sección se incluye una lista de posibles soluciones para un problema de tráfico asimétrico observado en una red:
  • Enrutar el tráfico simétricamente
  • Balanceo de carga "por flujo" (en lugar de "por paquete") 
  • Use dispositivos de seguridad que comparten el estado
  • Considere la redundancia a nivel de Capa 2 (L2)
  • Manipulación de flujos usando enrutamiento o NAT
  • Use funciones de seguridad sin estado

Enrutar el tráfico simétricamente

Esta solución parece ser sencilla, pero en diseño de redes reales puede representar un desafío significante. Incluso usted podría sorprenderse al ver cuantas redes grandes usan el enrutamiento simétrico para garantizar el funcionamiento de dispositivos de seguridad con estado o para resolver otros problemas de Networking. 

Esta solución es particularmente común en bordes de Internet, donde es frecuente ver que la totalidad de la carga es manejada a través de un solo ISP mientras que la conexión secundaria queda como reserva.

A continuación se muestra otro ejemplo de enrutamiento asimétrico:


Balanceo de carga "por flujo" (en lugar de "por paquete")

La mayoría de los dispositivos de Capa 3 (L3) pueden ser configurados para hacer una de dos cosas cuando existen dos rutas de igual costo para una determinada red de destino. La primera opción es que los paquetes son balanceados, por los enlaces de mismo costo, en un formato simple de "uno por cada enlace a la vez" (Round-robin) donde cada paquete sucesivo va hacia el siguiente router disponible en la secuencia.  Esta opción es la que mas problemas causa en sistemas de seguridad internos como los IDS.

La segunda opción, la mejor en este caso, es la de balancear el tráfico por un flujo determinado. Esto significa que el tráfico detectado, desde un cierto origen y hacia un cierto destino, es siempre enviado a través de un router específico. Esto permite a los sistemas IDS y otros dispositivos que inspeccionan estados, ver al menos la mitad de la comunicación de una manera consistente. Desafortunadamente no es posible determinar cual es el camino que toma (o que va a tomar) el tráfico de retorno el cual todavía podría tomar un camino diferente.


 Use dispositivos de seguridad que comparten el estado

 A medida que el problema del trafico asimétrico se ha manifestado en las redes, los fabricantes de equipos de seguridad han comenzando a ofrecer soluciones que permiten que varios dispositivos de seguridad compartan la información de estado.



Los Firewall ASA1 y ASA2 pueden intercambiar la información de sus tablas de estados para garantizar que si el otro dispositivo ve parte de un flujo entonces este va a conocer cual es el tráfico de retorno que debe permitir. Frecuentemente la cantidad de información intercambiada por estos dispositivos es grande y requiere que se configure un link dedicado entre los Firewalls.


Considere la redundancia a nivel de Capa 2 (L2)

Con la introducción de redundancia a nivel L2 como alternativa a la redundancia en L3, tecnologías como Virtual Router Redundancy Protocol (VRRP) o Hot Standby Router Protocol (HSRP) pueden permitir que el tráfico fluya a través de un solo punto garantizando la redundancia. Esta opción es la que mejor funciona en conexiones de alta velocidad donde el uso de un solo enlace, en lugar de dos o mas, no afecta la performance de la red.


El resultado es que el tráfico normalmente asimétrico puede ser simétrico por distancias cortas de la red, como por ejemplo el trafico que pasa a través de un Firewall.

Si los Firewalls FW1 y FW2 están conectados a la misma red L2 entonces se puede usar VRRP para que puedan verse como un solo dispositivo desde el punto de vista de los routers que están al rededor. Esto significa que el tráfico puede fluir de manera asimétrica en la Internet y en la red interna, pero fluye de manera simétrica cuando atraviesa el Firewall. Esto a veces no es una solución posible cuando los dos dispositivos Firewall no se encuentran cerca (o en la misma red).

Manipulación de flujos usando enrutamiento o NAT

El tema de la preferencia de rutas BGP es demasiado amplio como para poder incluirlo en este post. Sin embargo vale la pena mencionar que se pueden hacer algunas cosas con protocolos de enrutamiento para poder determinar cual es el camino que los paquetes deben seguir. De alguna manera es posible influenciar que camino deberían tomar las redes externas cuando desean comunicarse con nuestra red. 


Otras posibles soluciones implican el uso de diferentes POOLs NAT basados en cual es el dispositivo de seguridad que atraviesa un paquete. Entonces los paquetes que retornan hacia nuestra red pueden ser "forzados" a elegir un dispositivo de seguridad en particular gracias a que tiene un POOL NAT específico asociado a ese dispositivo.


Use funciones de seguridad sin estado

Los Firewalls son dispositivos de seguridad ampliamente utilizados hace muchos años. Sin embargo algunas compañías aún utilizan ACLs básicas en lugar de un dispositivo Firewall para poder lidiar, entre otras cosas, con el tema del Enrutamiento asimétrico.

Hacer esto evidentemente sacrifica ciertas funcionalidades de seguridad. Los ACLs básicos no hacen un seguimiento a la información de estado, pero si el tráfico de la red es relativamente sencillo de categorizar entonces es posible lograr un nivel aceptable de seguridad sin necesidad de tráfico simétrico. Recuerde que el tema de la seguridad es un tema integral que debe considerar todos los aspectos en la red. 


Con los sistemas IDS, las firmas que no trabajan bien con entornos de enrutamiento asimétrico podrían ser apagadas para prevenir que generen alarmas de tipo "falso positivo". Pero esto va a reducir la seguridad que estos sistemas proporcionan, sin embargo permiten que las demás firmas si generen alarmas oportunamente.

--------------
Post tomado de: http://www.networksbaseline.in/2016/01/the-concept-of-asymmetric-routing.html  con aportes del editor del Blog.

Traducido por José Torrico Gumucio, Cisco Networking Academy Instructor.

lunes, 25 de mayo de 2015

Protocolos de redundancia: GLBP

Gateway Load Balancing Protocol (GLPB) es una solución propietaria de Cisco para la redundancia y balanceo de carga en una red IP.
 

GLBP permite la selección automática y recuperación simultánea de los fallas de router de primer salto.

GLBP proporciona equilibrio de carga a través de múltiples puertas de enlace (Router) mediante una única dirección IP virtual y múltiples direcciones MAC virtuales. 


Cada host está configurado con la misma dirección IP virtual, y todos los routers en el grupo de router virtual participan en el envío de paquetes. 


Como funciona GLBP

GLBP funciona haciendo uso de una sola dirección IP virtual, que se configura como la puerta de enlace predeterminada en los hosts.
 

Los diferentes routers que asumen el papel de reenvío utilizan diferentes direcciones MAC virtuales para la misma dirección IP virtual que se utiliza para enviar paquetes.
 

A diferencia de HSRP y VRRP , GLBP no utiliza una única dirección MAC virtual para todo el grupo. En cambio, el AVG asigna diferentes direcciones MAC virtuales para cada uno de los routers físicos del grupo.

Hay dos tipos de routers en una utilización grupo GLBP en redundancia y el equilibrio de carga:
 

Active Virtual Gateway (AVG):
Dentro de un grupo GLBP, un router virtual (puerta de enlace) es elegido como el Active Virtual Gateway (AVG), y es el responsable de la operación del protocolo. 


Este router AVG tiene el valor de prioridad o la dirección IP más alta en el grupo, responde a todas las solicitudes ARP para direcciones MAC que se envían a la dirección IP del router virtual.
 

Active Virtual Forwarder (AVF)
Un router dentro de un grupo GLBP es elegido como Active Virtual Forwarder (AVF). Este AVF es responsable de reenviar paquetes que son enviados a la dirección mac asignada por el router AVG. 


Pueden existir múltiples AVF para cada grupo GLBP.
 

Así, cuando un cliente necesita enviar paquetes al  AVG con la dirección IP configurada, solicita la dirección MAC enviando una solicitud ARP (protocolo de resolución de direcciones) en la subred.
 

El AVG responderá a estas peticiones ARP con la dirección MAC virtual de cada AVF, basado en un algoritmo de reparto de carga configurado.

La siguiente imagen muestra una topología típica con GLBP.


La siguiente imagen muestra una topología GLBP con IPv6.

Tipos de mecanismos de balanceo de carga en GLBP

Existen tres mecanismos de equilibrio de carga que se utiliza con GLBP. 

Estos incluyen:
  1. Round-robin: Es el método por defecto. Cada AVF es elegido secuencialmente en la resolución de direcciones respuestas para la dirección IP virtual. A cada solicitud ARP se le responde con la dirección MAC del siguiente AVF y al llegar al final se comienza desde el inicio.
  2. Host-dependent: Basado en la dirección MAC de un host, el mismo AVF se utiliza siempre para un host en particular.
  3. Weighted: Sobre la base de la cuota depende del peso del usuario entre los routers.

Estados del balanceo de carga en GLBP

Existen diferentes estados de AVG y AVF en un grupo GLBP.
 

El AVG pueden tener seis estados. Estos incluyen:
  1. Disabled: significa que no hay dirección IP virtual configurada.
  2. Initial: significa que la dirección IP virtual configurada pero la configuración de puerta de enlace virtual esta incompleta.
  3. Listen: Se reciben paquetes Hello y el equipo pasará a "Speak" estado si no escucha mensajes de un AVG disponible.
  4. Speak: Significa que el equipo está tratando de convertirse en el AVG y está informando a los demás equipos.
  5. Standby: Listo para convertirse en el próximo AVG.
  6. Active: significa que el equipo actual es el AVG y es responsable de responder a las solicitudes ARP para la dirección IP virtual.
 El AVF puede tener cuatro estados. Estos incluyen:
  1. Disabled: significa que no hay dirección MAC virtual asignada.
  2. Initial: La dirección MAC virtual está bien, pero la configuración de AVF está incompleta.
  3. Listen: El AVF está recibiendo Hello y está listo para pasar al estado "activo" como AVF (Existe un AVG).
  4. Active: El equipo actual es AVF y es responsable de reenviar paquetes enviados a la dirección MAC virtual que le ha sido asignada. 

Beneficios de GLBP

  • Balanceo de carga. Puede configurar GLBP de tal manera que el tráfico de clientes de LAN puede ser compartido por múltiples routers, compartiendo así la carga de tráfico de manera más equitativa entre los routers disponibles.
  • Múltiples routers virtuales. GLBP soporta hasta 1.024 routers virtuales (grupos GLBP) en cada interfaz física de un router, y hasta 4 forwarders virtuales por grupo.
  • Preemtion. El esquema de redundancia de GLBP le permite definit un AVG con una prioridad configurable predefinida.
  • Autenticación. Puede utilizar un esquema simple de autenticación de contraseña de texto entre los miembros del grupo GLBP. Un router dentro de un grupo GLBP con una llave de autenticación diferente a otros routers será ignorada por otros miembros del grupo.

Puntos para recordar sobre GLBP:

  1.  Protocolo propietario de Cisco (2005)
  2.  Usa el puerto 3222 UDP
  3.  Envia mensajes Hello a la dirección Multicast 224.0.0.102
  4.  Prioridad por defecto 100
  5.  Peso (weight) por defecto 100
  6.  Preempt deshabilitado por defecto
  7.  Decremento de peso (weight) usando track = 10
  8.  Algoritmos de blanceo de carga
    1.     Round Robin
    2.     Weighted
    3.     Host Dependent
  9.  Algoritmo de balanceo de carga por defecto: Round robin.
  10.  Frecuencia de Hello – 3 sec
  11.  Temporizador Hold – 10 sec
  12.  No hace seguimiento (track) por defecto
  13.  En GLBP configuramos track externo.
  14.  Soporta autenticación con MD5 & texto plano

Fuentes de este artículo:

jueves, 21 de mayo de 2015

Protocolos de redundancia: VRRP

Por Alberto Castillo 

En la entrada anterior, “Protocolos de redundancia: HSRP”, vimos el protocolo propietario de Cisco HSRP. Si los equipos que tenemos en nuestra red son todos Cisco, no tendremos mayor problema en utilizar este protocolo… ¿Pero que hacemos si tenemos equipos de diferentes fabricantes?

En ese caso la solución pasa por utilizar un protocolo no propietario y la alternativa estándar al HSRP sería el protocolo VRRP.

El funcionamiento de VRRP es similar al de HSRP. VRRP también utiliza una IP y MAC virtual por grupo. En base a la prioridad configurada en cada Router del grupo, VRRP elegirá un Router “master”, que es el que hará uso de la IP virtual y el resto de Routers del grupo permanecerán en estado “backup”, hasta que ocurra un fallo en la red que provoque la elección de un nuevo Router “master”… VRRP envía paquetes a la dirección multicast 224.0.0.18, de forma que los Routers “Backup” puedan detectar si ha habido un fallo en la red que haga necesaria la elección de un nuevo Router “master”.

A continuación veremos un ejemplo simple de como configurariamos VRRP en un Router Cisco y en un Router Juniper.




En el ejemplo primero vamos a configurar un Router Cisco, al que le configuraremos una prioridad mas alta para que actúe de “master”. Como podemos observar la config es similar a HSRP, donde definimos los siguientes parámetros:

  • IP Virtual: 172.16.1.254
  • Prioridad: 110
  • Track: que determinará el decremento en la prioridad (Por defecto es 10 por lo que no aparece en la config).

Exactamente igual que como hicimos con HSRP, la condición que determinará el decremento, la hemos especificado unas lineas mas arriba en el modo de configuración global, donde hemos definido un track hacia la ruta 8.8.8.8. En caso de que la IP definida en el track se vuelva inalcanzable, se producirá un decremento de 10 en la prioridad.

...
!
track 1 ip route 8.8.8.8 255.255.255.255 reachability
!
!
interface GigabitEthernet0/0
ip address 172.16.1.2 255.255.255.0
duplex auto
speed auto
media-type rj45
vrrp 1 ip 172.16.1.254
vrrp 1 priority 110
vrrp 1 track 1


Ahora configuramos el Router Juniper que actuará de “backup”.Al igual que con el Cisco, definimos los siguientes parámetros:
  • IP Virtual: 172.16.1.254
  • Prioridad: 105 (como va a ser “backup”, será menor que la del “master”)
  • Track: En este caso no sería necesario configurar el track, sin embargo os lo pongo para que veáis como se configuraría.

...
set interfaces ge-0/0/1 unit 0 family inet address 172.16.1.1/24 vrrp-group 1 virtual-address 172.16.1.254
set interfaces ge-0/0/1 unit 0 family inet address 172.16.1.1/24 vrrp-group 1 priority 105
set interfaces ge-0/0/1 unit 0 family inet address 172.16.1.1/24 vrrp-group 1 track route 8.8.8.8/32 routing-instance default priority-cost 10


Como hemos explicado VRRP envia paquetes multicast , pero a diferenca de en HSRP estos paquetes solo los envia el Router que actúa de “master”.

En la siguiente captura vemos uno de esos paquetes:


Si el Router “master” pierde el track que hemos definido, se aplicará el decremento en la prioridad y el Router “backup” pasará a ser el “master”.

En la siguiente captura vemos como en el Router Cisco, el track aparece down y se ha decrementado su prioridad a 100, por lo que su estado actual es “backup”:



Por otro lado vemos como ahora el estado del Router Juniper es “master”:




Y si realizamos una captura de paquetes, vemos como ahora es el Router Juniper el que envía los paquetes multicast:

Fuente: Échale un vistazo…

martes, 19 de mayo de 2015

Protocolos de redundancia: HSRP


Por Alberto Castillo

https://echaleunvistazo.wordpress.com/2015/02/13/protocolos-de-redundancia-hsrp/

HSRP (Hot Stand-by Redundancy Protocol) es un protocolo de capa 3, propietario de Cisco, que proporciona redundancia a nivel de gateway.

HSRP utiliza una IP y MAC virtual, que es la misma para todos los routers de un mismo grupo. En cada grupo hay un router en estado “active” que es el que hace uso de esa IP virtual y el resto de routers del grupo permanecen en estado “standby”. Para determinar cual es el router “active” y cual o cuales estarán en “stanby”, HSRP hace uso de la prioridad configurada en cada router. El router con mayor prioridad será el router “active” y se encargará de  enrutar los paquetes a través de la IP virtual.

EL metodo que utiliza HSRP para determinar cuando se ha producido un fallo en la red y por tanto un router “standby” debe tomar el rol de “active”, es bastante simple, se basa en el envío de paquetes Hello a la dirección multicast 224.0.0.2 puerto 1985 UDP.

Ahora  mostraré un pequeño ejemplo de cómo se configurarían dos routers Cisco para hacer uso del protocolo HSRP.




En primer lugar configuraremos el Router que va actuar como activo, para ello tendremos que definir los siguientes parametros:

  • IP virtual: 172.16.1.254
  • Prioridad: 115
  • Preempt: por defecto desactivado, pero necesario si queremos que el router activo sea siempre el de mayor priridad.
  • Track: que determinará el decremento en la prioridad(10 en el ejemplo) una vez se produce la falla.

En este caso la condición que determinará el decremento, la hemos especificado unas lineas mas arriba en el modo de configuración global, donde hemos definido un track hacia la ruta 8.8.8.8.

En caso de que la IP definida en el track se vuelva inalcanzable, se producirá un decremento de 10 en la prioridad.

...
!
track 1 ip route 8.8.8.8 255.255.255.255 reachability
!
interface Ethernet0/1
 ip address 172.16.1.1 255.255.255.0
 standby 1 ip 172.16.1.254
 standby 1 priority 115
 standby 1 preempt
 standby 1 track 1 decrement 10

Para configurar el router “standby” configuraremos lo siguiente:

  • IP virtual: 172.16.1.254 (es la misma para todos los routers del grupo)
  • Prioridad: 110 (tiene que ser menor que en el router activo)
  • Preempt: Al igual que en el router activo.

En este caso no es necesario configurar un track.

 !
interface Ethernet0/1
 ip address 172.16.1.2 255.255.255.0
 standby 1 ip 172.16.1.254
 standby 1 priority 110
 standby 1 preempt

Como se ha explicado al principio, el protocolo HSRP se basa en el envío de paquetes Hello. Si analizamos la captura de uno de esos paquetes podemos ver la información que contiene.

Vemos en la siguiente imagen un paquete Hello enviado por el router activo, en el cual se informa del estado, prioridad, grupo, ip virtual…



A continuación vemos una captura similar pero en este caso de un paquete Hello correspondiente al router “standby”:



Como hemos visto en la configuración, hemos definido un track a la ruta 8.8.8.8.

¿Que ocurre si  el router activo no puede alcanzar esta ruta?

Podemos ver el resultado en la siguiente imagen, vemos que aparecen una serie de avisos, estado del track down, y cambio a estado “standby”… Si miramos el estado del protocolo vemos como ahora este router ha pasado al estado “standby” y ahora su prioridad es de 105:



Vemos como ahora el otro router ha pasado a ser “active”:



Si realizamos ahora una captura de los paquetes Hello, podemos ver como ahora se ha invertido el estado de los routers y como efectivamente se ha producido el decremento de prioridad:



Y el paquete Hello del nuevo router active: