Freebsd ou Linux? comme routeur BGP sur 100 Mbps

10

Je construis un serveur pour agir en tant que routeur de frontière BGP pour ma liaison montante de 100 Mbps dans ISP.

J'ai besoin de ces fonctionnalités:

1) Peering / routage BGP à double pile (au moins 100 Mbps, peut-être plus). 2) Flux BGP Internet complet potentiel. 3) Quelques fonctionnalités ACL de base.

Le matériel est un vérin L3426 / 8G. La carte réseau sera intégrée au Broadcom 5716 à double port.

J'ai beaucoup travaillé avec Linux auparavant et il semble être capable de gérer 100 Mbps, mais j'ai entendu que FreeBSD est plus rapide sur les choses en réseau. Lequel devrais-je utiliser? Et avons-nous des chiffres de référence de performance?

À votre santé.

petrus
la source
1
une raison pour laquelle vous n'utilisez pas un routeur Cisco Cisco BGP? Malheureusement, la plupart des FAI qui laissent les clients exécuter bgp spécifient cette exigence de «compatibilité»
The Unix Janitor
9
Em, la première fois que j'ai entendu parler de cette restriction, et je travaille sur un réseau qui a commencé avec Quagga / Debian sur Dell PowerEdge, jusqu'à Juniper et Cisco kit maintenant. Traite également avec BEAUCOUP de différents fournisseurs et échanges de transit. Si un FAI met en place une telle restriction, remplacez-les par une personne compétente.
Niall Donegan
1
Note latérale, puisque c'est un routeur, je suggère fortement d'y mettre une carte NIC comme sauvegarde. Si la carte embarquée tourne mal, vous remplacez le mobo au lieu de remplacer une carte PCIe rapide.
Chris S
1
Vous gaspillez de l'argent. Une boîte bon marché de Mikrotik (RougerBoard 1100AH ​​par exemple) pourrait gérer cela à un prix inférieur et est basée sur Linux.
TomTom
Plusieurs personnes ont suggéré d'utiliser un nic dédié et non celui de Broadcom embarqué. Le blog Serverfault a quelques articles intéressants à ce sujet.
ollybee

Réponses:

11

Nous faisons exactement cela pour les infrastructures critiques depuis de nombreuses années. Nous prenons trois flux BGP complets en amont via Quagga bgpdet il utilise un énorme 658 Mo de RAM pour exécuter l'ensemble du système. À cet effet, Debian est beaucoup plus solide que les autres OS selon notre expérience (et il a également besoin de moins de mises à jour de sécurité avec son empreinte d'installation minimale, provoquant beaucoup moins de redémarrages que les deux autres OS que nous avons essayés). Nous utilisons Ksplice , nous ne démarrons donc que pour les mises à jour critiques des packages. Ne vous inquiétez pas du tout de la compatibilité avec les autres fournisseurs de votre FAI ... RIPE the RIR use Quagga!

Étonnamment, le matériel n'est pas si important, il s'agit uniquement des cartes réseau. Les processeurs rapides signifient simplement que les préfixes se chargent plus rapidement si vous actualisez les sessions (en supposant que vous avez un Go de RAM et qu'ils se chargent en mémoire), donc un Quad Core d'entrée de gamme est massivement sur-spécifié. Nous avons passé beaucoup de temps à essayer différentes cartes réseau et, selon notre expérience, les meilleures cartes Intel utilisent le igbpilote (pour environ 100 £ / carte réseau, nous utilisons le: 82576, ET Dual Port Server Adapter) avec lee1000venant en second. Il y a quelques considérations comme la façon dont vos NIC d'entrée et de sortie communiquent avec la carte mère, mais pour les sous 250Mbps, vous ne remarquerez probablement pas si vous utilisez ces NIC. Nous avons repoussé une attaque DDoS UDP sophistiquée en utilisant cette architecture (elle a utilisé les plus petits paquets UDP que les routeurs ont du mal à gérer). Gardez à l'esprit que vous pouvez traiter le plus grand nombre de paquets et pas nécessairement le débit, mesuré en Mbps. Pour très peu d'argent, nous avons spécifié un routeur multirésident Gigabit qui peut gérer des paquets de taille Internet standard, c'est-à-dire un fonctionnement normal, jusqu'à 850 Mbps!

J'ai commencé avec Cisco ( bgpdla configuration de est presque identique, donc si vous avez de l'expérience avec le kit Cisco, c'est une transition très rapide) mais parce que Linux est tellement malléable (par exemple, être capable d'ajouter quelques scripts à faibles ressources à vos routeurs pour aider avec les rapports et l'administration) à mon humble avis, il est incroyablement puissant (et sous-estimé) pour ce type de configuration. Vous ne pouvez pas vous tromper en lisant certaines des archives de la liste de diffusion Nanog si vous avez encore un doute ou si vous avez besoin d'aide.

Cela devrait vous permettre de démarrer assez rapidement sur Debian: Tutoriel Easy Quagga

Jonathan Ross
la source
L'autre avantage de l'exécution de Linux est que vous pouvez facilement façonner votre trafic avec tcla courbe d'apprentissage initiale de tc. Un avertissement est cependant que l'exécution d'IPtables sur votre boîte de transfert réduit considérablement les performances du noyau lors des attaques par rapport à ce que nous avons vu.
Jonathan Ross
J'aimerais en savoir plus sur le problème de la carte mère nic <->. Aussi, combien de pps êtes-vous capable de gérer avec succès?
Joris
Sur notre taille de paquet moyenne (HTTP, SMTP, DNS principalement), nous devrions gérer 850 Mbps en duplex. Le DDoS était de 120 000 pps de paquets UDP de 64 octets. L'effet était négligeable sur les performances, mais nous ne poussions pas autant de trafic lorsqu'il a frappé.
Jonathan Ross
Nous avons opté pour une carte mère avec deux emplacements PCIe rapides non connectés afin que les tampons ne goulot d'étranglement. J'oublie la terminologie car cela fait un moment que nous n'avons pas acheté le matériel. Un pour l'évacuation, un pour l'entrée. Assez standard ces jours-ci.
Jonathan Ross
5

Ce sont deux plates-formes capables. Exécutez quelque chose de solide comme Debian ou Centos, sur un matériel de bonne qualité serveur. Assurez-vous de spécifier des serveurs avec des cartes réseau Intel Server, ils sont bien meilleurs que Broadcomm pour la stabilité.

En ce qui concerne BSD vs Linux, c'est facile. Choisissez celui avec lequel vous êtes le plus compétent.

Tom O'Connor
la source
5
+1, FreeBSD peut généralement réduire Linux dans les benchmarks, mais la différence (s'il y en a) est si petite que vous devriez simplement choisir la plate-forme avec laquelle vous êtes le plus à l'aise.
Chris S
3

J'ai vu de vieux Celerons gérer 80 à 90 Mo / s de trafic normal sur une configuration Debian / Quagga avec 3 flux complets sans même casser une sueur. Cependant, le qualificatif est un trafic "normal", principalement HTTP / SMTP et DNS. Les mêmes machines sont tombées à plat sur leur visage lors de situations DDOS où les paquets par seconde sont allés à un nombre ridicule de paquets principalement UDP.

Ce n'est normalement pas la bande passante dont vous devez normalement vous inquiéter, mais le PPS que vous manipulerez.

Malheureusement, je ne peux pas vous aider sur le Linux VS BSD pour le routage des performances partie de la question, mais cela ne devrait pas faire de différence sur le matériel actuel pour quelques connexions de 100 Mo.

Niall Donegan
la source
2
les "performances de routage" ne le sont pas. Il s'agit en fait de "performances de transmission".
poige
Bon flic, guv! :)
Niall Donegan
0

Quagga (Zebra) fonctionne à la fois sur Linux et BSD. Les performances de mise en réseau de Linux ne sont pas pires que celles de BSD. Donc, il vous reste à considérer des critères supplémentaires pour choisir la plate-forme.

poige
la source
0

Point de données:

J'exécute une paire de serveurs Dell R200 sur Fedora, dont l'un a vu un pic de 500 Mbps avec NAT, iptables, LVS, quagga, bgpd sur une liaison 1GigE. À 100 Mbps, tout matériel moderne devrait bien fonctionner. Pour gérer des tables complètes, vous devriez pouvoir consulter les exigences de RAM correspondantes de Cisco ou de Juniper et y aller. 1 Go de RAM devrait suffire même sans filtrage. Mes routeurs fonctionnent avec 2 Go configurés mais je ne prends que des routes par défaut.

dmourati
la source