Überblick
Dedizierte Server können mit Cloud Privaten Netzwerken verbunden werden. Dies versetzt Cloud und dedizierte Server in die Lage sich gegenseitig über den privaten Netzwerklink zu erreichen. Wenn du zum Beispiel Web Frontends auf Cloud Servern betreibst, diese jedoch auf eine SQL Datenbank auf einem dedizierten Server zugreifen sollst, kannst du den privaten Link verwenden, um beide zu verbinden. Beachte allerdings, dass ein Dedicated Server aktuell nicht als Router für das Private Netzwerk eingerichtet werden kann (siehe diesen FAQ-Eintrag).
Beachte das Limit von 1 vSwitch pro Netzwerk.
Grober Überblick:
Dies funktioniert durch Nutzung der bestehenden Mechanismen für private Netzwerke auf beiden Systemen:
- den privaten Netzwerk Mechanismus von Cloud, indem du dort ein "Network" anlegst und deine Cloud Server mit diesem verbindest
- den privaten Netzwerk Mechanismus von dedizierten Servern, indem du dort einen "vSwitch" anlegst und deine dedizierten Server mit diesem verbindest
Beide Systeme werden dann gekoppelt, indem du ein Cloud Network Subnet vom Typ "vSwitch" anlegst. Diese verbindet das existierende Cloud "Network" mit dem existierenden "vSwitch". Die notwendige Netzwerkkonfiguration auf den Cloud Servern erfolgt automatisch. Die dedizierten Server erfordern jedoch eine spezielle Netzwerkkonfiguration in deinem Betriebssystem, damit die Kopplung funktioniert.
Details
Beispiel einer gekoppelten Konfiguration:
Annahmen in diesem Dokument
Für den Rest des Dokumentes nehmen wir die folgende Konfiguration an:
- dein Cloud Network ist
10.0.0.0/16mit Subnets:10.0.0.0/24für Cloud Server.10.0.0.2ist deinem Cloud Server zugewiesen10.0.1.0/24für deine vSwitch Verbindung. Die IP10.0.1.2wird für deinen dedizierten Server genutzt
- du hast einen vSwitch mit VLAN ID
4000 - dein dedizierter Server hat das Netzwerk Interface
enp0s31f6als sein öffentliches Interface.
Im Folgenden musst du die Werte oben durch die tatsächlichen Werte deines Setups ersetzen.
Dedizierte Server mit Cloud Networks verbinden
Voraussetzungen
Auf der Cloud Seite
Du musst ein existierendes Cloud Network haben, mit dem bereits Cloud Server verbunden sind. Diese Cloud Server müssen sich gegenseitig auf deinen privaten IP-Adressen pingen können.
Ein Cloud Server cloudserver01 angehängt an ein Cloud Netzwerk sieht so aus:

Auf der Seite der Dedicated Server sind standardmäßig nur die IP-Adressen der Cloud-Produkte sichtbar. Wenn auch die Netzwerk-Routen (Cloud Netzwerk ➔ "Routen"-Tab) verfügbar sein sollen, muss in der Hetzner Console im Aktionsmenü des entsprechenden Netzwerks die Option "Routen für vSwitch sichtbar machen" ausgewählt werden. Bis die Änderung verfügbar ist, können einige Minuten vergehen. Beachte bitte, dass die entsprechenden Routen auch auf den Cloud-Produkten konfiguriert werden müssen.
Auf der Seite der dedizierten Server
Ein vSwitch muss bereits im Hetzner Robot existieren und die relevanten Server müssen mit ihm schon verbunden sein. Allerdings sollte noch keine Netzwerkkonfiguration auf den dedizierten Servern erfolgt sein. Folge diesem tutorial um einen vSwitch anzulegen, aber überspringe den Teil für die Netzwerkkonfiguration in deinem Betriebssystem.
Ein vSwitch mit VLAN ID 4000 und ein dedizierter Server sehen so aus:

Schritt 1: Cloud: Subnetz vom Typ vSwitch anlegen
In der Hetzner Console: Klicke auf Networks, dann auf dein existierendes Netzwerk und wähle den Tab "Subnets" aus.

Klicke Subnet hinzufügen:
Hake "Enable dedicated server vSwitch connection" an und wähle den existierenden vSwitch aus, mit welchem du dein privates Netzwerk verbinden möchtest. Du kannst entweder die vorgeschlagene IP-Range nutzen oder selbst eine eingeben. Stell sicher, dass die IP-Range nicht die erste IP-Adresse des Netzwerks enthält, da diese reserviert ist (siehe Sind irgendwelche IP-Adressen reserviert?).
Danach klickst du auf "Subnet hinzufügen". Du wirst Anweisungen zum Konfigurieren des Netzwerks auf deinem dedizierten Server erhalten:

Du kannst entweder den Anweisungen folgen. Bitte stell dabei sicher, dass du den Namen des Netzwerkinterfaces, die vSwitch vlan id sowie die IP deines dedizierten Servers mit den korrekten Werten ersetzt. Oder du kannst die Netzwerkkonfiguration dauerhaft vornehmen wie Schritt 2 beschrieben.
Das Cloud Network und der vSwitch sind nun gekoppelt.

Schritt 2: Netzwerkkonfiguration auf deinen dedizierten Servern
Bei Cloud Servern wird die Netzwerkkonfiguration im Betriebssystem automatisch durchgeführt. Bei dedizierten Servern musst du diese Konfiguration selbst vornehmen. Die notwendigen Schritte für eine nicht reboot feste Konfiguration sind detailliert im Dialog "Configuration of your dedicated Server" aus Schritt 1 beschrieben. Die Gründe für diese Konfiguration werden in diesem Schritt beschrieben.
Das Ziel der Konfiguration
-
Ein Netzwerk interface für das vSwitch vlan (getaggte vlan Pakete) erstellen und mtu auf
1400konfigurieren. -
Auf diesem interface: Eine IP-Adresse aus der IP-Range des Subnets vom typ vSwitch erstellen - im Beispiel oben
10.0.1.2. Die erste IP-Adresse dieses Subnet als gateway einstellen (10.0.1.1im Beispiel). Stell sicher, dass jeder dedizierte Server seine eigene, einzigartige private IP-Adresse nutzt. -
Eine Route für die Network IP-Range konfigurieren:
10.0.0.0/16 gw 10.0.1.1im Beispiel oben.
Persistente Beispielkonfigurationen
Interface enp0s31f6 (normalerweise eth0, enp6s0 oder enp0s31f6 genannt), VLAN 4000
Cloud Network: 10.0.0.0/16
Cloud Server Subnet: 10.0.0.0/24
vSwitch Server Subnet: 10.0.1.0/24 und IP 10.0.1.2 für deinen dedizierten Server
vSwitch vlan: 4000
Beispielkonfiguration für Debian
# /etc/network/interfaces
auto enp0s31f6.4000
iface enp0s31f6.4000 inet static
address 10.0.1.2
netmask 255.255.255.0
vlan-raw-device enp0s31f6
mtu 1400
up ip route add 10.0.0.0/16 via 10.0.1.1 dev enp0s31f6.4000
down ip route del 10.0.0.0/16 via 10.0.1.1 dev enp0s31f6.4000Beispielkonfiguration mit netplan für Ubuntu 20.04 oder neuer
Installationen mittels installimage erstellen eine netplan-basierte Konfigurationen auf Ubuntu 20.04 oder neuer. Um das VLAN zu konfigurierst du die netplan Datei:
#/etc/netplan/01-netcfg.yaml
### Hetzner Online GmbH installimage
network:
version: 2
renderer: networkd
ethernets:
enp0s31f6:
addresses:
...
vlans:
enp0s31f6.4000:
id: 4000
link: enp0s31f6
mtu: 1400
addresses:
- 10.0.1.2/24
routes:
- to: "10.0.0.0/16"
via: "10.0.1.1"
Nach dem Ausführen der folgenden Kommandos sollte das Netzwerk verfügbar sein:
sudo netplan generate
sudo netplan applyBeispielkonfiguration für systemd-networkd
Erstelle zwei Dateien für systemd-networkd:
#/etc/systemd/network/10-enp0s31f6.4000.netdev
[NetDev]
Name=enp0s31f6.4000
Kind=vlan
MTUBytes=1400
[VLAN]
Id=4000#/etc/systemd/network/10-enp0s31f6.4000.network
[Match]
Name=enp0s31f6.4000
[Network]
Description="VLAN 4000"
Address=10.0.1.2/24
[Route]
Gateway=10.0.1.1
Destination=10.0.0.0/16
GatewayOnlink=yesBei neueren systemd Versionen (v242+) musst du die Option (GatewayOnLink, grosses L!) in der letzten Zeile setzen.
Füge die folgende Zeile zur Datei hinzu:
#/etc/systemd/network/10-enp0s31f6.network
....
[Network]
...
VLAN=enp0s31f6.4000Service neu starten:
sudo systemctl restart systemd-networkdSchritt 3: Testen
Die Beispielwerte in dieser Sektion entsprechen denen im Kapital Annahmen oben.
3.1: Prüfen der korrekten Netzwerkkonfiguration deines Cloud Servers
Um die Routen anzuzeigen, führst du aus:
ip route showDie Ausgabe sollte nun diese Zeilen enthalten:
10.0.0.0/16 via 10.0.0.1 dev ensXX
10.0.0.1 dev ensXX scope link3.2: Prüfen der korrekten Netzwerkkonfiguration deines dedizierten Servers
Um die Routen anzuzeigen führst du aus:
ip route showDie Ausgabe sollte nun diese Zeilen enthalten:
10.0.0.0/16 via 10.0.1.1 dev enp0s31f6.4000
10.0.1.0/24 dev enp0s31f6.4000 proto kernel scope link src 10.0.1.23.3: Cloud Server sollten von dedizierten Servern aus pingbar sein
Vom dedizierten Server pingst du die Cloud Server IP-Adresse:
$ ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=62 time=26.6 ms
...