Ein SVCB-Record beschreibt, wie ein Dienst erreicht werden kann. Er kann einen anderen Namen bezeichnen und Parameter wie Protokoll, Fallback-Adresse und Port angeben. Für eine Website veröffentlicht man oft einen HTTPS-Eintrag, der die spezialisierte SVCB-Variante ist.
Ein SVCB-Record enthält einen Namen, einen Typ, eine Priorität, ein Ziel, Parameter und eine TTL. Die TTL gibt an, wie lange die Antwort im lokalen Resolver zwischengespeichert bleibt.
| Name | Typ | Priorität | Ziel | Parameter | TTL in Sekunden |
|---|
| _imap._tcp.beispiel.com | SVCB | 1 | mail.beispiel.net. | alpn=imap port=993 ipv4hint=203.0.113.10 | 3600 |
In diesem Beispiel zielt der Name auf den imap-Dienst über TCP ab. Das Ziel ist ein anderer Hostname. Die Parameter geben das Protokoll, den Port und eine Fallback-Adresse an. Eine TTL von 3600 entspricht einer Stunde.
Die Priorität null aktiviert einen Alias-Modus. Der Name verhält sich dann wie ein Alias zum Ziel.
| Name | Typ | Priorität | Ziel | Parameter | TTL in Sekunden |
|---|
| apex.beispiel.com | SVCB | 0 | cdn.beispiel.net. | (keine Parameter) | 3600 |
Dieser Modus dient als Brücke. Er vermeidet die Verwendung eines CNAME dort, wo er nicht erwünscht ist.
| Parametername | Rolle |
|---|
| alpn | Kündigt unterstützte Protokolle wie h2 oder h3 an |
| port | Gibt den Port des Dienstes an |
| ipv4hint | Liefert indikative v4-Adressen |
| ipv6hint | Liefert indikative v6-Adressen |
| ech | Veröffentlicht ECH-Daten zur Verschlüsselung des ClientHello |
Diese Parameter leiten den Client. Sie ersetzen nicht die A- und AAAA-Einträge, die weiterhin die Adressquelle bleiben.
Eine kurze TTL macht eine Änderung sichtbarer. Praktisch während eines Übergangs.
Eine mittlere oder lange TTL reduziert die Anfragen an die autoritativen Server. Geeignet für einen stabilen Dienst.
TTL einige Stunden vor einer Umstellung reduzieren, dann nach Validierung wieder erhöhen.
Gut zu wissen
Für das Web einen HTTPS-Eintrag bevorzugen. Er folgt denselben Regeln wie SVCB und fügt nützliche Felder für Browser hinzu.
Auf einem dedizierten Dienstnamen wie _imap._tcp oder _smtp._tcp, wenn das Protokoll es vorsieht.
Am Apex im Alias-Modus, wenn man auf einen anderen Namen zeigen muss, während man einen CNAME vermeidet.
SVCB kann mit A und AAAA koexistieren. Clients, die SVCB nicht verstehen, verwenden die klassischen Adressen.
Zu vermeiden
Ziele ohne Grund zu verketten. Zum Wesentlichen gehen.
Parameter zu veröffentlichen, die nicht mit dem tatsächlichen Dienst übereinstimmen.
A oder AAAA am Ziel zu vergessen, wenn der Client dorthin gehen muss.
Ein Online-DNS-Lookup ermöglicht die Eingabe eines Domainnamens. Man sieht die Priorität, das Ziel, die Parameter und die TTL, wie sie vom Internet aus wahrgenommen werden. Das ist eine nützliche erste Kontrolle. Anschließend einen lokalen Test von der eigenen Maschine durchführen.
Windows stellt nslookup zur Verfügung. Man kann es im interaktiven Modus verwenden.
nslookup
set q=svcb
beispiel.com
nslookup
set q=svcb
beispiel.com @1.1.1.1
Der erste Teil fragt entsprechend der Netzwerkkonfiguration der Maschine ab. Der zweite erzwingt die Verwendung eines Drittanbieters-Resolvers, hier den von Cloudflare.
Auf diesen Systemen ist der Befehl dig praktisch und einfach zu verwenden.
dig SVCB beispiel.com
dig SVCB beispiel.com @1.1.1.1
Eine Priorität von null zeigt einen Alias an. Ein Wert größer als null zeigt einen Dienst mit Parametern an.
Das Vorhandensein von alpn leitet die Protokollwahl. Die Felder ipv4hint und ipv6hint sind nur Hinweise.
Eine hohe verbleibende TTL kann eine Verzögerung nach einer Änderung erklären.
- Den Bedarf definieren. Alias zu einem Ziel oder Veröffentlichung von Parametern.
- Die TTL einige Stunden vor der Einrichtung auf 300 oder sogar 60 Sekunden reduzieren.
- Den SVCB mit der gewählten Priorität und den Parametern veröffentlichen.
- Mit nslookup oder dem dig-Befehl von mehreren Netzwerken aus überprüfen.
- Die TTL erhöhen, wenn alles stabil ist.
Praktischer Tipp
Die Priorität, das Ziel und jeden Parameter dokumentieren. Datum und Grund der Änderung festhalten. Diese Spur erleichtert die Kontrollen.
Einen SVCB auf _api._tcp veröffentlichen, um alpn und port anzukündigen. Die Anwendung weiß, wie sie sich verbinden soll.
Alias-Modus verwenden, um auf den vom Dienst bereitgestellten Namen zu zielen. A und AAAA am Ziel behalten.
Auf einer Website einen dedizierten HTTPS-Eintrag mit alpn h3 veröffentlichen. ech hinzufügen, wenn der Dienst es anbietet.
- Wenn Clients SVCB ignorieren, überprüfen, dass A und AAAA am Ziel existieren.
- Wenn das falsche Protokoll gewählt wird, alpn überprüfen.
- Wenn eine Schleife auftritt, überprüfen, dass das Ziel nicht auf den ursprünglichen Namen zurückverweist.
- Wenn die Antwort trotz Aktualisierung veraltet bleibt, das Ablaufen der TTL abwarten und wenn möglich den Cache des lokalen Resolvers leeren.
Zusammengefasst beschreibt ein SVCB-Eintrag einen Dienst und kann als kontrollierter Alias dienen. Die Parameter leiten den Client, ohne A und AAAA zu ersetzen. Eine gut eingestellte TTL erleichtert Übergänge. Die Überprüfung erfolgt über ein Online-Tool, dann über nslookup und dig.
Mit diesen Anhaltspunkten bleibt die Verwaltung klar. Änderungen laufen stressfrei ab. Benutzer greifen ohne Zwischenfälle auf den Dienst zu.