Pregunta Equilibra el tráfico saliente al usar openbgpd en freebsd


Estoy usando openbgpd en freeBSD con 2 conexiones ISP. Tengo mi propio número AS y una red / 22. Actualmente estoy anunciando entero / 22 a ambas redes. El tráfico entrante entra, pero mi tráfico saliente se realiza a través de un solo enlace.

Me gustaría distribuir mi tráfico saliente a través de ambos enlaces para que el tráfico saliente también tenga carga equilibrada.

¿Cómo configurar esto usando openbgpd en freebsd?

Mi configuración actual de openbgpd se adjunta como referencia.

AS 00my-as
listen on xx.xx.xx.x
router-id xx.xx.xx.x
network aa.aa.aa.0/22
group "ISP1" {
  remote-as 11remoteas-1
  neighbor bb.bb.bb.1 {
   descr "ISP1"
   announce all  
  }
}
group "ISP2" {
  remote-as 22remoteas-2
  neighbor cc.cc.cc.37 {
   descr "ISP2"
   announce all  
  }
}
deny from any
deny to any
allow from bb.bb.bb.1
allow to bb.bb.bb.1
allow from cc.cc.cc.37
allow to cc.cc.cc.37

8
2018-03-03 16:25


origen




Respuestas:


No he usado openbgpd en años, por lo que le daré una teoría que puede aplicar a su configuración.

Un proveedor puede enviarle rutas. Por lo general, enviarán "predeterminado", "clientes" o "completo". Una ruta predeterminada es solo eso, se le anuncia 0.0.0.0/0 y usted sabe que debe alcanzar 0.0.0.0/0 (cualquier IP) a través de ellos. Su situación hace que parezca que ambos proveedores le están entregando una ruta predeterminada, y lo más probable es que el que tiene el ASN más bajo reciba todo el tráfico (el ASN es el desempate cuando un paquete puede ir a múltiples destinos y las rutas del AS son iguales). longitud, etc.).

Un feed de 'clientes' les haría anunciar cada ruta que está directamente conectada a ellos. Si tiene un proveedor como Level3, es probable que vea la mitad de Internet a través de este feed. Si su otro proveedor tiene un ASN más bajo, obtendrían cualquier tráfico que no estuviera directamente conectado con el interlocutor que anunciaba las rutas de sus clientes hacia usted.

Un feed 'completo' tendrá anuncios de ruta para cada sitio al que un proveedor sepa cómo llegar, no solo aquellos que están conectados directamente.

Deberías poder hacer algo como:

mostrar ip bgp resumen (comando IOS)

que debería enumerar el número de prefijos recibidos en algún lugar.

Si los dos proveedores existentes le envían una ruta predeterminada, su conexión está actualmente configurada para la conmutación por error. El proveedor A disminuye, luego se enrutará al Proveedor B. Si recibe las fuentes de información de los clientes junto con la ruta predeterminada, el tráfico fluirá hacia el proveedor que tenga el ASpath más corto para llegar a una dirección determinada, y volverá a la configuración predeterminada. Ruta si no pudo encontrar la dirección. Si recibiera una fuente completa de ambos, dependiendo de la superposición entre los proveedores, enviaría el tráfico a la "mejor" ruta a cada uno.

En uno de nuestros enrutadores de borde, muestro 310540 rutas activas, me aseguro de que tenga suficiente RAM y haya configurado la máquina para manejar las rutas de ambos proveedores si toma rutas completas. Puede experimentar tomando rutas de los clientes desde ambos hasta que se sienta más cómodo. O tome las rutas de los clientes del proveedor más pequeño de los dos y vea cómo cambian las cosas.

Esto todavía no 'carga equilibrio' o divide el tráfico de manera uniforme y dependiendo de su tráfico. Es posible que encuentre que un proveedor todavía recibe la mayor parte del tráfico. En este punto, necesitaría hacer algunos prefijos / mapas de ruta para ajustar el tráfico y preferir uno u otro.

Una vez que configure los mapas de ruta o una coincidencia ASN para cambiar su tráfico, si el sitio de destino se cae y su ruta se elimina de ese proveedor, su enrutador aún enviará el tráfico a la otra conexión. BGP es algo autocurativo.

Lo que hemos hecho es que tenemos algunos mapas definidos que coinciden con la ASN.

PROVIDER_A_TO PROVIDER_A_THROUGH PROVIDER_B_TO PROVIDER_B_THROUGH

Juniper hace que esto sea más fácil que usar comunidades, sin embargo, puedes hacer lo mismo.

Nuestras listas de prefijos ven si el destino es un ASN particular, y si lo es, pasa por el mapa _TO. Si el ASN aparece en la lista de _THROUGH, preferirá ese proveedor. Dado que uno de nuestros proveedores tiene una conexión directa con AT&T, PROVIDER_B_THROUGH coincide con 7018 | 7019 (y algunos otros ASN), por lo que AT&T transfiere por defecto al Proveedor B. Aunque AT&T es accesible desde ambos, preferimos enviarlo a través del Proveedor B .

Estoy seguro de que openbgpd tiene métodos similares.


2
2018-03-20 17:41





BGP no es un protocolo de equilibrio de carga.

Déjame repetir eso, BGP es NO Un protocolo de equilibrio de carga.

Si TODOS el tráfico sale de una sola conexión, mi primera suposición es que no está recibiendo un feed completo del proveedor que se está ignorando. El enrutamiento es tal que se da prioridad a rutas más específicas, por lo que si tiene una ruta de 192.168.0.0/23 que va al proveedor a, y dos rutas de 192.168.0.0/24 y 192.168.1.0/24 que van al proveedor b, proveedor una será completamente ignorada. No estoy familiarizado con OpenBGP. Así que no puedo decirte los detalles de cómo verificar algunas cosas sin mirar. Pero lo primero que debes hacer es validar eso. AMBOS los proveedores le ofrecen un feed completo y no solo una ruta predeterminada.

Si ese es el caso, entonces debe considerar la preferencia de ruta para el tráfico saliente y el relleno de la ruta para el tráfico entrante. Asegúrese de esperar entre veinticuatro y cuarenta y ocho horas entre los cambios de configuración solo para asegurarse de tener un conjunto de datos lo suficientemente grande como para determinar la efectividad de sus cambios.


3
2018-03-05 22:07





Construir un puente. Freebsd realmente cargará el equilibrio en las características de los prefijos actuales y cargará el equilibrio bastante bien. BGP no lo hará. Puede instalar ambos ISP en sentido ascendente y anunciarlos tanto por su / 22 como por ejemplo, y probablemente rechazará sus prefijos wan / 30, pero iBGP lo recogerá. iBGP funcionará bien en el puente y luego no habrá necesidad real de OSPF. Ahora tiene un equilibrador de carga y una configuración BGP completamente redundante. Tenemos varios y los amamos en los enlaces de conciertos a Internet.


1
2018-03-12 08:19





Lo primero que se debe verificar es si ambas sesiones de BGP están funcionando o no. utilizar

bgpctl mostrar resumen

Y mira si tienes mensajes intercambiados con ambos compañeros.

Y debe eliminar el "anunciar todo" a menos que quiera que se pare para enrutar su tráfico a través de usted, que generalmente es lo contrario;

Juste quita el anuncio todo y deberías estar bien.


1
2017-07-05 18:14