Unterschiedliche Services auf einer IP-Adresse

IPv4 Adressen einsparen und Lasten sinnvoll verteilen

| Autor / Redakteur: Johannes Lauer / Andreas Donner

Die Funktionsweise eines Application Delivery Controllers kann helfen, IP-Adressen einzusparen.
Die Funktionsweise eines Application Delivery Controllers kann helfen, IP-Adressen einzusparen. (Bild: Fritz & Macziol)

Wird es auch bei Ihnen langsam eng im Netz? Viele IT-Abteilungen haben zunehmend Engpässe, wenn es um neue IP-Adressen geht. Doch es gibt eine Lösung, um Lasten zu verteilen und IPv4 Adressen zu sparen.

Vor einigen Jahren wurde eine IPv4-Krise heraufbeschworen, die sich zunächst aber deutlich verzögert hat. Trotzdem ist vielen Unternehmen bewusst, dass sie mit IP-Adressen haushalten müssen, besonders wenn diese bereits knapp sind. Die Folge: Web-Projekte können nicht wie gewollt umgesetzt werden, da jeder für seinen Dienst eine eigene IP-Adresse anfordert. Im schlimmsten Fall gerät sogar die Weiterentwicklung der Unternehmensprozesse ins Stocken, wenn etwa für neue Unternehmensbereiche, Projekte oder Produktreihen zusätzliche Adressen unabdingbar sind.

Dieses Problem lässt sich mit einem Application Delivery Controller, kurz ADC, lösen. ADCs sind weiterentwickelte Load Balancer und Reverse Proxies mit Funktionen und Merkmalen, um die Leistung zu verbessern. Vor allem dank eines sogenannten „Content Switch“ können über einen Aufruf verschiedene Ressourcen von unterschiedlichen Backendsystemen ausgeliefert werden. Dies geschieht über Clientattribute wie beispielsweise Sprache, Endgerät, ein Cookie, Layer-3- oder Layer-4-Daten sowie HTTP-Header-Informationen.

Eine IPv4-Adresse – beliebig viele Domains

So könnte eine Seite, die durch Identifikation des Nutzersystems in englischer Sprache angefordert wird, von einem anderen Server kommend auf Deutsch abgerufen werden. Der Content Switch, dem eine vorab konfigurierte Policy zugewiesen ist, erkennt die Clientsprache und „switcht“ entsprechend auf den englischen oder deutschen Server.

Diese Umschaltfunktion kann aber nicht nur für eine Domain verwendet werden, um einzelne Inhalte von anderen Servern zu verwenden. Anhand der HTTP-Header-Informationen ist es auch möglich, den Hostname auszulesen. Dadurch können über eine einzige IPv4 Adresse nahezu beliebig viele Domains betrieben werden.

ADCs in der DMZ

Ein ADC kann zwar an verschiedenen Stellen im Netzwerk implementiert werden. Die Implementierung in der Demilitarized Zone (DMZ) eines Netzwerks, auf das intern sowie extern zugegriffen werden kann, macht jedoch den meisten Sinn. Durch Routing-Grenzen kann der ADC darüber hinaus „two-arm“ implementiert werden. Dies bedeutet mit einem „Arm“ in der DMZ mit einem zweiten „Arm“ im internen LAN. Dies ist aber eine individuelle Entscheidung je nach Anforderung.

Für jeden Hostnamen ein Load Balancer

Am Beispiel des ADC von Citrix, dem NetScaler, sieht die Konfiguration wie folgt aus: Für jeden Hostnamen wird ein Load Balancer benötigt und mit einem Service oder einer Service Group versehen. Darin werden die Backendsysteme konfiguriert und mit einem Monitor überwacht. So werden Anfragen nur an Systeme weitergeleitet, die auch tatsächlich verfügbar sind.

Der Load Balancer selbst wird „Non Addressable“ konfiguriert. Es kann also nur der ADC selbst diesen Lastenverteiler verwenden. Als Load-Balancing-Methode wird beispielsweise „Leastconnection“ ausgewählt und gegebenenfalls eine „Persistence“ konfiguriert. Die beiden SubDomains mail.server.de und intranet.server.de hätten damit jeweils einen Load Balancer mit einem oder mehreren Servern.

Voraussetzungen für den Content Switch

Damit sind die Voraussetzungen für den Content Switch geschaffen: Nun gilt es zunächst festzulegen bzw. als Actions zu konfigurieren, was beim Content Switch passieren soll. Diese verweisen jeweils auf einen Load Balancer. Danach werden die eigentlichen Content Switch Policies angelegt. Für jeden Hostname wird eine Policy eingerichtet und in einer Expression definiert wann diese greift.

Die Policy setzt sich letztlich aus mehreren Bestandteilen zusammen. Das Beispiel "HTTP.REQ.HOSTNAME.SET_TEXT_MODE(IGNORECASE).EQ("mail.server.de")" teilt sich folgendermaßen auf:

Über den ersten Teil "HTTP.REQ.HOSTNAME" wird der Hostname abgefragt. Dies ist der wichtigste Teil, da mehrere Hostnamen über eine IP betrieben werden sollen. Mittels "SET_TEXT_MODE(IGNORECASE)" wird die Groß- und Kleinschreibung ignoriert. Da die meisten ADCs auf Linux basieren, sind die Hostnamen Keysensitive. Beim Beispiel "Mail.server.de" würde die Policy also gar nicht zur Anwendung kommen. Über EQ("mail.server.de") wird der eigentliche Hostname geprüft.

Content Switch vServer anlegen

Im letzten Schritt wird der eigentliche Content Switch vServer angelegt. Dieser bekommt eine IP-Adresse, in der Regel eine DMZ-Adresse. Auf diese wird die öffentliche IP-Adresse durch eine Firewall NAT (Network Address Translation) in eine interne IP-Adresse übersetzt. Die zuvor angelegten Content Switch Policies werden an den Content Switch vServer gebunden. Die Adressen mail.server.de und intranet.server.de werden nun im Domain Name System (DNS) mit derselben öffentlichen IP-Adresse angelegt, die auf den Content Switch vServer zeigt.

Das Ergebnis: Wenn der Internetnutzer mail.server.de aufruft, erreicht die Anfrage den Content Switch mit dem Hostnamen, über die Policy wird der richtige Hostname ausgelesen und die Anfrage an den jeweiligen Load Balancer weitergeleitet. Dieser überprüft, welcher Server die geringste Last hat und ob dieser verfügbar ist. Dann leitet er die Anfrage an den Backendserver weiter. Der Benutzer bekommt seinen Content ausgeliefert – und das alles über eine einzige öffentliche IP-Adresse.

Sinnvolle Lastenverteilung

Auf die gleiche Weise können jetzt beliebig viele weitere Domains beziehungsweise Hostnames angelegt werden. Die nächste Stufe wäre, nicht nur nach Hostnamen zu trennen, sondern gegebenenfalls auch andere Attribute abzufragen. Zum Beispiel anhand der URL: Beispielsweise kann so Content, der von "intranet.server.de/news" kommt, von einem anderen Server geliefert werden als Content von "intranet.server.de/kantine". Dadurch kann der Admin nicht nur IP-Adressen einsparen, sondern gleichzeitig die Last sinnvoll im Backendsystem verteilen.

Fazit

IT-Verantwortliche können die Anzahl von verwaltungsintensiven IPv4-Adressen mittels eines ADCs einschränken und zudem die Wünsche einzelner Abteilungen oder neuer Unternehmensbereiche erfüllen sowie das Backend besser ausnutzen.

Über den Autor

Johannes Lauer ist Citrix Consultant bei Fritz & Macziol.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 43627126 / Virtualisierung)