Floating IP

In diesem Abschnitt wird eines der grundlegenden Elemente eines Netzwerks beschrieben - Floating-IP-Adressen - und ihre Rolle beim Aufbau einer Netzwerkinfrastruktur in der Cloud. Es wird erörtert, wie der Zugang zu einer Instanz und ihren Diensten von öffentlichen Teilnetzen aus organisiert werden kann, während Floating IPs verwendet werden.

Beschreibung

Floating IPs sind statische öffentliche IP-Adressen, die den Instanzen eines Projekts zugewiesen werden können. Floating IPs sollen den Netzwerkzugriff auf Projektinstanzen mit Hilfe des Mechanismus der „sicheren Netzwerkadressübersetzung“ (secure network address translation, SNAT) ermöglichen. Das Wesen dieses Mechanismus besteht in der Ersetzung der Quelladresse während der Übertragung eines Pakets in eine Richtung und der Rücksubstitution der Zieladresse im Antwortpaket.

Kontingent an Floating-IP-Adressen

Floating-IP-Adressen werden dem Projekt für die Zeit der Aktivierung zugewiesen. Jedes Projekt verfügt über eine begrenzte Anzahl von Floating IP-Adressen; die Anzahl richtet sich nach dem Kontingent an öffentlichen Adressen, das der Projektinhaber bei der Bestellung des SIM-Cloud-Dienstes festgelegt hat. Um die Anzahl der zur Verfügung stehenden öffentlichen Floating-IP-Adressen zu ändern, muss das entsprechende Kontingent für das Projekt geändert und dann die Zuweisung oder Freigabe der Floating-IP durchgeführt werden.

Verknüpfung oder Abkopplung der zugewiesenen IP

Floating-IP-Adressen, die bereits dem Projekt zugeordnet sind, können aktiven Instanzen über das Dashboard der Weboberfläche oder über andere Service-Management-Schnittstellen zugewiesen werden: Openstack CLI oder API.

Über die Weboberfläche kann der Benutzer bereits zugewiesene Floating IPs von zwei Punkten aus zuweisen (verknüpfen) oder entfernen:

  • „Compute“/“Instanzen“ –> „Zugewiesene/Verbundene Floating IP“
  • „Netzwerk“/“Floating IPs“ –> „Zuweisen“

Um eine Floating IP zuzuweisen, müssen Sie eine zugängliche öffentliche IP und den entsprechenden Zielport der Instanz angeben.

Warnung

Die Zuweisung einer Floating IP ist nur für Ports von Instanzen zulässig, deren Subnetzwerke mit dem Provider-Router geschaltet sind, da dies der einzige Knoten des Projekts ist, der Zugang zum öffentlichen Netz hat. Hierfür reicht es aus, die Schnittstelle aus dem gewünschten Subnetz mit dem Provider-Router zu verbinden und als Gateway zu fungieren.

Der interne Router führt die sichere Übersetzung der Netzwerkadressen durch und sorgt auch für das notwendige Routing zwischen dem privaten und dem öffentlichen Netzwerk des Projekts. Es müssen keine zusätzlichen Netzwerkeinstellungen oder Portweiterleitungen vorgenommen werden; die Übersetzung von Ports und Protokollen erfolgt in einem transparenten Modus.

Wenn die oben genannten Bedingungen nicht erfüllt sind, kann der Benutzer dem gewünschten Port der Instanz keine Floating IP zuweisen.

Um IP-Adressen auf der Befehlszeile zuzuweisen oder zu entkoppeln, können die folgenden Openstack CLI Befehle verwendet werden:

Zuweisung einer Floating IP mit Openstack CLI:

Syntax:

openstack floating ip set [-h] --port <port>
                          [--fixed-ip-address <ip-address>]
                          [--qos-policy <qos-policy> | --no-qos-policy]
                          <floating-ip>

openstack floating ip set --port <port> --fixed-ip-address <ip-address> <floating-ip>

Beispiel:

openstack floating ip set --port qbfb9cad-f582-41c8-b821-910a4df65b3t --fixed-ip-address 20.20.20.11 156.67.54.xxx
где:
     qbfb9cad-f582-41c8-b821-910a4df65b3t - ist der Port, dem die Floating IP zugewiesen werden soll;
     --fixed-ip-address 20.20.20.11 - ist die feste IP-Adresse des Anschlusses, für den die Floating-IP-Adresse zugewiesen ist;
     156.67.54.xxx - ist die öffentliche Floating-IP-Adresse, die dem Port der Instanz zugewiesen wird (das letzte Oktett der Adresse, "xxx", ist aus Sicherheitsgründen verborgen).

Entkoppeln einer zugewiesenen IP mit Openstack CLI:

Syntax:

openstack floating ip unset [--port] <floating-ip>


Beispiel:

openstack floating ip unset --port  156.67.54.122

Key Features der Floating-IP-Adressen

  • Floating-IP-Adressen werden den Instanzen nicht automatisch zugewiesen; sie müssen manuell zugewiesen werden.
  • Floating IPs bleiben so lange im Projekt verankert, bis der Projektnutzer die Adresse manuell freigibt. Wenn eine Adresse versehentlich freigegeben wurde, ist es unwahrscheinlich, dass sie erneut zugewiesen wird, da die Adressen nach dem Zufallsprinzip vergeben werden.
  • Eine Floating IP kann entweder über ein Webinterface oder über eine Konsole zugewiesen werden: Openstack CLI oder API.
  • Floating-IP-Adressen werden tatsächlich einem Port einer Instanz zugewiesen.
  • Floating-IP-Adressen können jederzeit einer anderen Instanz neu zugewiesen werden (vorausgesetzt, das Subnetz des gewünschten Anschlusses ist mit dem internen Router geschaltet).
  • Nutzer dürfen nur im Rahmen des bestellten Kontingents Floating-IP-Adressen vergeben.
  • PTR-type DNS records können für Floating IP Adressen ausgegeben werden.

Bemerkung

Um den öffentlichen Zugang zu den Diensten der Instanz (SSH, RDP, HTTP, SMTP, SMTP, FTP, DNS usw.) zu ermöglichen, denen die Floating-IP-Adresse zugewiesen ist, müssen Sie folgendes sicherstellen: Die Dienste müssen funktionieren und auf die IP-Adresse des privaten Teilnetzes reagieren („hören“), auf dem die öffentliche Floating-IP zugewiesen wurde. Wenn in den Einstellungen oder Konfigurationsdateien des Dienstes eine öffentlich zugewiesene Floating IP angegeben ist, ist dieser Dienst nicht verfügbar. Der Zugang zu den Diensten der Instanz an der privaten Adresse funktioniert auf der Grundlage des SNAT-Mechanismus.