GUUG Frühjahrsfachgespräch 2026
Created: 2026-03-06 Fri 06:24
SVCB (Type 64) und HTTPS (Type 65)
bieten neben IP-Adressen zusätzliche Informationen für
Netzwekdienste, wie das Protokoll für HTTPS-Verbindungen
SVCB ist die generische Variante, und HTTPS ist die
spezielle Version für HTTPS-VerbindungenCNAME- oder
DNAME-Records nicht möglich sind (Beispiel: firma.de ist ein
Alias für firma.comSVCB kann als eine Weiterentwicklung des älteren SRV-Record
gesehen werden
Beispiel SVCB im Alias Modus (für den ldap Dienst auf Port 389)
_389._ldap.example.com. 3600 IN SVCB 0 ldap-server.example.net.
Beispiel HTTPS Alias Modus
example.com. 3600 IN HTTPS 0 svc.example.net.
_port._service.ownername. TTL IN SVCB <prio> <target> <key1=value1> <keyN=valueN>
prio Feld funktioniert wie die Priorität in SRV- oder MX-Records
(niedriger Wert = höhere Priorität)target enthält den Hostnamen des Servers, welcher
diesen Dienst bereitstellt. Der Hostname . bedeutet: "benutze
den Domain-Namen des SVCB/HTTPS-Record als Hostnamen für diesen
Dienst"mandatory - Liste der obligatorischen Parameteralpn - Unterstützte Protokollvariantenno-default-alpn - Keine "Default" Protokollvarianteport - Port für den Dienst auf dem Serveripv6hint - IPv6 Adressen (Hint)ipv4hint - IPv4 Adressen (Hint)echconfig - "Encrypted Client Hello" (TLS) SchlüsselHTTPS in Service-Modus (erster HTTPS-Record für Alias-Modus)
example.com. 7200 IN HTTPS 0 svc.example.net. svc.example.net. 7200 IN CNAME svc2.example.net. svc2.example.net. 7200 IN HTTPS 1 . port=8002 ipv6hint=2001:db8::2 echconfig="..." svc2.example.net. 300 IN A 192.0.2.2 svc2.example.net. 300 IN AAAA 2001:db8::2
gut (155 Bytes):
$ dig txt guug.de | grep SIZE ;; MSG SIZE rcvd: 155
nicht gut (3562 Bytes):
$ dig txt oracle.com | grep SIZE ;; MSG SIZE rcvd: 3562
Beispiel BIND 9 named.conf:
options {
minimal-answers yes;
[...]
};
alt. für Namensdienste außerhalb des DNSonion. für das TOR-Netzwerkalt-Namensraum nun ohne
Interaktion mit der IETF genutzt werdenalt-Namensraum ist unreguliert, jeder kann Namen unterhalb
von alt für eigene Protokolle verwendenalt ignorieren und nicht auflösen.alt anlegen.alt stoppen (lokale leere Zone oder durch eine RPZ-Zone).local ist für Multicast-DNS (mDNS) reservierthome.arpa ist für die Benutzung in Heimnetzen mit dem HomeNet
Protokoll vorgeseheninternal wurde von der ICANN als TLD für den
Gebrauch in lokalen/privaten Netzen reserviertinternal TLDinternal schon reserviert und kann heute für interne Netze
benutzt werden
status/rcode:
NOERROR - Abfrage war erfolgreichNXDOMAIN - der angefragte Domain-Name existiert nicht (oder die
Domain ist nicht delegiert)SERVFAIL - ein Fehler auf dem Server ist aufgetretenFORMERR - die Anfrage war kein korrektes DNS-PaketREFUSED - dieser Server darf diese Anfrage nicht beantwortenNOTIMPL - diese Funktion ist nicht implementiertBADCOOKIE - Server Cookie fehlt/nicht korrekt
DO - DNSSEC OK, dieser DNS client
versteht DNSSEC-Recordsdig seit Version 9.16.4 und in BIND 9
seit Version 9.18 implementiert$ dig lame.defaultroutes.org soa @1.1.1.1 < ; <<>> DiG 9.18.41 <<>> lame.defaultroutes.org soa @1.1.1.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 29410 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; EDE: 22 (No Reachable Authority): (at delegation lame.defaultroutes.org.) ;; QUESTION SECTION: ;lame.defaultroutes.org. IN SOA ;; Query time: 705 msec ;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP) ;; WHEN: Mon Nov 03 13:19:33 CET 2025 ;; MSG SIZE rcvd: 94
QNAME (Domain-Name) der Report-DNS-Anfrage.QNAME aus dem DNS-Label _er, dem
EDE-Fehlercode, dem QTYPE (DNS-Record-Type der fehlerhaften
Anfrage), dem QNAME der Anfrage, dem DNS-Label _er (nochmals)
und dem Reporting-Domain-Namen.QNAME) wird dann benutzt um eine
DNS-Anfrage für den DNS-Record-Typ NULL anzufragen. Über den
Domain-Namen wird der Fehler-Report gesendet.NODATA / NXRRSET. Diese
negative Antwort wird gecached
broken.test ist auf mehreren autoritativen
DNS-Servern gehostet
a01.reporting-agent.example.broken.test nicht validieren, da die Lebensdauer der Signatur
abgelaufen ist_er.7.1.broken.test._er.a01.reporting-agent.example und sendet
die DNS-Anfrage. Dieser QNAME signalisiert das ein DNS Fehler 7
(abgelaufende DNSSEC-Signatur) bei der DNS-Auflösung eines
A-Records (QTYPE 1) für die Domain broken.test aufgetreten
istbroken.test, das bei einem DNS-Resolver
ein DNS-Fehler 7 bei der Auflösung eines A-Record in dieser
Domain aufgetreten ist.
Es gibt keinen Mechanismus, um eine DNSSEC signierte Zone vor der Aktivierung von DNSSEC umfassend zu testen
AD-Flag
(Authentic Data) an den DNS-Client geliefertAD-Flag an den Client gesendet, und ein Fehlerreport an den
Reporting-Agent der Zonedigdigdig (Version 9.16+) können die DNS Daten im
YAML Format ausgeben$ dig a example.com +yaml
dig Ausgabe, und
ggf. auch einfacher für Menschen zu lesen)yq kann zwischen YAML und JSON umgewandelt
werdendig (Beispiel)
$ dig a example.com +yaml
- type: MESSAGE
message:
type: AUTH_RESPONSE
query_time: !!timestamp 2025-10-30T15:41:26.326Z
response_time: !!timestamp 2025-10-30T15:41:26.339Z
message_size: 147b
socket_family: INET
socket_protocol: UDP
response_address: "192.0.2.53"
response_port: 53
query_address: "0.0.0.0"
query_port: 0
response_message_data:
opcode: QUERY
status: NOERROR
id: 36989
flags: qr aa rd
QUESTION: 1
ANSWER: 1
AUTHORITY: 2
ADDITIONAL: 1
OPT_PSEUDOSECTION:
EDNS:
version: 0
flags:
udp: 1220
COOKIE:
CLIENT: 43c62d22d8149b80
SERVER: 01000000690387265fec604c141dc62d
STATUS: good
EDE:
INFO-CODE: 18 (Prohibited)
QUESTION_SECTION:
- 'example.com. IN A'
ANSWER_SECTION:
- 'example.com. 3600 IN A 192.0.2.10'
AUTHORITY_SECTION:
- 'example.com. 1800 IN NS ns3.myinfrastructure.org.'
- 'example.com. 1800 IN NS ns5.myinfrastructure.org.'
RESINFO (DNS Resolver Info)resolver.arpa abgefragt, so antwortet der
DNS-Resolver mit Informationen über die Fähigkeiten des
Resolvers:
qnamemin - Unterstützung für QNAME-Minimizationexterr - unterstützte EDE-Fehlercodesinfourl - HTTPS-URL mit Informationen zur Fehlersuche. Gedacht
für den IT-Support, nicht für den EndanwenderRESINFO mehrerer verfügbarer
DNS-Resolver vergleichen und eine Auswahl treffen
# dig @192.0.2.101 resolver.arpa RESINFO ; <<>> DiG 9.20.13 <<>> resolver.arpa resinfo @192.0.2.101 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56228 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: 185d3f0c07fa57330100000069038b052bd2f6ab81dca9b0 (good) ;; QUESTION SECTION: ;resolver.arpa. IN RESINFO ;; AUTHORITY SECTION: resolver.arpa. 7200 IN RESINFO "qnamemin exterr=15-17 infourl=https://resolver.example.com/guide" ;; Query time: 7 msec ;; SERVER: 192.0.2.101#53(192.0.2.101) (UDP) ;; WHEN: Thu Oct 30 16:57:57 CET 2025 ;; MSG SIZE rcvd: 118
*._dsync.example. IN DSYNC CDS NOTIFY port target *._dsync.example. IN DSYNC CSYNC NOTIFY port target
guug.de) dieser Zone (de TLD):guug._dsync.de. IN DSYNC CDS NOTIFY 53 notify.denic.de. guug._dsync.de. IN DSYNC CSYNC NOTIFY 53 notify.denic.de.
PASSWORD Passwort eines CPE-GerätesCREDITCARD Kreditkarten-Daten eines KundenSSN Social Security Nummer der KundenSSNPTR Rückwärtsauflösung einer Social Security Nummer zum
Namen des Kunden