Architektur und Verkehrsfluss

In diesem Abschnitt werden die Architektur und der Verkehrsfluss im Citrix ADC CPX-Brückenmodus beschrieben. Citrix ADC CPX kann auch im Hostmodus bereitgestellt werden.

Wenn Sie eine Citrix ADC 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-Brücke verbunden. Die Docker-Engine weist der Citrix ADC CPX-Instanz im Netzwerk 172.17.0.0/16 auch eine IP-Adresse zu.

Das Standard-Gateway für die CPX-Instanz ist die IP-Adresse der Docker0-Brücke, was bedeutet, dass die Kommunikation mit der Citrix ADC CPX-Instanz über das Docker-Netzwerk erfolgt. Der gesamte eingehende Datenverkehr, der von der Docker0-Brücke empfangen wird, wird von der eth0-Schnittstelle der Citrix ADC CPX-Instanz empfangen und von der Citrix ADC CPX-Paket-Engine verarbeitet.

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

lokalisiertes Bild

So funktioniert eine einzelne IP-Adresse auf Citrix ADC CPX

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

  • Management-IP-Adresse, die als Citrix ADC IP (NSIP) -Adresse bezeichnet wird
  • Subnetz-IP (SNIP) -Adresse für die Kommunikation mit der Serverfarm
  • Virtuelle Server-IP (VIP) -Adresse (n) zum Akzeptieren von Clientanfragen

Eine Citrix ADC 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 nur eine private IP-Adresse (einzelne IP-Adresse) einer Citrix ADC CPX-Instanz von der Docker-Engine zugewiesen. Die drei IP-Funktionen einer Citrix ADC-Instanz werden auf eine IP-Adresse gemultiplext. Diese einzelne IP-Adresse verwendet unterschiedliche Portnummern, um als NSIP, SNIP und VIP (s) zu fungieren.

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

lokalisiertes Bild

Verkehrsfluss für Anforderungen, die von der Citrix ADC CPX-Instanz stammen

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

Die folgende Abbildung zeigt, wie eine Ping-Anforderung, die von einer Citrix ADC CPX-Instanz stammt, das Ziel erreicht.

lokalisiertes Bild

In diesem Beispiel wird die Ping-Anforderung von der Paket-Engine auf der eth0-Schnittstelle mit der Quell-IP-Adresse als Citrix ADC CPX-IP-Adresse (172.17.0.4) gesendet. Der Docker-Host führt dann die Netzwerkadressübersetzung (NAT) durch, um die Host-IP-Adresse (192.68.x.x) als Quell-IP-Adresse hinzuzufügen, und sendet die Anforderung an das Ziel (216.58.x.x). Die Antwort von der Ziel-IP-Adresse folgt umgekehrt demselben Pfad. Der Docker-Host führt NAT für die Antwort aus und leitet die Antwort an die Citrix ADC CPX-Instanz auf der eth0-Schnittstelle weiter.

Verkehrsfluss für Anforderungen aus dem externen Netzwerk

Um die externe Kommunikation zu ermöglichen, müssen Sie bei der Bereitstellung von Citrix ADC CPX Parameter festlegen, sodass Docker bestimmte Ports wie 80, 22 und jeden anderen gewünschten Port verfügbar macht. Wenn Sie keinen Port festgelegt haben, der während der Bereitstellung verfügbar gemacht werden soll, müssen Sie NAT-Regeln auf dem Docker-Host konfigurieren, um diese Ports verfügbar zu machen.

Die Clientanforderung, die aus dem Internet stammt, wird vom Docker-Host empfangen, der dann die Portadressübersetzung (PAT) durchführt, um die öffentliche IP-Adresse und den Port der einzelnen IP-Adresse und dem Port der Citrix ADC CPX-Instanz zuzuordnen und den Datenverkehr an die Instanz weiterzuleiten.

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

lokalisiertes Bild

In diesem Beispiel lautet die Docker-Host-IP-Adresse 192.68.x.x und die einzelne IP-Adresse der Citrix ADC CPX-Instanz ist 172.17.0.4. Der SSH-Port 22 der Citrix ADC CPX-Instanz ist Port 1100 auf dem Docker-Host zugeordnet. Die SSH-Anforderung vom Client wird auf der IP-Adresse 192.68.x.x an Port 1100 empfangen. Der Docker-Host führt die Portadressübersetzung durch, um diese Adresse und den Port der einzelnen IP-Adresse 172.17.0.4 auf Port 22 zuzuordnen, und leitet die Clientanfrage weiter.

Architektur und Verkehrsfluss