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.
linux
networking
performance
bgp
Petrus
quelle
quelle
Antworten:
Genau das tun wir seit vielen Jahren für kritische Infrastrukturen. Wir nehmen drei vollständige Upstream-BGP-Feeds durch Quagga
bgpd
und 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
igb
Treiber verwenden (für etwa 100 GBP / NIC verwenden wir den: 82576, ET Dual Port Server Adapter), die bestene1000
an 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 (
bgpd
die 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
quelle
tc
nach 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.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.
quelle
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.
quelle
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.
quelle
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.
quelle