Wie konfiguriere ich ein PORT-Forwarding

Das folgende HowTo beschreibt, wie sie im OpenStack Portal ein PORT-Forwarding konfigurieren können. Bitte beachten sie den Disclaimer und dass es sich nachfolgend um eine Beispielkonfiguration handelt.

Voraussetzungen

Für das PORT-Forwarding benötigen Sie:

  • einen Router und
  • eine freie Floating IP-Adresse (PublicIP)

Beispiel 1: PORT-Forwarding eines PORTS

Szenariobeschreibung:

  • PORT-Forwarding des PORTS (2222) zu einer Instance (VM) auf PORT 22

Führen dazu die folgenden Schritte aus:

  • Klicken sie links in der Navigationsleiste auf „Network“ => „Floating IPs“
  • Falls Sie noch keine freie Floating IP Adresse haben, klicken Sie auf die Schaltfläche (1) „Allocate IP To Project“
  • Dann klicken Sie die Auswahlliste (2) und wählen „Configure floating IP port forwarding rules
../_images/pf-configure-rule1.png
  • Klicken Sie auf der nächsten Seite auf „+Add floating IP port forwarding rule“ (1)
  • Geben Sie nun in der Eingabemaske die gewünschten Informationen (2) ein und klicken auf „Add“ (3)

Tipp

Bitte beachten Sie die Beschreibung zu den Eingabefeldern

../_images/pf-configure-rule2.png
  • Anschliessend wird die PF-Rule erstellt und aufgelistet.
../_images/pf-configure-rule3.png

Bemerkung

Sie können beliebig viele weitere PF-Rules für diese Floating-IP erfassen, mit der Schaltfläche (A), die erstellte Rule editieren (B) oder löschen (C). Damit das Forwarding auch funktioniert, müssen natürlich die PORTS (Ingres) in der angewendeten Security Group auch freigeschaltet sein.

Beispiel 2: PORT-Forwarding eines PORTS-Ranges

Szenariobeschreibung:

  • PORT-Forwarding des PORT-Ranges (7010-7020) zu einer Instance (VM) auf die PORT Range 710-720

Bemerkung

Die externen und internen PORT-Ranges müssen gleich gross sein.

Führen dazu die folgenden Schritte aus:

  • Klicken sie links in der Navigationsleiste auf „Network“ => „Floating IPs“
  • Falls Sie noch keine freie Floating IP Adresse haben, klicken Sie auf die Schaltfläche (1) „Allocate IP To Project“
  • Dann klicken Sie die Auswahlliste (2) und wählen „Configure floating IP port forwarding rules
../_images/pf-configure-rule4.png
  • Klicken Sie auf der nächsten Seite auf „+Add floating IP port forwarding rule“ (1)
  • Geben Sie nun in der Eingabemaske die gewünschten Informationen (2) ein und klicken auf „Add“ (3)

Tipp

Bitte beachten Sie die Beschreibung zu den Eingabefeldern

../_images/pf-configure-rule5.png
  • Anschliessend wird die PF-Rule erstellt und aufgelistet.
../_images/pf-configure-rule6.png

Bemerkung

Sie können beliebig viele weitere PF-Rules für diese Floating-IP erfassen, mit der Schaltfläche (A), die erstellte Rule editieren (B) oder löschen (C). Damit das Forwarding auch funktioniert, müssen natürlich die PORTS (Ingres) in der angewendeten Security Group auch freigeschaltet sein.

Liste aller PORT-Forwarding Rules aller Floating IP’s

Um eine Übersicht aller für dieses Projekt erstellten PORT-Forwarding Rules aller Floating IP’s zu erhalten führen Sie bitte die folgenden Schritte aus:

  • Klicken sie links in der Navigationsleiste auf „Network“ => „Floating IPs“
  • Dann klicken Sie die Schaltfläche (1) „List all floating IP port forwarding rules
../_images/pf-configure-rule7.png
  • Nun werden alle Rules aufgelistet
../_images/pf-configure-rule8.png

Bemerkung

Sie können die Liste beliebig nach den Spalten (A) sortieren, die erstellten Rules editieren (B) oder löschen (C). Für das löschen wählen Sie vorher die zu löschende Rule aus (D).

Beispiel 3: Create PORT-Forwarding Rule via CLI

Um ein Port Forwarding via OpenStack Command Line zu konfigurieren finden Sie nachfolgend ein Beispiel:

# Create port forward to SSH
openstack floating ip port forwarding create \
--internal-ip-address 10.0.1.12 \
--port 9e583adb-618f-42ba-96ee-1a7b89a377b3 \
--internal-protocol-port 22 \
--external-protocol-port 222 \
--protocol tcp 217.71.95.21

Bemerkung

Weitere Hilfe erhalten Sie mit dem folgenden Befehl (siehe nachfolgendes Beispiel).

openstack floating ip port forwarding create --help
usage: openstack floating ip port forwarding create [-h]
                 [-f {json,shell,table,value,yaml}]
                 [-c COLUMN]
                 [--prefix PREFIX]
                 [--max-width <integer>]
                 [--fit-width]
                 [--print-empty]
                 [--noindent]
                 --internal-ip-address
                 <internal-ip-address>
                 --port <port>
                 --internal-protocol-port
                 <port-number>
                 --external-protocol-port
                 <port-number> --protocol
                 <protocol>
                 [--description <description>]
                 <floating-ip>

 Create floating IP port forwarding

 positional arguments:
   <floating-ip>         Floating IP that the port forwarding belongs to (IP
                         address or ID)

 optional arguments:
   -h, --help            show this help message and exit
   --internal-ip-address <internal-ip-address>
                         The fixed IPv4 address of the network port associated
                         to the floating IP port forwarding
   --port <port>         The name or ID of the network port associated to the
                         floating IP port forwarding
   --internal-protocol-port <port-number>
                         The protocol port number of the network port fixed
                         IPv4 address associated to the floating IP port
                         forwarding
   --external-protocol-port <port-number>
                         The protocol port number of the port forwarding's
                         floating IP address
   --protocol <protocol>
                         The protocol used in the floating IP port forwarding,
                         for instance: TCP, UDP
   --description <description>
                         A description that helps other users to know the
                         reason why this rule is being created

 output formatters:
   output formatter options

   -f {json,shell,table,value,yaml}, --format {json,shell,table,value,yaml}
                         the output format, defaults to table
   -c COLUMN, --column COLUMN
                         specify the column(s) to include, can be repeated

 shell formatter:
   a format a UNIX shell can parse (variable="value")

   --prefix PREFIX       add a prefix to all variable names

 table formatter:
   --max-width <integer>
                         Maximum display width, <1 to disable. You can also use
                         the CLIFF_MAX_TERM_WIDTH environment variable, but the
                         parameter takes precedence.
   --fit-width           Fit the table to the display width. Implied if --max-
                         width greater than 0. Set the environment variable
                         CLIFF_FIT_WIDTH=1 to always enable
   --print-empty         Print empty table if there is no data to show.

 json formatter:
   --noindent            whether to disable indenting the JSON