Hetzner - DokuWiki

Additional Floating Pool

Private Cloud, einrichten zusätzlicher Floating-IPs

Sollten Sie neben dem bei der Private Cloud mitgeliefertem Subnetz, weitere Subnetze benötigen, können die folgenden Schritte hier Ihnen dabei helfen Ihr weiteres Subnetz so einzurichten, dass Sie dieses als Floating-IP Pool in Ihrer OpenStack Installation verwenden können.

Um ein weiteres Subnetz als floating-ip pool verwenden zu können müssen zunächst ein paar Vorkehrungen an den OpenVSwitch Bridges vorgenommen werden:

Da im Regelfall nur ein einzelnes physikalisches Netzwerk zur Verfügung steht, welches an die Bridge "br0" angeschlossen ist, benötigen wir noch eine Patch-Verbindung von br0 zu der Bridge, welche wir für das weitere Subnetz verwenden möchten.

Im hier angegebenen Beispiel nennen wir dieses Bridge-Interface "br2".

Erstellen des Bridge-Interfaces

root@controller # ovs-vsctl add-br br2

Anlegen der Patch-Verbindung, in diesem Beispiel mit dem Namen "patch2-0" versehen, um unsere Intention entsprechend auszudrücken.

Anschließend deklarieren wir diese Verbindung, und geben ein Gegenstück als entsprechendes "peer" an.

root@controller # ovs-vsctl add-port br2 patch2-0

root@controller # ovs-vsctl set interface patch2-0 type=patch

root@controller # ovs-vsctl set interface patch2-0 options:peer="patch0-2"

Anschließend benötigen wir noch das andere "Ende" der Patch-Verbindung an br0.

root@controller # ovs-vsctl add-port br0 patch0-2

root@controller # ovs-vsctl set interface patch0-2 type=patch

root@controller # ovs-vsctl set interface patch0-2 options:peer="patch2-0"

Einstellungen an Neutron anpassen

Da wir nun die entsprechenden Vorkehrungen an den Bridge-Interfaces vorgenommen haben, müssen wir noch an den OpenStack-Neutron Services ein paar Einstellungen anpassen:

In der Datei /etc/neutron/l3_agent.ini:
Müssen die Optionen für explizite gateway_id und network_bridge auf einnen Leerstring gesetzt werden.

Wichtig ist hier wirklich einen Leerstring zu verwenden, da ein bloßes Auskommentieren der Optionen dazu führt, dass unpassende Defaults vom Service verwendet werden!

gateway_external_network_id = ''

external_network_bridge = ''


In der Datei /etc/neutron/plugins/openvswitch-agent.ini:

Teilen wir mit der folgenden Option Neutron mit, unter welchem Bridge-Interface unser weiteres "physiches" Netzwerk erreichbar sein wird.

In diesem Beispiel haben wir uns dazu entschlossen, unter Neutron das weitere Netzwerk als "external2" zu bezeichnen.

bridge_mappings =external:br0,external2:br2

Anschließend können Sie die IP-Adressen wie unter https://wiki.hetzner.de/index.php/Zusaetzliche_IP-Adressen Dokumentiert an br2 anbringen bzw. unter /etc/network/interfaces die Einstellungen zu speichern.

Anschließend können Sie da weitere Netzwerk in Ihrer OpenStack Installation gleich wie folgt in der selben Terminal-Session einrichten:

root@controller # source $HOME/adminrc.sh

root@controller # neutron net-create external2 -- --router:external=True --provider:network_type=flat --provider:physical_network=external2

root@controller # neutron subnet-create --disable-dhcp external2 <CIDR>

Ersetzen Sie hier natürlich noch den Platzhalter <CIDR> mit der entsprechenden Notation Ihres Subnetzes, bspw. 178.63.197.224/29.

Nun sollte es Ihnen möglich sein, weitere virtuelle Router von Ihrem Horizon Dashboard aus mit diesem Netzwerk zu verbinden und Floating-IPs an Instanzen dahinter weiterzuleiten.

Bitte beachten Sie darüber hinaus, dass sofern Sie mehrere Router für ein einzelnes internes Netzwerk verwenden möchten, gegebenen Falls auch die Routen auf Ihren Instanzen entsprechen anzupassen sind.



© 2018. Hetzner Online GmbH. Alle Rechte vorbehalten.