Überblick
Dedizierte Server können mit Cloud Privaten Netzen verbunden werden. Dies versetzt Cloud und dedizierte Server in die Lage sich gegenseitig über den privaten Netzwerklink zu erreichen. Wenn Sie zum Beispiel Web Frontends auf Cloud Servern betreiben, diese jedoch auf eine SQL Datenbank auf einem dedizierten Server zugreifen sollen so können Sie den privaten Link verwenden um beide zu verbinden.
Grober Überblick:
Dies funktioniert durch Nutzung der bestehenden Mechanismen für private Netzwerke auf beiden Systemen:
- den privaten Netzwerk Mechanismus von Cloud indem Sie dort ein "Network" anlegen und Ihre Cloud Server mit diesem verbinden
- den privaten Netzwerk Mechanismus von dedizierten Servern indem Sie dort einen "vSwitch" anlegen und Ihre dedizierten Server mit diesem verbinden
Beide Systeme werden dann gekoppelt, indem Sie ein Cloud Network Subnet vom Typ "vSwitch" anlegen. 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 Ihrem 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:
- Ihr Cloud Network ist
10.0.0.0/16
mit Subnets:10.0.0.0/24
für Cloud Server.10.0.0.2
ist Ihrem Cloud Server zugewiesen10.0.1.0/24
für Ihre vSwitch Verbindung. Die IP10.0.1.2
wird für Ihren dedizierten Server genutzt
- Sie haben einen vSwitch mit VLAN ID
4000
- Ihr dedizierter Server hat das Netzwerk Interface
enp0s31f6
als sein öffentliches Interface.
Im Folgenden müssen Sie die Werte oben durch die tatsächlichen Werte Ihres Setups ersetzen.
Dedizierte Server mit Cloud Networks verbinden
Voraussetzungen
Auf der Cloud Seite
Sie müssen ein existierendes Cloud Network haben, mit dem bereits Cloud Server verbunden sind. Diese Cloud Server müssen sich gegenseitig auf Ihren 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 Cloud 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. Beachten Sie 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. Folgen Sie diesem tutorial um einen vSwitch anzulegen aber überspringen Sie den Teil für die Netzwerkkonfiguration in Ihrem Betriebssystem.
Ein vSwitch mit VLAN ID 4000 und ein dedizierter Server sehen so aus:
Schritt 1: Cloud: Subnetz vom Typ vSwitch anlegen
In der Cloud Console: Klicken Sie auf Networks, dann auf Ihr existierendes Netzwerk und wählen Sie den Tab "Subnets" aus.
Klicken Sie Subnet hinzufügen:
Haken Sie "Enable dedicated server vSwitch connection" an und wählen sie den existierenden vSwitch aus, mit welchem Sie Ihr privates Netzwerk verbinden möchten. Sie können entweder die vorgeschlagene IP-Range nutzen oder selbst eine eingeben.
Danach klicken Sie auf "Subnet hinzufügen". Sie werden Anweisungen zum Konfigurieren des Netzwerks auf Ihrem dedizierten Server erhalten:
Sie können entweder den Anweisungen folgen. Bitte stellen Sie dabei sicher, dass sie den Namen des Netzwerkinterfaces, die vSwitch vlan id sowie die IP Ihres dedizierten Servers mit den korrekten Werten ersetzen. Oder aber Sie können die Netzwerkkonfiguration dauerhaft vornehmen wie Schritt 2 beschrieben.
Das Cloud Network und der vSwitch sind nun gekoppelt.
Schritt 2: Netzwerkkonfiguration auf Ihren dedizierten Servern
Bei Cloud Servern wird die Netzwerkkonfiguration im Betriebssystem automatisch durchgeführt. Bei dedizierten Servern müssen Sie 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
1400
konfigurieren. -
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.1
im Beispiel). Stellen Sie 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.1
im 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 Ihren 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.4000
Beispielkonfiguration 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 konfigurieren ändern Sie 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 apply
Beispielkonfiguration für systemd-networkd
Erstellen sie 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=yes
Bei neueren systemd Versionen (v242+) müssen Sie die Option (GatewayOnLink
, grosses L
!) in der letzten Zeile setzen.
Fügen Sie die folgende Zeile zur Datei hinzu:
#/etc/systemd/network/10-enp0s31f6.network
....
[Network]
...
VLAN=enp0s31f6.4000
Service neu starten:
sudo systemctl restart systemd-networkd
Schritt 3: Testen
Die Beispielwerte in dieser Sektion entsprechen denen im Kapital Annahmen oben.
3.1: Prüfen der korrekten Netzwerkkonfiguration Ihres Cloud Servers
Um die Routen anzuzeigen führen Sie aus:
ip route show
Die 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 link
3.2: Prüfen der korrekten Netzwerkkonfiguration Ihres dedizierten Servers
Um die Routen anzuzeigen führen Sie aus:
ip route show
Die 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.2
3.3: Cloud Server sollten von dedizierten Servern aus pingbar sein
Vom dedizierten Server pingen Sie 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
...