04-24-2013 06:48 AM - editado 03-21-2019 04:49 PM
Buenos dias estimados,tengo la necesidad urgente de hacer un esquema de load balancing utilizando BGP para los usuarios de internet. Tengo dos proveedores que me anuncian mis redes publicas y quiero hacer un load-balancing para utilizar los dos link que tengo disponible. Básicamente lo que quiero es poder controlar que redes o host puedo enviar por un links para no tener todo saliendo por un solo proveedor…de tal manera que si alguno falla, pueda manualmente pasar las redes que están por el link caído al link que esta activo…les envio mi actual configuracion BGP con un unico link...Espero me puedan ayudar....Saludos..
neighbor 1.1.1.1 remote-as ABCDE (redes y ASN como ejemplo)
neighbor 1.1.1.1 description Unico Link
neighbor 1.1.1.1 ebgp-multihop 255
neighbor 1.1.1.1 update-source GigabitEthernet0/0
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 soft-reconfiguration inbound
address-family ipv4
network 10.10.10.0 mask 255.255.255.0
network 10.10.11.0 mask 255.255.255.0
network 10.10.12.0 mask 255.255.255.0
network 10.10.13.0 mask 255.255.255.0
que configuracion tengo que implementar para lograr mi objetivo??...He revisado por internet y hay varias configuraciones que parecen apuntan hacia lo que quiero pero no estoy seguro si aplican a mi requerimiento...SC..
el 04-24-2013 11:39 AM
Hola Danny:
BGP por sí solo no puede hacer balanceo de tráfico, pero lo que quieres hacer (load sharing) está permitido. Aquí hay un ejemplo de cómo hacer eso:
http://www.cisco.com/en/US/tech/tk365/technologies_configuration_example09186a00800945bf.shtml#conf4
Básicamente, a través de un route-map le das mayor o menor peso a través del atributo Weight o Local Preference a ciertos prefijos. Para que esto funcione de la mejor manera, los dos proveedores a los que estás conectado deben mandarte prácticamente las mismas rutas para que de esta manera prefieras a uno u otro proveedor para tu tráfico de salida.
Saludos,
Ricardo.
el 04-24-2013 02:43 PM
Estimado Ricardo, muchas gracias por tu ayuda..Estoy claro que BGP como usted dice no hace el load-balancing por si mismo, necesitamos herramientas como route-map. Como debo de hacer la segunda sesion BGP con el segundo proveedor??...Le envio la configuracion para que la revise:
neighbor 1.1.1.1 remote-as 1111 proveedor1
neighbor 1.1.1.1 description Unico Link
neighbor 1.1.1.1 ebgp-multihop 255
neighbor 1.1.1.1 update-source GigabitEthernet0/0
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 soft-reconfiguration inbound
address-family ipv4
network 10.10.10.0 mask 255.255.255.0
network 10.10.11.0 mask 255.255.255.0
network 10.10.12.0 mask 255.255.255.0
network 10.10.13.0 mask 255.255.255.0
neighbor 2.2.2.2 remote-as 2222 Proveedor2
neighbor 2.2.2.2 description Unico Link
neighbor 2.2.2.2 ebgp-multihop 255
neighbor 2.2.2.2 update-source GigabitEthernet0/0
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 soft-reconfiguration inbound
address-family ipv4
network 10.10.10.0 mask 255.255.255.0
network 10.10.11.0 mask 255.255.255.0
network 10.10.12.0 mask 255.255.255.0
network 10.10.13.0 mask 255.255.255.0
Despues debo de aplicar los route-map o dentro del BGP debo de indicarle que route-map va utilizar y con que redes???...Gracias por su ayuda....
el 04-24-2013 02:45 PM
Estimado Harold, gracias por su ayuda...deberia de usar route-map? o con estos comandos es sufuciente??....Gracias por su ayuda....
el 04-24-2013 02:57 PM
Hola Danny,
Puede usar route-map para anunciar las rutas hacia los proveedores pero no necesita route-map para el load balancing hacia Internet.
Saludos
el 04-24-2013 03:04 PM
Estimado Harold, es correcta esta configuracion de BGP para el segundo proveedor??
neighbor 1.1.1.1 remote-as 1111 proveedor1
neighbor 1.1.1.1 description Unico Link
neighbor 1.1.1.1 ebgp-multihop 255
neighbor 1.1.1.1 update-source GigabitEthernet0/0
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 soft-reconfiguration inbound
address-family ipv4
network 10.10.10.0 mask 255.255.255.0
network 10.10.11.0 mask 255.255.255.0
network 10.10.12.0 mask 255.255.255.0
network 10.10.13.0 mask 255.255.255.0
neighbor 2.2.2.2 remote-as 2222 Proveedor2
neighbor 2.2.2.2 description Unico Link
neighbor 2.2.2.2 ebgp-multihop 255
neighbor 2.2.2.2 update-source GigabitEthernet0/0
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 soft-reconfiguration inbound
address-family ipv4
network 10.10.10.0 mask 255.255.255.0
network 10.10.11.0 mask 255.255.255.0
network 10.10.12.0 mask 255.255.255.0
network 10.10.13.0 mask 255.255.255.0
Necesito algo mas para enviar una red por el proveedor 1 y otra red por el proveedor 2???Gracuas...
el 04-24-2013 04:02 PM
Si tiene que usar un prefix-list (o route-map) diferente para cada proveedor.
!
neighbor 1.1.1.1 prefix-list proveedor1 out
neighbor 2.2.2.2 prefix-list proveedor2 out
network 10.10.10.0 mask 255.255.255.0
network 10.10.11.0 mask 255.255.255.0
network 10.10.12.0 mask 255.255.255.0
network 10.10.13.0 mask 255.255.255.0
network 10.10.10.0 mask 255.255.254.0
network 10.10.12.0 mask 255.255.254.0
!
ip route 10.10.10.0 255.255.254.0 null0
ip route 10.10.12.0 255.255.254.0 null0
!
ip prefix-list proveedor1 seq 5 permit 10.10.10.0/24
ip prefix-list proveedor1 seq 10 permit 10.10.11.0/24
ip prefix-list proveedor1 seq 15 permit 10.10.12.0/23
!
ip prefix-list proveedor2 seq 5 permit 10.10.12.0/24
ip prefix-list proveedor2 seq 10 permit 10.10.13.0/24
ip prefix-list proveedor2 seq 15 permit 10.10.10.0/23
!
Saludos
el 04-25-2013 09:11 AM
Estimado Harold, a que se debe la diferencia de mascara de red de las redes 10.10.12.0/23..Es un ejemplo de subred o que es??...Entiendo lo que me indica para el anuncio de estas redes con los prefix-list, voy a realizar pruebas con ellos. Ahora estos son de salida(out), quiero que el paquete salga por ese proveedor y regrese por ese proveedor,no quiero que salga por uno y regrese por otro.. Esto es posible??....Muchas gracias por su tiempo...
el 04-25-2013 10:25 AM
La diferencia de mascara es que si anuncia el 10.10.10.0/24 y 10.10.11.0/24 por un lado, tiene qu anunciar 10.10.10
.0/23 por el otro lado como un backup. Estas rutas que anuncia a los proveedores influenciara el trafico desde el Internet.
¿Hay una buena rason para que un paquete que salga, por un lado regrese el mismo lado? El trafico asimetrico es una cosa muy normal en el Internet. Es posible de hacer el trafico simetrico pero puede ser mucha mas dificil.
Saludos
el 04-25-2013 01:16 PM
Hola harold, tengo una buena razon para que el trafico sea simetrico, y es que quiero utilizar de manera independiente los dos links que tengo disponible para aprovechar el ancho de banda de cada enlace ya que si la descarga se viene de manera asimetrica por uno de los enlaces que esta saturado, no me sirve ya que precisamente quiero descongestionar ese link aprovechando el link por donde estoy enviando esa red o host..Gracias por su tiempo...
el 04-25-2013 01:52 PM
Hola Danny,
En mi opinion, el load balancing es la solucion para decongestionar. No importa si el trafico es simetrico o asimetrico. Hay maneras de asegurar trafico simetrico pero pude ser mas o menos complicado. Por ejemplo, si esta usando NAT con un diferente bloque de direcciones IP, es facil de asegurar que el bloque 1 que salga via proveedor 1 regrese via el mismo proveedor. Pero si no esta usando NAT, puede usar algo como PBR para dirigir el trafico hacia proveedor 1 o 2 basado sobre la direccion IP fuente.
Saludos
el 04-26-2013 05:56 PM
Estimado ricardo, tengo un problema con la configuracion de BGP con dos proveedores, la configuracion es bien sencilla y es la que le envio. cuando levantan las sesiones, el router escoge la ruta por el proveedor2, el trafico de salida es enviado por este proveedor, pero el trafico de entrada es recibida por el proveedor1. Esto me causa el problema que no puedo aprovechar el ancho de banda de los dos link que tengo, ocasionando que el link del proveedor 1 se me sature(la descarga). Lo que necesito es que el trafico entrante y saliente sea por el mismo link, no que suba por un link y baje por otro link. Ademas necesito que el router tome al proveedor 1 como ruta preferida ya que no lo esta haciendo si no al proveedor 2. Que necesito para que esto funcione de la forma que quiero???...Como puedo ademas enviar el trafico de entrada y salida de la red 10.10.10.0 y 20.20.20.0 por cualquiera de los dos link??Es decir, la red 10.10.10.0 el trafico salga y entre por el proveedor 1 y la red 20.20.20.0 el trafico salga y entre por el proveedor 2 ????...Gracias por su tiempo y ayuda...
router bgp 123456
bgp router-id 1.1.1.1
bgp log-neighbor-changes
neighbor 1.1.1.1 remote-as 5555
neighbor 1.1.1.1 description Enlace proveedor 1
neighbor 1.1.1.1 ebgp-multihop 255
neighbor 1.1.1.1 version 4
neighbor 1.1.1.1 update-source GigabitEthernet0/0
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 soft-reconfiguration inbound
address-family ipv4
neighbor 2.2.2.2 remote-as 6666
neighbor 2.2.2.2 description Enlace Proveedor2
neighbor 2.2.2.2 version 4
neighbor 2.2.2.2 update-source GigabitEthernet0/2
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 soft-reconfiguration inbound
neighbor 2.2.2.2 ebgp-multihop 255
network 10.10.10.0 mask 255.255.255.0
network 20.20.20.0 mask 255.255.255.0
network 30.30.30.0 mask 255.255.255.0
network 30.30.30.0 mask 255.255.255.0
el 04-28-2013 02:21 PM
Hola Danny:
Con BGP existen distinas maneras de influenciar el tráfico de salida y el tráfico entrante. Para el tráfico de salida la intención es dar preferencia a un update de un vecino sobre otro y para esto puedes usar los atributos LOCAL PREFERENCE y WEIGHT. Por el contrario, para el tráfico de entrada, lo que se busca es mandar updates con atributos que ayuden a influenciar la decisión de equipos externos sobre cuál update se debe elegir y para esto se puede usar AS-PATH y de forma mucho más limitada MED.
Ahora bien, lo que estás buscando es que cierto tráfico de una red fuente (10.10.10.0) salga por determinado link y la respuesta también regrese por dicho link. En otras palabras, tu idea es enrutar con base en el origen del tráfico para parte de esta trayectoria y esto no es posible de realizar únicamente con BGP, ya que como todos los protocolos dinámicos está basado en enrutar hacia el destino sin importar el origen.
Para poder lograr esto, necesitas combinar BGP con PBR. Con BGP hay que influenciar el ruteo del tráfico de entrada para que Internet mande el tráfico hacia tu prefijo (10.10.10.0) por el proveedor que tú elijas. Con PBR, podemos forzar a que el tráfico originado en el mismo prefijo también salga por el mismo proveedor. PBR hace ruteo con base en el origen y se ejecuta antes del ruteo normal, por lo que si el "next-hop" no se encuentra disponible, aún existe la posibilidad de enrutar el tráfico a través de la tabla global.
Como ejemplo usaré el prefijo 10.10.10.0 para salir a través del proveedor 1 (1.1.1.1) y el prefijo 20.20.20.0 para salir a través del proveedor 2 (2.2.2.2):
1) Usar BGP (AS-PATH) para que el tráfico entrante para 10.10.10.0 sea menos preferido por el proveedor 2 (un AS PATH mas largo es menos preferido):
access-list 10 permit 10.10.10.0
route-map BGPISP2 permit 10
match ip address 10
set as-path prepend 123456 123456 123456
2) Usar BGP (AS-PATH) para que el tráfico entrante para 20.20.20.0 sea menos preferido por el proveedor 1:
access-list 20 permit 20.20.20.0
route-map BGPISP1 permit 10
match ip address 20
set as-path prepend 123456 123456 123456
3) Usar PBR para enrutar el prefijo 10.10.10.0 hacia el proveedor 1:
route-map 2ISP1 permit 10
match ip address 10
set ip next-hop 1.1.1.1
4) Usar PBR para enrutar el prefijo 20.20.20.0 hacia el proveedor 2:
route-map 2ISP2 permit 10
match ip address 20
set ip next-hop 2.2.2.2
5) Configuración final:
router bgp 123456
neighbor 1.1.1.1 route-map BGPISP1 out
neighbor 2.2.2.2 route-map BGPISP2 out
interface
ip policy route-map 2ISP1
interface
ip policy route-map 2ISP2
Saludos.
el 04-29-2013 08:47 AM
Estimado Ricardo, muchas gracias por su respuesta...entiendo todo lo que me ha explicado...mejor aun con los ejemplos que me dio...He aplicado la configuracion pero el trafico de entrada(lo que recibo de internet) siempre se me divide en los dos links, es decir estoy recibiendo trafico por ambos enlaces, he aplicado el maximo set as-path prepend (10)y continuo recibiendo trafico de entrada por ambos proveedores. he logrado que el trafico de salida, suba por el proveedor que quiero, pero no puedo hacer que el trafico de entrada entre por un solo proveedor..Hago una traza desde internet a un host de la red que estoy anunciando y siempre me voy por el provedor que no quiero...Que otras opciones tengo???....Muchas gracias por su tiempo...
el 04-29-2013 09:10 AM
Estimado Ricardo, le envío la actual configuración en donde el trafico de entrada(lo que viene de internet) entra por los dos proveedores, lo que necesito es que el trafico entrante entre unicamente por un ISP(ya he logrado que el trafico salga por un solo ISP), pero el trafico entrante se divide en los dos links...Unicamente si bajo la sesion de cualquiera de los dos, el comportamiento del enlace es a como quiero...Muchas gracias por su tiempo....
router bgp 123456
bgp router-id 1.1.1.1
bgp log-neighbor-changes
neighbor 1.1.1.1 remote-as 5555
neighbor 1.1.1.1 description ***Enlace_ISP1***
neighbor 1.1.1.1 next-hop-self
neighbor 1.1.1.1 soft-reconfiguration inbound
neighbor 1.1.1.1 route-map ENLACE_ISP1-in in
neighbor 1.1.1.1 route-map ENLACE_ISP1-out out
neighbor 2.2.2.2 remote-as 6666
neighbor 2.2.2.2 description ***Enlace_ISP2***
neighbor 2.2.2.2 next-hop-self
neighbor 2.2.2.2 soft-reconfiguration inbound
neighbor 2.2.2.2 route-map ENLACE_ISP2-in in
neighbor 2.2.2.2 route-map ENLACE_ISP2-out out
network 10.10.10.0 mask 255.255.255.0
network 20.20.20.0 mask 255.255.255.0
network 30.30.30.0 mask 255.255.255.0
network 40.40.40.0 mask 255.255.255.0
access-list 10 permit 0.0.0.0
access-list 20 permit 10.10.10.0 0.0.0.255
access-list 20 permit 20.20.20.0 0.0.0.255
access-list 20 permit 30.30.30.0 0.0.0.255
access-list 20 permit 40.40.40.0 0.0.0.255
!
route-map ENLACE_ISP2-in permit 10
match ip address 10
set local-preference 300
!
route-map ENLACE_ISP2-in permit 20
set local-preference 400
!
route-map ENLACE_ISP2-out permit 10
match ip address 20
!
route-map ENLACE_ISP1-in permit 10
match ip address 10
set local-preference 200
!
route-map ENLACE_ISP1-in permit 30
set local-preference 400
route-map ENLACE_ISP1-out permit 10
match ip address 20
set as-path prepend 123456 123456 123456 123456 123456 123456 123456 123456 123456 123456
Descubra y salve sus notas favoritas. Vuelva a encontrar las respuestas de los expertos, guías paso a paso, temas recientes y mucho más.
¿Es nuevo por aquí? Empiece con estos tips. Cómo usar la comunidad Guía para nuevos miembros
Navegue y encuentre contenido personalizado de la comunidad