Diplomarbeit Skalierbare Hochverfügbarkeitslösungen mit Lastverteilung für E-Commerce Sites Mai 2000
3.4.3 Funktionsweise
Um die Hochverfügbarkeit einer Internetanbindung über mehrere Firewalls zu gewährleisten, existieren drei unterschiedliche Möglichkeiten:
- Fail over Software: Bei diesem Lösungsansatz werden zwei Firewalls implementiert, von denen jeweils eine aktiv ist und die andere sich in einem Standby-Modus befindet. Sobald die aktive Firewall ausfällt, übernimmt die Standby-Firewall deren Funktion, so dass eine sichere Internetanbindung gewährleistet ist.132 Dazu wird auf beiden Firewalls eine Software eingesetzt, mit deren Hilfe der Zustand von Soft- und Hardware der aktiven Firewall durch die Standby-Firewall in regelmäßigen Abständen kontrolliert wird. Sobald die aktive Firewall auf die Kontrollabfragen nicht mehr reagiert, schaltet sich die Standby-Firewall aktiv und übernimmt deren Funktion. Dieser Vorgang kann jedoch mehrere Sekunden dauern. Eine laufende TCP-Session auf der ausfallenden Firewall wird dabei verworfen und muß neu aufgebaut werden. Bei dieser Lösung kann jedoch nicht mehr als eine Firewall aktiviert sein, so dass bei einem Datendurchsatz, der von einer Firewall alleine nicht mehr bewältigt werden kann, ein anderer Lösungsansatz gefunden werden muß.
- Load Balancing Software: Um mehrere Firewalls gleichzeitig parallel zu betreiben, ohne zusätzliche Hardware einzusetzen, müssen diese ihre Session-Tabellen untereinander austauschen. Dies ist notwendig, da nicht gewährleistet werden kann, dass sämtliche Pakete einer Session nur von einer einzigen Firewall geroutet werden. Durch den Austausch der Session-Tabellen unter den Firewalls werden nun die Pakete einer Session von allen Firewalls akzeptiert und durchgelassen. Der Austausch der Tabellen ermöglicht jedoch nur den parallelen Betrieb mehrerer aktiver Firewalls, eine Lastverteilung findet dabei noch nicht statt. Eine Segmentierung des Datenverkehrs auf die Firewalls, um die anfallende Netzlast möglichst gleichmäßig zu verteilen, ist ohne vorgeschaltete Netzwerkkomponente nicht ohne weiteres machbar. Eine mögliche Lösung besteht darin, den Datenverkehr zwischen internem und öffentlichem Netz von vorneherein zu segmentieren, indem die Firewalls über mehrere IP-Adressen erreichbar sind, ein sogenanntes Load Sharing. Zwischen einem vorgeschalteten Router und den Firewalls wird mit der Equal-Cost Multipath-Funktion von OSPF der Datenverkehr gleichmäßig auf die Firewalls verteilt. Das so erzielte Load Sharing ist aber unflexibel, da die tatsächliche Auslastung der Firewalls nicht berücksichtigt wird. Durch den Einsatz von virtuellen IP-Adressen kann jedoch die Auslastung der Firewalls mit berücksichtigt werden. Es müssen dazu jedoch mehr virtuelle, d.h. nicht fest
einer einzelnen Firewall zugeordnete, IP-Adressen eingesetzt werden als Firewalls vorhanden sind. Eine auf den Firewalls aufgespielte Software sorgt nun dafür, dass die virtuellen IP-Adressen mitsamt dem dazugehörigen Datenverkehr möglichst gleichmäßig auf die Firewalls aufgeteilt werden.133 Bei einer Veränderung der Last wird diese Aufteilung zur Laufzeit entsprechend geändert, so dass eine gleichmäßige Verteilung der Last auf die Firewalls gewährleistet ist. Je mehr virtuelle IP-Adressen dabei verfügbar sind, desto besser kann die Last auf die vorhandenen Firewalls verteilt werden. Diese Lösung ist in Abb. 3.14 dargestellt. Bei der Darstellung ist zu beachten, dass die VIP-Pools von der auf den Firewalls implementierten Software zu Verfügung gestellt werden. Desweiteren muß der Zustand der Firewalls von der Software überwacht werden, so dass bei einem Geräteausfall die virtuellen IP-Adressen auf die funktionierenden Geräte aufgeteilt werden.
Abbildung 3.14 : Firewall Load Balancing mittels virtueller IP-Adressen
- Load Balancing Hardware: Durch den Einsatz spezieller Layer 4-Switches kann die Datenlast auf mehrere aktive Firewalls verteilt werden. Der Unterschied zwischen einem normalen Layer4-Switch und einem Gerät, welches für die Lastverteilung auf Firewalls eingesetzt wird, besteht darin, dass die Switches für den Einsatz bei Firewall Load Balancing zum Session Tracking in der Lage sind. Beim Session Tracking merkt sich der Layer4-Switch, an welche Firewall er das erste Paket einer TCP-Session gesendet hat und leitet daraufhin die folgenden Pakete dieser Session ebenfalls zu dieser Firewall.134 Ein Load Balancing findet demzufolge immer nur mit dem ersten Paket einer Session statt. Um einen SPoF zu vermeiden, werden die L4-Switches redundant eingesetzt. In diesem Fall ist es notwendig, dass sie ihre Session Tracking-Informationen untereinander austauschen. Der prinzipielle Aufbau eines solchen Netzes ist in Abb. 3.15 dargestellt. Desweiteren überprüfen die L4-Switches in regelmäßigen Abständen die Funktionsfähigkeit der Firewalls, um bei einem Ausfall den Datenverkehr auf die verbliebenen Firewalls umzuleiten. Beim Ausfall einer Firewall sind normalerweise die gerade über sie laufenden Sessions verloren. Einige L4-Switches können dies verhindern, indem sie Pakete einer Session solange zwischenspeichern, bis durch die TCP-Session der ordnungsgemäße Empfang dieser Pakete vom Zielrechner bestätigt wird.
Abbildung 3.15 : Firewall Load Balancing durch Layer 4-Switches
132Hot-Standby-Modus, vgl. [13]
133vgl. <52>
134vgl. <53>