Ein Hostname kann eine IPv4-Adresse über einen A-Eintrag und eine IPv6-Adresse über einen AAAA-Eintrag liefern. Das sagt zunächst nur, welche Adressen DNS zurückgibt. Es beweist nicht, dass der Spieleclient, der Serverprozess und der gesamte Netzwerkpfad die jeweilige Familie unterstützen. Prüfe IPv4 und IPv6 getrennt und verbinde jede Beobachtung mit dem tatsächlichen Spieltest.
A und AAAA getrennt nachsehen
Ersetze mc.example.net durch den Hostnamen deines Servers. example.net ist für Dokumentationsbeispiele reserviert. Wenn dig verfügbar ist, fragst du damit den konfigurierten DNS-Resolver einmal nach A und einmal nach AAAA:
dig mc.example.net A
dig mc.example.net AAAA
Ein A-Ergebnis enthält IPv4-Adressen; ein AAAA-Ergebnis IPv6-Adressen. Die DNS-Standards beschreiben diese Datensätze als Adressangaben, nicht als Nachweis eines erreichbaren Spielports. Wenn nur A erscheint, liefert dieser Resolver für den Namen gerade keine IPv6-Adresse. Ein vorhandener AAAA-Eintrag beweist umgekehrt weder eine passende Serverbindung noch IPv6-Unterstützung im Spiel. Prüfe dazu die aktuellen Angaben des Spieleherstellers für Client und Dedicated Server. Falls du Minecraft Java über eine Domain mit SRV-Eintrag betreibst, beachte den eigenen Leitfaden zur Minecraft-Domain mit SRV-Eintrag; bei Änderungen und Cachefragen hilft DNS-TTL bei einem Gameserver-Umzug.
Für jede Familie den lokalen Weg prüfen
Ein Rechner braucht selbst eine passende Adresse und Route, um ein Ziel über die jeweilige Familie zu erreichen. Unter Windows zeigt PowerShell mit -DiagnoseRouting die ausgewählte Route und Quelladresse. Die folgenden Adressen sind ausschliesslich für Dokumentation reserviert und erreichen keinen echten Server:
Test-NetConnection -ComputerName 192.0.2.10 -DiagnoseRouting
Test-NetConnection -ComputerName 2001:db8::10 -DiagnoseRouting
Ersetze die Beispieladressen für eine lokale Routenprüfung durch die passenden Antworten aus deiner DNS-Abfrage. Auf Linux erfüllt ip route get denselben Zweck für die lokal ausgewählte Route:
ip route get 192.0.2.10
ip -6 route get 2001:db8::10
Die dokumentierten Beispielbereiche 192.0.2.0/24 und 2001:db8::/32 sind nicht für den öffentlichen Betrieb bestimmt. Auch ip route get sendet selbst kein Paket; es zeigt nur, welche lokale Route der Kernel wählen würde. Ein vorhandener lokaler Weg ist deshalb kein Beweis für die Erreichbarkeit des Servers.
Wenn du den Linux-Server selbst verwaltest, kannst du zusätzlich seine lokalen Listener pro Familie ansehen: ss -4 -lntu für IPv4 und ss -6 -lntu für IPv6. Das listet lauschende TCP- und UDP-Sockets; es bestätigt keine Verbindung von aussen. Bei einem verwalteten Server ohne Shell-Zugang bitte den Anbieter, die zugewiesene Adresse, den Listener und die öffentliche Zuordnung pro Familie zu prüfen.
Spielbeitritt und Firewall passend bewerten
Führe den abschliessenden Test mit dem normalen Spieleclient und dem für dein Spiel dokumentierten Protokoll und Port durch. Wenn der Client eine direkte Adresse pro Familie unterstützt, teste die IPv4- und IPv6-Adresse einzeln. Ein TCP-Test prüft weiterhin nur TCP; für UDP brauchst du den echten Spielbeitritt oder ein vom Hersteller dokumentiertes Abfragewerkzeug. Die Anleitung TCP und UDP bei Gameserver-Ports unterscheiden erklärt diese Trennung.
Bei einem selbst betriebenen IPv4-Server kann ein Router mit NAT eingehende Verbindungen an ein internes Ziel und einen Port weiterleiten. Dafür müssen Protokoll und Port zur dokumentierten Spielverbindung passen. Eine zweite NAT-Schicht beim Internetanbieter lässt sich mit einer lokalen Routerregel nicht allein beheben. IPv6 hat einen eigenen Routing- und Firewallpfad; übernimm eine IPv4-Regel nicht automatisch als Beleg für IPv6. Ändere nur die einzelne, notwendige Regel, die du anhand der Spiel- und Netzwerkkonfiguration bestätigt hast.
Ordne die Ergebnisse so ein:
- A funktioniert, AAAA nicht: Prüfe zuerst, ob Spielclient und Server IPv6 unterstützen, danach AAAA-Ziel, IPv6-Listener, Route und Firewall. Entferne keinen DNS-Eintrag, bevor du die korrekte Zieladresse bestätigt hast.
- AAAA fehlt: Der abgefragte Name liefert momentan keinen IPv6-Endpunkt. Das ist nicht dasselbe wie ein fehlgeschlagener IPv6-Spieltest.
- Beide Einträge erscheinen, aber kein Beitritt gelingt: DNS allein erklärt den Fehler nicht. Vergleiche Spielversion, dokumentiertes Transportprotokoll, Port und die zugewiesene öffentliche Adresse.
DNS-Änderungen können je nach TTL und Resolvercache unterschiedlich sichtbar werden; Details dazu findest du im zuvor verlinkten DNS-TTL-Leitfaden. Bei einer konkreten Ablehnung oder einem Timeout hilft für Minecraft Java zusätzlich Connection refused und Timeout unterscheiden. Wenn du Unterstützung brauchst, sende nur den Hostnamen, die betroffene IP-Familie, den Spielnamen und das Ergebnis des konkreten Spieltests. Teile keine Passwörter oder RCON-Zugangsdaten.
Quellen
- IETF RFC 1035: Domain Names, A Resource Record
- IETF RFC 3596: DNS Extensions to Support IPv6, AAAA Record
- IETF RFC 3022: Traditional IP Network Address Translator
- IETF RFC 6598: Shared Address Space for Carrier-Grade NAT
- IETF RFC 5737: IPv4 Address Blocks Reserved for Documentation
- IETF RFC 3849: IPv6 Address Prefix Reserved for Documentation
- IETF RFC 2606: Reserved Top-Level DNS Names
- BIND 9.20.29 manual:
dig - Linux man-pages:
ip-route(8) - Linux man-pages:
ss(8) - Microsoft Learn:
Test-NetConnection