Architektur und Datenfluss

Dieser Abschnitt beschreibt die NetScaler CPX Bridge-Modus-Architektur und den Datenfluss. NetScaler CPX kann auch im Host-Modus bereitgestellt werden.

Wenn Sie eine NetScaler CPX-Instanz auf einem Docker-Host bereitstellen, erstellt die Docker-Engine eine virtuelle Schnittstelle, eth0, auf der CPX-Instanz. Diese eth0-Schnittstelle ist direkt mit einer virtuellen Schnittstelle (veth*) auf der docker0-Bridge verbunden. Die Docker-Engine weist der NetScaler CPX-Instanz auch eine IP-Adresse im Netzwerk 172.17.0.0/16 zu.

Das Standard-Gateway für die CPX-Instanz ist die IP-Adresse der docker0-Bridge, was bedeutet, dass jede Kommunikation mit der NetScaler CPX-Instanz über das Docker-Netzwerk erfolgt. Der gesamte eingehende Datenverkehr, der von der docker0-Bridge empfangen wird, wird von der eth0-Schnittstelle auf der NetScaler CPX-Instanz empfangen und von der NetScaler CPX-Paket-Engine verarbeitet.

Die folgende Abbildung veranschaulicht die Architektur einer NetScaler CPX-Instanz auf einem Docker-Host.

lokalisiertes Bild

Wie eine einzelne IP-Adresse auf NetScaler CPX funktioniert

Eine reguläre NetScaler MPX- oder VPX-Appliance benötigt mindestens drei IP-Adressen, um zu funktionieren:

  • Management-IP-Adresse, genannt die NetScaler IP (NSIP)-Adresse
  • Subnetz-IP (SNIP)-Adresse für die Kommunikation mit der Serverfarm
  • Virtuelle Server-IP (VIP)-Adresse(n) zum Akzeptieren von Client-Anfragen

Eine NetScaler CPX-Instanz arbeitet mit einer einzigen IP-Adresse, die sowohl für die Verwaltung als auch für den Datenverkehr verwendet wird.

Während der Bereitstellung wird einer NetScaler CPX-Instanz von der Docker-Engine nur eine private IP-Adresse (einzelne IP-Adresse) zugewiesen. Die drei IP-Funktionen einer NetScaler-Instanz werden auf eine IP-Adresse gemultiplext. Diese einzelne IP-Adresse verwendet verschiedene Portnummern, um als NSIP, SNIP und VIP(s) zu fungieren.

Die folgende Abbildung veranschaulicht, wie eine einzelne IP-Adresse verwendet wird, um die Funktionen von NSIP, SNIP und VIP(s) auszuführen.

lokalisiertes Bild

Verkehrsfluss für Anfragen, die von der NetScaler CPX-Instanz ausgehen

Docker konfiguriert implizit IP-Tabellen und eine NAT-Regel, um den Datenverkehr, der von der NetScaler CPX-Instanz ausgeht, an die docker0-IP-Adresse zu leiten.

Die folgende Abbildung veranschaulicht, wie eine Ping-Anfrage, die von einer NetScaler CPX-Instanz ausgeht, das Ziel erreicht.

lokalisiertes Bild

In diesem Beispiel wird die Ping-Anfrage von der Paket-Engine über die eth0-Schnittstelle mit der NetScaler CPX-IP-Adresse (172.17.0.4) als Quell-IP-Adresse gesendet. Der Docker-Host führt dann eine Netzwerkadressübersetzung (NAT) durch, um die Host-IP-Adresse (192.68.x.x) als Quell-IP-Adresse hinzuzufügen und sendet die Anfrage an das Ziel (216.58.x.x). Die Antwort von der Ziel-IP-Adresse folgt dem gleichen Pfad in umgekehrter Reihenfolge. Der Docker-Host führt eine NAT für die Antwort durch und leitet die Antwort an die NetScaler CPX-Instanz über die eth0-Schnittstelle weiter.

Verkehrsfluss für Anfragen, die aus dem externen Netzwerk stammen

Um die externe Kommunikation zu ermöglichen, müssen Sie bei der Bereitstellung von NetScaler CPX Parameter so einstellen, dass Docker bestimmte Ports wie 80, 22 und jeden anderen gewünschten Port freigibt. Wenn Sie bei der Bereitstellung keine Ports zur Freigabe festgelegt haben, müssen Sie NAT-Regeln auf dem Docker-Host konfigurieren, um diese Ports verfügbar zu machen.

Die Client-Anfrage, die aus dem Internet stammt, wird vom Docker-Host empfangen, der dann eine Portadressübersetzung (PAT) durchführt, um die öffentliche IP-Adresse und den Port der einzelnen IP-Adresse und dem Port der NetScaler CPX-Instanz zuzuordnen, und leitet den Datenverkehr an die Instanz weiter.

Die folgende Abbildung zeigt, wie der Docker-Host eine Portadressübersetzung durchführt, um den Datenverkehr an die einzelne IP-Adresse und den Port der NetScaler CPX zu leiten.

lokalisiertes Bild

In diesem Beispiel ist die IP-Adresse des Docker-Hosts 192.68.x.x und die einzelne IP-Adresse der NetScaler CPX-Instanz ist 172.17.0.4. Der SSH-Port 22 der NetScaler CPX-Instanz ist dem Port 1100 auf dem Docker-Host zugeordnet. Die SSH-Anfrage vom Client wird auf der IP-Adresse 192.68.x.x an Port 1100 empfangen. Der Docker-Host führt eine Portadressübersetzung durch, um diese Adresse und diesen Port der einzelnen IP-Adresse 172.17.0.4 an Port 22 zuzuordnen und leitet die Client-Anfrage weiter.

Architektur und Datenfluss