Freebsd o Linux? como enrutador BGP a más de 100mbps

10

Estoy construyendo un servidor para que actúe como un enrutador de borde BGP para mi enlace ascendente de 100mbps en ISP.

Necesito estas características:

1) Emparejamiento / enrutamiento BGP de doble pila (al menos 100 Mbps, tal vez más). 2) Potencial de alimentación completa de Internet BGP. 3) Algunas funciones básicas de ACL.

El hardware es L3426 / 8G ram. NIC estará a bordo del puerto dual Broadcom 5716.

He trabajado mucho con Linux antes y parece que es capaz de manejar 100mbps, pero escuché que FreeBSD es más rápido en materia de redes. ¿Cuál debo usar? ¿Y tenemos algunos números de referencia de rendimiento por ahí?

Salud.

petrus
fuente
1
¿Alguna razón por la que no estás usando un enrutador Cisco bgp? Desafortunadamente, la mayoría de los ISP que permiten que los clientes ejecuten BGP especifican este requisito de 'compatibilidad'
The Unix Janitor
99
Em, la primera vez que escuché sobre esa restricción, y trabajo en una red que comenzó con Quagga / Debian en Dell PowerEdge, hasta el kit de Juniper y Cisco ahora. También se ocupa de MUCHOS proveedores e intercambios de tránsito diferentes. Si un ISP está implementando dicha restricción, reemplácela con alguien competente.
Niall Donegan
1
Nota al margen, dado que es un enrutador, sugeriría encarecidamente que coloque una tarjeta NIC allí como respaldo. Si el de a bordo falla, está reemplazando el mobo en lugar de cambiar una tarjeta PCIe rápida.
Chris S
1
Estás desperdiciando dinero. Una caja barata de Mikrotik (RougerBoard 1100AH ​​por ejemplo) podría manejar esto por un precio más bajo y está basado en Linux.
TomTom
Varias personas han sugerido usar un nic dedicado y no los de Broadcom a bordo. El blog Serverfault tiene un par de publicaciones interesantes sobre esto.
ollybee

Respuestas:

11

Hemos hecho exactamente esto para la infraestructura crítica durante muchos años. Tomamos tres fuentes completas de BGP ascendente a través de Quagga bgpdy utiliza una enorme cantidad de 658 MB de RAM para ejecutar todo el sistema. Para este propósito, Debian es mucho más sólido que otros sistemas operativos en nuestra experiencia (y también necesita menos actualizaciones de seguridad con su mínima huella de instalación, lo que provoca muchos menos reinicios que los otros dos sistemas operativos que hemos probado). Utilizamos Ksplice, por lo que solo arrancamos para actualizaciones críticas de paquetes. No se preocupe en absoluto por la compatibilidad con otros proveedores en su ISP ... RIPE the RIR use Quagga!

Sorprendentemente, el hardware no es tan importante, se trata de las NIC. Las CPU rápidas básicamente significan que los prefijos se cargan más rápido si actualiza las sesiones (suponiendo que tenga un GB de RAM y se carguen en la memoria), por lo que un Quad Core de nivel de entrada está excesivamente especificado. Pasamos mucho tiempo probando diferentes NIC y, en nuestra experiencia, las mejores son las tarjetas Intel que usan el igbcontrolador (por aproximadamente £ 100 / NIC usamos el: 82576, ET Dual Port Server Adapter) con ele1000segundo. Hay algunas consideraciones como la forma en que sus NIC de entrada y salida hablan con la placa base, pero para sub 250Mbps probablemente no se dará cuenta si usa estas NIC. Repelimos un sofisticado ataque UDP DDoS utilizando esta arquitectura (utilizó los paquetes UDP más pequeños que los enrutadores tienen dificultades para manejar). Tenga en cuenta que poder procesar la mayor cantidad de paquetes es lo que más le preocupa y no necesariamente el rendimiento, medido en Mbps. Por muy poco dinero, hemos especificado un enrutador multihomed Gigabit que puede manejar paquetes de tamaño estándar de Internet, es decir, funcionamiento normal, ¡hasta 850Mbps!

Comencé con Cisco ( bgpdla configuración es casi idéntica, por lo que si tiene experiencia con el kit de Cisco es una transición realmente rápida), pero porque Linux es muy maleable (por ejemplo, puede agregar algunos scripts de bajo recurso a sus enrutadores). para ayudar con los informes y el administrador), en mi humilde opinión, es increíblemente poderoso (y subestimado) para este tipo de configuración. No puede equivocarse mucho leyendo algunos de los archivos de la lista de correo de Nanog si todavía tiene alguna duda o necesita más ayuda.

Esto debería ayudarlo a comenzar bastante rápido en Debian: Tutorial de Easy Quagga

Jonathan Ross
fuente
El otro beneficio de ejecutar Linux es que puede configurar fácilmente su tráfico tcdespués de la curva de aprendizaje inicial de tc. Sin embargo, una advertencia es que ejecutar IPtables en su cuadro de reenvío reduce significativamente el rendimiento del kernel durante los ataques de lo que hemos visto.
Jonathan Ross
Me encantaría saber más sobre el tema de la placa base nic <->. Además, ¿cuántos pps puedes manejar con éxito?
Joris
En nuestro tamaño de paquete promedio (HTTP, SMTP, DNS en su mayoría) debemos administrar 850 Mbps a doble cara. El DDoS era 120,000 pps de paquetes UDP de 64 bytes. El efecto fue insignificante en el rendimiento, pero no estábamos empujando tanto tráfico cuando golpeó.
Jonathan Ross el
Optamos por una placa base con dos ranuras PCIe rápidas no conectadas para que los búferes no tengan un cuello de botella. Olvidé la terminología porque ha pasado un tiempo desde que compramos el hardware. Uno para salir, otro para entrar. Bastante estándar en estos días.
Jonathan Ross el
5

Ambas son plataformas capaces. Ejecute algo sólido como Debian o Centos, en un buen hardware de calidad de servidor. Asegúrese de especificar servidores con NIC de servidor Intel, son mucho mejores que Broadcomm para la estabilidad.

En cuanto a BSD vs Linux, es fácil. Elija el que sea más competente.

Tom O'Connor
fuente
55
+1, FreeBSD generalmente puede superar a Linux en puntos de referencia, pero la diferencia (si hay alguna) es tan pequeña que simplemente debe elegir la plataforma con la que se sienta más cómodo.
Chris S
3

He visto viejos Celerons manejando 80-90Mb / s de tráfico normal en una configuración Debian / Quagga con 3 alimentaciones completas sin siquiera sudar. Sin embargo, el calificador allí es el tráfico "normal", principalmente HTTP / SMTP y DNS. Las mismas máquinas cayeron de bruces durante situaciones DDOS en las que los paquetes por segundo fueron a números ridículos de paquetes principalmente UDP.

Normalmente no es el ancho de banda del que normalmente debe preocuparse, sino el PPS que manejará.

Desafortunadamente, no puedo ayudarlo con el BSD de Linux VS para el rendimiento del enrutamiento, parte de la pregunta, pero no debería hacer ninguna diferencia en el hardware actual para algunas conexiones de 100Mb.

Niall Donegan
fuente
2
"rendimiento de enrutamiento" no lo es. Es "reenvío de rendimiento", en realidad.
poige
¡Policía justo, jefe! :)
Niall Donegan
0

Quagga (Zebra) funciona tanto en Linux como en BSD. El rendimiento de red de Linux no es peor que el de BSD. Por lo tanto, debe considerar criterios adicionales para elegir la plataforma.

poige
fuente
0

Punto de datos:

Estoy ejecutando un par de servidores Dell R200 en Fedora, uno de los cuales ha visto un pico de 500 Mbps con NAT, iptables, LVS, quagga, bgpd a través de un enlace 1GigE. A 100 Mbps, cualquier hardware moderno debería funcionar bien. Para manejar tablas completas, debe poder consultar los requisitos de RAM correspondientes de Cisco o Juniper e ir desde allí. 1 GB de RAM debería ser suficiente incluso sin filtrado. Mis enrutadores funcionan con 2 GB configurados, pero solo estoy tomando rutas predeterminadas.

dmourati
fuente