Freebsd oder Linux? als BGP-Router über 100 MBit / s

10

Ich baue einen Server auf, der als BGP-Grenzrouter für meinen 100-Mbit / s-Uplink in ISP fungiert.

Ich brauche diese Funktion:

1) Dual-Stack-BGP-Peering / -Routing (mindestens 100 Mbit / s, möglicherweise mehr). 2) Möglicher vollständiger Internet-BGP-Feed. 3) Einige grundlegende ACL-Funktionen.

Die Hardware ist L3426 / 8G RAM. Die Netzwerkkarte wird an Bord von Broadcom 5716 mit zwei Ports sein.

Ich habe schon ausgiebig mit Linux gearbeitet und es scheint in der Lage zu sein, 100 MBit / s zu verarbeiten, aber ich habe gehört, dass FreeBSD im Netzwerk schneller ist. Welches soll ich verwenden? Und haben wir da draußen einige Performance-Benchmark-Zahlen?

Prost.

Petrus
quelle
1
Gibt es einen Grund, warum Sie keinen Cisco BGP-Router verwenden? Leider geben die meisten ISPs, die Kunden BGP ausführen lassen, diese Anforderung für 'Kompatibilität' an
The Unix Janitor
9
Em, das erste Mal, dass ich von dieser Einschränkung gehört habe, und ich arbeite in einem Netzwerk, das mit Quagga / Debian auf Dell PowerEdge begann, bis hin zu Juniper und Cisco Kit. Auch mit vielen verschiedenen Transitanbietern und Börsen zu tun. Wenn ein ISP eine solche Einschränkung einführt, ersetzen Sie diese durch eine kompetente Person.
Niall Donegan
1
Randnotiz, da es sich um einen Router handelt, würde ich dringend empfehlen , eine NIC- Karte als Backup einzulegen. Wenn der Onboard-Fehler auftritt, ersetzen Sie den Mobo, anstatt eine schnelle PCIe-Karte auszutauschen.
Chris S
1
Du verschwendest Geld. Eine billige Box von Mikrotik (z. B. RougerBoard 1100AH) könnte dies zu einem günstigeren Preis handhaben und basiert auf Linux.
TomTom
Einige Leute haben vorgeschlagen, ein dediziertes Nic zu verwenden und nicht das an Bord befindliche Broadcom. Der Serverfault-Blog enthält einige interessante Beiträge dazu.
Ollybee

Antworten:

11

Genau das tun wir seit vielen Jahren für kritische Infrastrukturen. Wir nehmen drei vollständige Upstream-BGP-Feeds durch Quagga bgpdund es werden satte 658 MB RAM verwendet, um das gesamte System auszuführen. Zu diesem Zweck ist Debian unserer Erfahrung nach viel solider als andere Betriebssysteme (und es benötigt auch weniger Sicherheitsupdates mit minimalem Installationsaufwand, was viel weniger Neustarts verursacht als die beiden anderen Betriebssysteme, die wir ausprobiert haben). Wir verwenden Ksplice, sodass wir nur für wichtige Paketaktualisierungen booten. Sorgen Sie sich überhaupt nicht um die Kompatibilität mit anderen Anbietern bei Ihrem ISP ... RIPE the RIR Verwenden Sie Quagga!

Überraschenderweise ist die Hardware nicht so wichtig, es geht nur um die Netzwerkkarten. Schnelle CPUs bedeuten im Grunde nur, dass die Präfixe schneller geladen werden, wenn Sie die Sitzungen aktualisieren (vorausgesetzt, Sie haben ein GB RAM und sie werden in den Speicher geladen), sodass ein Quad-Core der Einstiegsklasse massiv überfordert ist. Wir haben lange Zeit verschiedene NICs ausprobiert und nach unserer Erfahrung sind die Intel-Karten, die den igbTreiber verwenden (für etwa 100 GBP / NIC verwenden wir den: 82576, ET Dual Port Server Adapter), die bestene1000an zweiter Stelle kommen. Es gibt einige Überlegungen, wie Ihre Eingangs- und Ausgangs-NICs mit dem Mainboard kommunizieren, aber bei Sub-250-Mbit / s werden Sie wahrscheinlich nicht bemerken, wenn Sie diese NICs verwenden. Wir haben einen ausgeklügelten UDP-DDoS-Angriff mit dieser Architektur abgewehrt (es wurden die kleinsten UDP-Pakete verwendet, mit denen Router nur schwer umgehen können). Denken Sie daran, dass Sie am meisten daran interessiert sind, die höchste Anzahl von Paketen zu verarbeiten, und nicht unbedingt den in Mbit / s gemessenen Durchsatz. Für sehr wenig Geld haben wir einen Gigabit-Multihomed-Router spezifiziert, der Standardpakete in Internetgröße verarbeiten kann, dh normalen Betrieb mit bis zu 850 Mbit / s!

Ich habe mit Cisco angefangen ( bgpddie Konfiguration ist nahezu identisch. Wenn Sie also Erfahrung mit dem Cisco-Kit haben, ist dies ein sehr schneller Übergang), aber weil Linux so formbar ist (z. B. in der Lage zu sein, Ihren Routern einige ressourcenarme Skripte hinzuzufügen IMHO macht es unglaublich leistungsfähig (und unterschätzt) für diese Art der Einrichtung. Wenn Sie immer noch Zweifel haben oder weitere Hilfe benötigen, können Sie beim Lesen einiger Archive der Nanog Mailing-Liste nichts falsch machen .

Damit sollten Sie ziemlich schnell mit Debian: Easy Quagga Tutorial beginnen

Jonathan Ross
quelle
Der andere Vorteil von Linux ist, dass Sie Ihren Datenverkehr tcnach der ersten Lernkurve von tc problemlos gestalten können . Ein Wort der Warnung ist jedoch, dass das Ausführen von IPtables auf Ihrer Weiterleitungsbox die Kernelleistung bei Angriffen erheblich verringert.
Jonathan Ross
Ich würde gerne mehr über das Problem mit dem schönen <-> Motherboard erfahren. Wie viele pps können Sie erfolgreich verarbeiten?
Joris
Bei unserer durchschnittlichen Paketgröße (hauptsächlich HTTP, SMTP, DNS) sollten wir duplexierte 850 Mbit / s verwalten. Das DDoS betrug 120.000 pps von 64-Byte-UDP-Paketen. Der Effekt war vernachlässigbar auf die Leistung, aber wir haben nicht so viel Verkehr gepusht, als er traf.
Jonathan Ross
Wir haben uns für ein Motherboard mit zwei nicht verbundenen schnellen PCIe-Steckplätzen entschieden, damit die Puffer keinen Engpass verursachen. Ich habe die Terminologie vergessen, weil es eine Weile her ist, seit wir die Hardware gekauft haben. Eine für den Ausgang, eine für den Eintritt. Ziemlich normal in diesen Tagen.
Jonathan Ross
5

Sie sind beide fähige Plattformen. Führen Sie etwas Solides wie Debian oder Centos auf guter Serverhardware aus. Stellen Sie sicher, dass Sie Server mit Intel Server-Netzwerkkarten angeben. Diese sind aus Stabilitätsgründen viel besser als Broadcomm.

Was BSD und Linux betrifft, ist es einfach. Wählen Sie, mit wem Sie am kompetentesten sind.

Tom O'Connor
quelle
5
+1, FreeBSD kann Linux normalerweise in Benchmarks übertreffen, aber der Unterschied (falls vorhanden) ist so gering, dass Sie einfach die Plattform auswählen sollten, mit der Sie am besten vertraut sind.
Chris S
3

Ich habe alte Celerons gesehen, die auf einem Debian / Quagga-Setup mit 3 vollständigen Feeds 80-90 MBit / s normalen Datenverkehrs verarbeiten, ohne auch nur ins Schwitzen zu geraten. Das Qualifikationsmerkmal dort ist jedoch "normaler" Verkehr, hauptsächlich HTTP / SMTP und DNS. Dieselben Maschinen sind in DDOS-Situationen, in denen die Pakete pro Sekunde auf eine lächerliche Anzahl von hauptsächlich UDP-Paketen gingen, ins Gesicht gefallen.

Es ist normalerweise nicht die Bandbreite, um die Sie sich normalerweise Sorgen machen müssen, sondern das PPS, das Sie verarbeiten werden.

Leider kann ich Ihnen auf dem Linux VS BSD beim Routing der Leistung nicht weiterhelfen, aber es sollte für einige 100-MB-Verbindungen keinen Unterschied bei der aktuellen Standardhardware machen.

Niall Donegan
quelle
2
"Routing-Leistung" ist nicht. Eigentlich ist es "Weiterleitungsleistung".
Poige
Fairer Polizist, guv! :)
Niall Donegan
0

Quagga (Zebra) funktioniert sowohl unter Linux als auch unter BSD. Die Netzwerkleistung von Linux ist nicht schlechter als die von BSD. Sie müssen also zusätzliche Kriterien berücksichtigen, um die Plattform auszuwählen.

poige
quelle
0

Datenpunkt:

Ich verwende ein Paar Dell R200-Server auf Fedora, von denen einer einen Spitzenwert von 500 Mbit / s mit NAT, iptables, LVS, quagga und bgpd über eine 1GigE-Verbindung aufweist. Bei 100 Mbit / s sollte jede moderne Hardware gut funktionieren. Für die Verarbeitung vollständiger Tabellen sollten Sie in der Lage sein, die entsprechenden RAM-Anforderungen von Cisco oder Juniper zu konsultieren und von dort aus fortzufahren. 1 GB RAM sollte auch ohne Filterung ausreichen. Meine Router laufen mit konfigurierten 2 GB, aber ich nehme nur Standardrouten.

dmourati
quelle