Zum Inhalt springen

IPv6-Erreichbarkeit einrichten

Um die IPv6-Erreichbarkeit einzurichten, müssen Sie mehrere Schritte befolgen:

  1. IPv6-Adresse Ihrer Ressource berechnen
  2. AAAA-Eintrag für Ihre Ressource hinzufügen (optional)
  3. Firewall konfigurieren
  4. Ressourcen konfigurieren

Ihre IPv6-Adresse wird nicht zufällig zugewiesen. Sie wird automatisch aus Ihrer vorhandenen STACKIT Public IP (IPv4) und dem globalen STACKIT NAT64-Präfix berechnet (siehe Netzwerkparameter). Das Verfahren folgt dem Standard RFC 6052.

Die folgenden Parameter gelten pro Region. Verwenden Sie das STACKIT NAT64-Präfix, um Ihre IPv6-Adresse zu berechnen, und den NAT-Pool-IPv4, um eingehenden Datenverkehr in Ihren Firewalls oder Logs zu identifizieren.

RegionNAT64-Präfix (IPv6)NAT-Pool-IPv4
EU012a05:d014:0:64::/96198.51.100.0/24
  1. Identifizieren Sie das NAT64-Präfix für Ihre Region (Beispiel für EU01: 2a05:d014:0:64::/96).
  2. Nehmen Sie Ihre STACKIT Public IP (Beispiel für EU01: 192.0.2.123).
  3. Wandeln Sie jeden der vier Zahlenblöcke in eine zweistellige Hexadezimalzahl um:
    192 → C0
    0 → 00
    2 → 02
    123 → 7B
  4. Hängen Sie diese Hexadezimalwerte an das NAT64-Präfix an. Ergebnis für EU01: 2a05:d014:0:64::C000:027B

AAAA-Eintrag für Ihre Ressource hinzufügen (optional)

Abschnitt betitelt „AAAA-Eintrag für Ihre Ressource hinzufügen (optional)“

Damit IPv6-Clients Ihren Dienst über deren Domainnamen erreichen können, müssen Sie einen AAAA-Eintrag in Ihrer DNS-Zone erstellen.

  1. Öffnen Sie die DNS-Verwaltung für Ihre Domain (zum Beispiel: STACKIT DNS oder ein externer Anbieter).
  2. Erstellen Sie einen neuen Eintrag vom Typ AAAA.
  3. Geben Sie die oben berechnete IPv6-Adresse als Wert ein (zum Beispiel: 2a05:d014:0:64::C000:027B).

Wenn Sie STACKIT DNS verwenden, konsultieren Sie Verwalten DNS-Record, um einen neuen AAAA-Eintrag zu Ihrer Zone hinzuzufügen.

Sie müssen einige Firewall-Einstellungen anpassen, um IPv6 ordnungsgemäß zu nutzen.

Eingehender Datenverkehr stammt von den internen IPv4-Adressen des NAT-Gateways, nicht direkt von der öffentlichen IPv6-Adresse des Clients. Folglich können Sie keine Security Groups verwenden, um Datenverkehr basierend auf spezifischen IPv6-Client-IPs zu filtern.

  • Stellen Sie sicher, dass Ihre Regeln Datenverkehr aus dem internen IPv4-Bereich des Gateways zulassen (siehe Netzwerkparameter).
  • Um den Zugriff auf bestimmte Clients zu beschränken, müssen Sie Regeln auf Anwendungsebene erzwingen (zum Beispiel durch Verwendung einer Web Application Firewall) oder durch Auswertung des PROXY-Protokolls.
  • Wenn Sie keinen IPv6-Zugriff wünschen, blockieren Sie bitte die entsprechenden IPs des NAT64-Gateways.

Das IPv6-Protokoll erfordert eine korrekte Handhabung der Paketgrößen (MTU). Wenn Pakete zu groß sind, müssen Router in der Lage sein, eine ICMPv6-Nachricht (“Packet Too Big”) an den Absender zurückzuschicken.

  • Blockieren Sie ICMPv6 nicht, da dies zu Verbindungsabbrüchen bei größeren Datenübertragungen führen kann (bekannt als “Black Hole Routing”).

Da das Gateway eine Protokollübersetzung durchführt, gibt es Besonderheiten, die Sie bei der Konfiguration Ihrer Server und Firewalls berücksichtigen sollten.

Aufgrund der Protokollübersetzung sehen Ihre Server nicht die ursprüngliche IPv6-Adresse des Clients als Absender, sondern eine IPv4-Adresse aus dem SNAT-Pool des Gateways. Das Gateway fungiert als Proxy und führt eine Übersetzung durch. Das bedeutet, dass mehrere externe IPv6-Clients gleichzeitig eine Reihe von IPv4-Adressen aus dem Pool des Gateways teilen.

Um die echte Client-IP zu erhalten, nutzen Sie folgende Methoden:

  • Für HTTP/HTTPS: Das Gateway fügt automatisch den Header X-Forwarded-For hinzu. Konfigurieren Sie Ihren Webserver (zum Beispiel: Nginx oder Apache) so, dass dieser Header ausgewertet wird.
  • Für TCP-Dienste: Verwenden Sie das PROXY-Protokoll. Aktivieren Sie dies in Ihrer Anwendung (zum Beispiel: HAProxy oder Dovecot), um Verbindungsinformationen direkt in der TCP-Nutzlast zu erhalten.

Da das Gateway zustandsorientiert (stateful) arbeitet, werden Verbindungsinformationen in einer Session-Tabelle gespeichert. Wenn über einen längeren Zeitraum keine Daten fließen, wird der Eintrag aus der Session-Tabelle entfernt, um Ressourcen freizugeben. Dies führt zu einem Verbindungsabbruch.

Das Idle Timeout für inaktive Verbindungen beträgt 300 Sekunden für TCP und 60 Sekunden für UDP.