Hänsel und Gretel für Computer

Hänsel und Gretel für Computer

Artikel erschienen in IT Magazine 2006/02

Für alle Daemons

Da OpenBGPD für OpenBSD entwickelt wurde und es Bestandteil davon ist, liegt es nahe, es auch als Betriebssystem für den Router zu verwenden. Es gibt aber auch Portierungen für Net- und FreeBSD. Für letzteres existiert sogar ein Package. Aber auch die Installation von Hand geht sehr einfach – das bekannte make && make install reicht bereits aus.
Die OpenBGPD-Implementierung besteht im wesentlichen aus 3 Prozessen:



Session Engine (SE): Die Session Engine kümmert sich um die Kommunikation mit den Nachbarn. Dies umfasst unter anderem den Austausch von Kommunikationsparametern, Routing-Informationen und Änderungen von Verbindungszuständen (Updates). Diese leitet sie dann an den RDE weiter. Umgekehrt verschickt die Session Engine selbst Updates aus der Route Decision Engine an die Nachbarn.



Route Decision Engine (RDE): Die Route Decision Engine verwaltet die RIB (Routing Information Base), filtert nach vorgegebenen Regeln und berechnet den besten Pfad zu einem Paket-Praefix.



Parent: Die SE manipuliert über den Parent Process die Routing-Tabellen des Betriebssystem-Kerns. Damit ist eine Trennung von Be­nutzerschicht (der Protokoll-Daemon bgpd läuft als unprivilegierter Prozess) und dem Kern selbst gegeben, womit sich Sicherheitslücken im bgpd auf diesen begrenzen lassen und nicht auf den Kern überschwappen. Am anderen Ende kommuniziert die RDE mit der SE, empfängt von ihr die Routing-Informationen der Nachbarn und sendet die eigenen Routen zur Verteilung ebenfalls an die SE.





Der Hauptprozess (Parent) bgpd wird beim Hochfahren des Systems gestartet und forkt sich dann in SE- und RDE-Tochterprozesse, welche beide als unprivilegierte Benutzer in einer Change-root-Umgebung laufen. Das bedeutet, dass diese Prozesse das Dateisystem des Betriebssystems selbst gar nicht sehen und in einer Art Gefängnisumgebung laufen. Selbst wenn es also ein Sicherheitsproblem mit den Daemons geben sollte, könnte ein Angreifer somit nicht auf das gesamte System zugreifen. Als Schnittstelle zum Konfigurieren und Administrieren wird das Tool bgpctl verwendet. Damit kann man sich unter anderem die einzelnen Routen anzeigen lassen, diese manipulieren und aktivieren oder die Konfiguration neu laden.


Rosige Zukunft

Eine zukünftige Erweiterung von OpenBSD als Routing-Maschine wird das noch nicht veröffentlichte OpenOSPFD sein. Claudio Jeker, ehemaliger Student an der ETH Zürich, implementiert das Rou­-ting-Protokoll «Open Shortest
Path First». Das BGP erhält, wie bereits erwähnt, von anderen Routern die Routing-Tabellen
und Verfügbarkeiten der angeschlossenen Netze. OSPF fügt nun diese Tabellen zusammen und errechnet anhand dieser den jeweils kürzesten Weg zu einem Ziel. Der Vorteil ist, dass in ­kürzeren Zeitabständen komplette Topologien der Netze aktualisiert werden und somit unter anderem auf Ausfälle oder hohen Verkehr zwischen Netzen reagiert und diese kompensiert werden können. Der Nachteil ist, dass das OSPF-Protokoll viel CPU-Leistung und Speicher verbraucht.
OpenBGPD hat sich als stabile und zuverlässige BGP-Implementierung bewiesen, die zudem auch noch sehr einfach zu pflegen und warten ist. Oftmals ist Spezialhardware zu teuer und die Leistungsanforderungen an den Router erfordern keine speziell dafür konzipierte Lösung. In so einem Fall ist man mit einem flotten Rechner, OpenBSD und OpenBGPD bestens bedient.


Neuen Kommentar erfassen

Anti-Spam-Frage Welche Farbe hatte Rotkäppchens Kappe?
Antwort
Name
E-Mail
GOLD SPONSOREN
SPONSOREN & PARTNER