Zum Inhalt springen
Odinex Cloud
Konzepte

Netzwerk

Wie öffentliche Adressen, private Netzwerke, NAT-Gateways und Elastic IPs zusammenwirken.

Sie legen für jeden Server fest, wie er verbunden ist: mit öffentlichen Adressen, über ein privates Netzwerk oder mit beidem. Private Netzwerke halten den Traffic zwischen Ihren Servern aus dem öffentlichen Internet heraus. Über ein NAT-Gateway können private Server ausgehende Verbindungen ins Internet aufbauen, während eine Elastic IP einem rein privaten Server eine feste öffentliche IPv4-Adresse für eingehenden Traffic gibt.

Öffentliche Adressen (Primary IPs)

Ein Server erhält eine öffentliche IPv4-Adresse und eine IPv6-Adresse. In der API heißen sie Primary IPs (GET /primary_ips) und gehören zum Standort des Servers.

  • Beim Erstellen des Servers können Sie eine der beiden weglassen (public_net.enable_ipv4 / enable_ipv6 bzw. --without-ipv4 / --without-ipv6 in der CLI), ein Server braucht aber mindestens eine.
  • Die IPv4-Adresse wird getrennt vom Server abgerechnet; IPv6 ist inklusive. Siehe Preise.
  • Der Server erhält seine Adressen beim Booten automatisch; Sie müssen sie nicht konfigurieren.
  • Jeder Server erhält eine einzelne IPv6-Adresse, kein ganzes /64.
  • Für beide können Sie Reverse DNS setzen.

Private Netzwerke

Ein privates Netzwerk verbindet Server am selben Standort über ein internes Netzwerk, das aus dem Internet nicht erreichbar ist.

  • Den IPv4-Bereich wählen Sie beim Erstellen des Netzwerks. Er muss innerhalb von 10.0.0.0/8, 172.16.0.0/12 oder 192.168.0.0/16 liegen und zwischen /16 und /28 groß sein. Der Bereich lässt sich später nicht ändern.
  • Server binden Sie beim Erstellen oder später an (attach_to_network). Jeder angebundene Server erhält eine Adresse aus dem Bereich oder eine von Ihnen gewählte, die frei ist und im Bereich liegt.
  • Server, die aus unseren Linux-Images erstellt wurden, konfigurieren die private Schnittstelle selbst (DHCP), auch wenn das Netzwerk erst nach dem Erstellen des Servers angebunden wird. Bei anderen Images konfigurieren Sie die zweite Schnittstelle per DHCP oder mit der in der Console angezeigten Adresse.
  • Ein privates Netzwerk kann ein NAT-Gateway haben. Ohne NAT-Gateway braucht ein Server eine eigene öffentliche Adresse, um das Internet zu erreichen.
odx network create --name backend --ip-range 10.0.0.0/16 --location fra1
odx server attach-to-network --network backend web-1

NAT-Gateways

Ein NAT-Gateway verbindet ein privates Netzwerk für ausgehenden Traffic mit dem Internet. Server in diesem Netzwerk ohne eigene öffentliche Adressen können darüber Pakete herunterladen und externe Dienste aufrufen. Ein privates Netzwerk kann ein NAT-Gateway haben. Es übernimmt die erste Adresse des Netzwerks (z. B. 10.0.0.1) als Standard-Gateway, sodass Server Adressen ab .2 erhalten, und hat eine eigene öffentliche IPv4-Adresse, über die der gesamte ausgehende Traffic dieser Server läuft.

odx nat-gateway create --network backend --name backend-egress
# API: POST /v1/nat_gateways {"name": "backend-egress", "network": "backend"}

Ein NAT-Gateway kostet 2,00 € im Monat (stündlich abgerechnet, siehe Abrechnung). NAT macht private Server nicht aus dem Internet erreichbar; für eingehende Verbindungen weisen Sie eine Elastic IP zu oder setzen einen Load Balancer in das Netzwerk.

Server ohne öffentliche Adressen

Erstellen Sie einen Server mit deaktivierten öffentlichen Adressen und mindestens einem privaten Netzwerk. Das erste Netzwerk wird sein primäres Netzwerk, und seine Standardroute führt über das NAT-Gateway dieses Netzwerks:

odx server create --name app-1 --type s2 --image ubuntu-24.04 --location fra1 \
  --without-ipv4 --without-ipv6 --network backend
# API: POST /v1/servers with "networks": ["backend"] and
#      "public_net": {"enable_ipv4": false, "enable_ipv6": false}

--network ist hier Pflicht: Das erste angegebene Netzwerk ist das primäre.

Ohne NAT-Gateway in seinem primären Netzwerk kann ein solcher Server nur mit anderen Servern in seinen Netzwerken kommunizieren.

Elastic IPs

Eine Elastic IP ist eine öffentliche IPv4-Adresse, die einem Server ohne öffentliche Adressen zugeordnet wird. Mit der Zuweisung ist der Server unter dieser Adresse aus dem Internet erreichbar; der Traffic erreicht die private Adresse des Servers, im Server selbst ist also nichts zu konfigurieren. Zwei Voraussetzungen gelten:

  • Der Server wurde ohne öffentliche IPv4- und IPv6-Adresse erstellt (siehe oben).
  • Sein primäres Netzwerk hat ein NAT-Gateway.

Jeder Server kann eine Elastic IP haben. Wenn Sie einen Workload umziehen, heben Sie die Zuweisung auf und weisen die Adresse einem anderen solchen Server zu; die Adresse bleibt dieselbe.

odx elastic-ip create --name web-ip --location fra1   # or --server app-1 to create and assign at once
odx elastic-ip assign web-ip app-1
odx elastic-ip unassign web-ip
# API: POST /v1/elastic_ips, POST /v1/elastic_ips/{id}/actions/assign {"server": <id>}

Eine Elastic IPv4 kostet 0,50 € im Monat und wird abgerechnet, solange sie existiert – unabhängig davon, ob sie zugewiesen ist. Mit einer Firewall steuern Sie, welche eingehenden Verbindungen der Server annimmt. In der Console finden Sie NAT-Gateways und Elastic IPs unter Networking. In Terraform verwenden Sie odinex_nat_gateway, odinex_elastic_ip und odinex_elastic_ip_assignment und deaktivieren die öffentlichen Adressen eines Servers mit public_net { ipv4_enabled = false, ipv6_enabled = false } und primary_network_id.

Floating IPs

Eine Floating IP ist eine zusätzliche IPv4- oder IPv6-Adresse, die Sie jedem Server an ihrem Standort zuweisen und jederzeit auf einen anderen Server verschieben können, z. B. für ein Failover auf einen Standby-Server. Sie wird abgerechnet, unabhängig davon, ob sie zugewiesen ist.

odx floating-ip create --type ipv4 --name ip-1 --location fra1
odx floating-ip assign ip-1 web-1

Die Zuweisung leitet die Adresse an die öffentliche Schnittstelle des Servers. Im Server konfiguriert sich die Adresse nicht von selbst: Sie müssen sie zur Netzwerkschnittstelle hinzufügen und bekannt geben.

Floating IP im Server konfigurieren und ein Gratuitous ARP senden

Fügen Sie eine zugewiesene Floating-IPv4-Adresse zur öffentlichen Schnittstelle des Servers hinzu und geben Sie sie einmal per Gratuitous ARP bekannt. Bis der Server sie bekannt gibt, kann Traffic noch an den Server gehen, der die Adresse vorher hatte.

ip addr add 203.0.113.7/32 dev eth0
arping -U -c 3 -I eth0 203.0.113.7     # Ubuntu/Debian: apt install iputils-arping

Ein Neustart des Servers, nachdem Sie die Adresse dauerhaft eingerichtet haben, hat dieselbe Wirkung wie arping.

ip addr add übersteht keinen Neustart. Um die Adresse unter Ubuntu dauerhaft einzurichten, tragen Sie sie in netplan ein, z. B. in /etc/netplan/60-floating-ip.yaml, und führen netplan apply aus:

/etc/netplan/60-floating-ip.yaml
network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 203.0.113.7/32

Die Schnittstelle kann in Ihrem Image anders als eth0 heißen; prüfen Sie das mit ip addr. Eine Floating-IPv6-Adresse fügen Sie auf dieselbe Weise mit ihrer Präfixlänge hinzu (ip -6 addr add 2001:db8::7/128 dev eth0).

Wenn Sie eine Floating IP auf einen anderen Server verschieben, entfernen Sie sie vom alten Server, konfigurieren sie auf dem neuen und geben sie dort bekannt.

Für einen über eine öffentliche Adresse erreichbaren Dienst, der zwischen Servern mit öffentlicher Schnittstelle wechseln soll, verwenden Sie eine Floating IP. Für einen rein privaten Server, der eine feste öffentliche IPv4-Adresse braucht, verwenden Sie eine Elastic IP.

Ausgehende E-Mails (Port 25)

Ausgehende Verbindungen zu TCP-Port 25 (SMTP zwischen Mailservern) sind für alle öffentlichen Adressen gesperrt: Primary IPs, Floating IPs, Elastic IPs und NAT-Gateways, über IPv4 und IPv6. Die Sperre liegt im Netzwerk vor Ihrem Server, Firewalls und Servereinstellungen können sie also nicht aufheben. So bleiben die Adressen der Plattform von Spam-Blocklisten fern.

  • Versand über einen Mail-Provider funktioniert. Die Submission-Ports 587 (STARTTLS) und 465 (TLS) sind offen, sodass Anwendungen und Mailserver über Dienste wie Amazon SES, Postmark, Mailgun oder den SMTP-Server Ihres eigenen Providers versenden können.
  • Der Empfang von E-Mails ist nicht betroffen. Eingehende Verbindungen auf Port 25 Ihres Servers sind erlaubt (öffnen Sie den Port in Ihrer Firewall, falls Sie eine verwenden).
  • Für einen eigenen ausgehenden Mailserver muss Port 25 für dessen Adresse freigeschaltet werden. Eröffnen Sie ein Support-Ticket mit der Kategorie Technical, nennen Sie die IP-Adresse und beschreiben Sie, was Sie versenden. Setzen Sie vorher den Reverse DNS-Eintrag. Wir schalten den Port für etablierte Konten mit klarem Verwendungszweck frei.

Auf dieser Seite