Was ist ein SRV-Eintrag
Erfahren Sie, wie SRV-Einträge die Diensterkennung ermöglichen, indem sie Host- und Port-Informationen für Dienste angeben. Mit Beispielen für das DNScale-Dashboard und die API.
Ein SRV-Eintrag (Service Record) gibt den Standort von Servern für bestimmte Dienste an. Anders als A-Einträge, die einfach Namen zu IPs zuordnen, liefern SRV-Einträge den Hostnamen, Port, die Priorität und Gewichtung für einen Dienst — und ermöglichen so eine ausgefeilte Diensterkennung und Lastverteilung.
Wie SRV-Einträge funktionieren
SRV-Einträge verwenden eine spezielle Namenskonvention:
_service._protocol.domain. TTL SRV priority weight port targetBeispiel:
_sip._tcp.example.com. 3600 SRV 10 60 5060 sipserver.example.com.Dies teilt Clients mit: „Um den SIP-Dienst über TCP für example.com zu erreichen, verbinden Sie sich mit sipserver.example.com auf Port 5060."
Eintragskomponenten
| Komponente | Beschreibung | Beispiel |
|---|---|---|
| Service | Dienstname (mit _ vorangestellt) | _sip, _xmpp, _ldap |
| Protocol | Netzwerkprotokoll (mit _ vorangestellt) | _tcp, _udp |
| Priority | Niedrigere Werte = höhere Priorität | 10 |
| Weight | Lastverteilung bei gleicher Priorität | 60 |
| Port | TCP/UDP-Portnummer | 5060 |
| Target | Hostname des Servers | sipserver.example.com. |
Häufige Anwendungsfälle
VoIP / SIP
_sip._tcp.example.com. 3600 SRV 10 100 5060 sip1.example.com.
_sip._tcp.example.com. 3600 SRV 20 100 5060 sip2.example.com.
_sip._udp.example.com. 3600 SRV 10 100 5060 sip1.example.com.XMPP (Jabber) Messaging
_xmpp-client._tcp.example.com. 3600 SRV 5 0 5222 xmpp.example.com.
_xmpp-server._tcp.example.com. 3600 SRV 5 0 5269 xmpp.example.com.Microsoft 365 / Teams
_sipfederationtls._tcp.example.com. 3600 SRV 100 1 5061 sipfed.online.lync.com.
_sip._tls.example.com. 3600 SRV 100 1 443 sipdir.online.lync.com.LDAP-Verzeichnisdienste
_ldap._tcp.example.com. 3600 SRV 0 100 389 ldap.example.com.
_ldaps._tcp.example.com. 3600 SRV 0 100 636 ldap.example.com.
_ldap._tcp.dc._msdcs.example.com. 3600 SRV 0 100 389 dc1.example.com.CalDAV / CardDAV
_caldav._tcp.example.com. 3600 SRV 0 0 80 calendar.example.com.
_caldavs._tcp.example.com. 3600 SRV 0 0 443 calendar.example.com.
_carddav._tcp.example.com. 3600 SRV 0 0 80 contacts.example.com.
_carddavs._tcp.example.com. 3600 SRV 0 0 443 contacts.example.com.Minecraft-Server
_minecraft._tcp.example.com. 3600 SRV 0 5 25565 mc.example.com.Matrix/Element Chat
_matrix._tcp.example.com. 3600 SRV 10 0 8448 matrix.example.com.Priorität und Gewichtung erklärt
Priorität (Präferenz)
Niedrigere Werte werden zuerst versucht:
_sip._tcp.example.com. SRV 10 50 5060 primary.example.com.
_sip._tcp.example.com. SRV 20 50 5060 backup.example.com.Clients versuchen zuerst primary.example.com (Priorität 10), dann backup.example.com (Priorität 20), wenn der primäre Server ausfällt.
Gewichtung (Lastverteilung)
Unter Servern mit gleicher Priorität bestimmt die Gewichtung die Verteilung:
_sip._tcp.example.com. SRV 10 70 5060 server1.example.com.
_sip._tcp.example.com. SRV 10 30 5060 server2.example.com.Server1 erhält ca. 70 % des Datenverkehrs, Server2 erhält ca. 30 %.
Eintragsformat
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Name | _service._protocol.domain | _sip._tcp.example.com |
| Typ | Eintragstyp | SRV |
| Priorität | Serverpräferenz (niedriger = bevorzugt) | 10 |
| Gewichtung | Lastverteilungsgewicht | 50 |
| Port | Service-Port | 5060 |
| Inhalt | Ziel-Hostname | sipserver.example.com. |
| TTL | Gültigkeitsdauer (Sekunden) | 3600 |
SRV-Eintrag hinzufügen
Über das Dashboard
- Navigieren Sie zu Ihrer Zone im DNScale-Dashboard
- Klicken Sie auf Add Record
- Konfigurieren Sie den Eintrag:
- Name: Geben Sie
_service._protocolein (z. B._sip._tcp) - Type: Wählen Sie
SRV - Priority: Setzen Sie den Prioritätswert (z. B.
10) - Weight: Setzen Sie den Gewichtungswert (z. B.
50) - Port: Setzen Sie den Service-Port (z. B.
5060) - Value: Geben Sie den Ziel-Hostnamen ein
- TTL: Setzen Sie die Cache-Dauer (Standard: 3600)
- Name: Geben Sie
- Klicken Sie auf Create Record
Über die API
SRV-Eintrag erstellen:
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "_sip._tcp",
"type": "SRV",
"content": "sipserver.example.com",
"ttl": 3600,
"priority": 10,
"weight": 50,
"port": 5060
}'XMPP-Einträge einrichten:
# Client-Verbindungen
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "_xmpp-client._tcp",
"type": "SRV",
"content": "xmpp.example.com",
"ttl": 3600,
"priority": 5,
"weight": 0,
"port": 5222
}'
# Server-zu-Server-Federation
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "_xmpp-server._tcp",
"type": "SRV",
"content": "xmpp.example.com",
"ttl": 3600,
"priority": 5,
"weight": 0,
"port": 5269
}'API-Antwort:
{
"status": "success",
"data": {
"message": "Record created successfully",
"record": {
"id": "encoded-record-id",
"name": "_sip._tcp.example.com.",
"type": "SRV",
"content": "10 50 5060 sipserver.example.com.",
"ttl": 3600,
"disabled": false
}
}
}Best Practices
-
Sinnvolle Prioritäten verwenden - Lassen Sie Lücken zwischen den Prioritätswerten (10, 20, 30) für zukünftige Flexibilität
-
Ziel muss A/AAAA-Einträge haben - SRV-Ziele sollten in IP-Adressen auflösen, nicht in CNAMEs
-
Gewichtung für Lastverteilung verwenden - Verteilen Sie den Datenverkehr unter Servern mit gleicher Priorität über die Gewichtung
-
Port 0 nicht verwenden - Eine Gewichtung von 0 bedeutet, dass der Server nur als letzte Möglichkeit genutzt werden soll
-
Mit Anwendungen testen - Nicht alle Anwendungen beachten SRV-Einträge; überprüfen Sie dies mit Ihrer jeweiligen Software
Dienst deaktivieren
Um anzuzeigen, dass ein Dienst nicht verfügbar ist, verwenden Sie ein Ziel von .:
_sip._tcp.example.com. 3600 SRV 0 0 0 .SRV-Einträge testen
Überprüfen Sie Ihre SRV-Einträge mit dig:
dig SRV _sip._tcp.example.com
# Mit vollständiger Ausgabe
dig SRV _xmpp-client._tcp.example.com +shortVerwandte Eintragstypen
- A - IPv4-Adresse für den Zielserver
- AAAA - IPv6-Adresse für den Zielserver
- HTTPS - Modernes Service Binding für HTTPS
- SVCB - Allgemeines Service Binding
Fazit
SRV-Einträge sind unverzichtbar für die Diensterkennung und ermöglichen es Anwendungen, automatisch die richtigen Server, Ports und Failover-Optionen zu finden. Sie sind entscheidend für VoIP, Instant Messaging und viele Unternehmensprotokolle. DNScales Unterstützung für SRV-Einträge ermöglicht die Konfiguration ausgefeilter Service-Architekturen mit prioritätsbasiertem Failover und gewichteter Lastverteilung.