Innerhalb von Hetzner Netzwerken routen
Dieser Abschnitt geht davon aus, dass sie den Unterschied zwischen Switches und Routern kennen und mit den Schichten im OSI-Modell vertraut sind.
Innerhalb des Hetzner Netzwerks erfolgt die Kommunikation über zwei verschiedene Schichten, abhängig vom Subnetztyp:
Kommunikation | |
---|---|
Cloud-Subnetz | Schicht 3 |
vSwitch-Subnetz | Schicht 2 |
-
vSwitch-Subnetz über Schicht 2 (Ethernet / Data Link Layer):
On-link (direkte) Kommunikation
Quelle
Dedicated Server→Ziel
Dedicated Server
Beide Dedicated Server sind über eine Switch direkt miteinander verbunden. Dadurch kann die Quelle über ARP die MAC-Adresse des Ziels ermitteln und das Paket direkt, ohne zusätzliche Hops, an das Ziel senden.
-
Cloud-Subnetz über Schicht 3 (IP / Network Layer):
Off-link (geroutete) Kommunikation
Nur Cloud Server:
Quelle
Cloud Server→Cloud
Gateway→Ziel
Cloud Server
Cloud Server und Dedicated Server:
Quelle / Ziel
Dedicated Server↔vSwitch
Gateway↔Cloud
Gateway↔Ziel / Quelle
Cloud Server
Die Server sind nicht direkt miteinander verbunden. Die Quelle muss über ARP die MAC-Adresse des Gateways ermitteln und das Paket an das Gateway senden. Das Gateway leitet das Paket an das Ziel, bzw. den nächsten Hop in Richtung des Ziels, weiter.
Beispiel-Visualisierung
- 10.0.0.0/16
- 10.0.0.0/24
- 10.0.1.0/24
- ↕
- ⚯
10.0.0.1 00:00:5E:00:53:01
10.0.0.2
00:00:5E:00:53:02
10.0.0.3
00:00:5E:00:53:03
10.0.1.1
00:00:5E:00:53:04
10.0.1.2
00:00:5E:00:53:05
10.0.1.3
00:00:5E:00:53:06
Beispiel-Routen
Folgend wird gezeigt, welche Routen benötigt werden, um die privaten IPs in der obenstehenden Visualisierung zu erreichen.
Auf dem Cloud Server:
Ziel | CIDR | Netmask | Gateway | Lokale IP |
---|---|---|---|---|
10.0.0.0 | /16 | 255.255.0.0 | 10.0.0.1 | 10.0.0.2 |
10.0.0.1 | /32 | 255.255.255.255 | On-link | 10.0.0.2 |
Auf dem Dedicated Server A:
Ziel | CIDR | Netmask | Gateway | Lokale IP |
---|---|---|---|---|
10.0.0.0 | /16 | 255.255.0.0 | 10.0.1.1 | 10.0.1.2 |
10.0.1.0 | /24 | 255.255.255.0 | On-link | 10.0.1.2 |
Durch mehrere Netzwerke routen
Wenn ein Paket zwischen dem Internet und dem Client geroutet wird, läuft dieses durch zwei Netzwerke — das private Netzwerk und das öffentliche Netzwerk.
Wie in dem FAQ über technische Details erklärt, besitzen Hetzner Cloud Server unterschiedliche MTU-Einstellungen für private und öffentliche Netzwerkschnittstellen.
Netzwerk
⸺>
router
⸺>
⸺>
client
Im oberen Beispiel sollte ein eingehendes Paket mit einer MTU von 1500 Bytes
den Cloud Server router
problemlos erreichen. Wenn der router
allerdings
keine IP-Fragmentierung
durchführen kann, kann das Paket nicht über das private Interface weitergeleitet
werden und wird stattdessen verworfen.
Mit ip link show
können Sie sich die MTUs aller Schnittstellen auf dem System anzeigen lassen.
Aus einer Umgebung mit isoliertem Netzwerk routen
Wenn auf Ihrem System eine Umgebung mit isoliertem Netzwerk läuft (z.B. Docker Container oder LXC), besitzt diese normalerweise seine eigenen Schnittstelleneinstellungen.
Im folgenden Beispiel können zwischen der Umgebung mit isoliertem Netzwerk und dem darunterliegenden Host Pakete mit einer MTU von 1500 Bytes übermittelt werden:
Wenn die Umgebung mit isoliertem Netzwerk den darunterliegenden Host als Router verwendet, wird der Host aus dem oberen Beispiel das Paket über das private Interface mit einer MTU von 1450 Bytes weiterleiten.
Wenn die Umgebung mit isoliertem Netzwerk ein Paket mit einer MTU von 1500 Bytes übermittelt, sollte es den darunterliegenden Host problemlos erreichen. Wenn der Host allerdings keine IP-Fragmentierung durchführen kann, kann das Paket nicht über das private Interface weitergeleitet werden und wird stattdessen verworfen.