Qu'est-ce qu'un enregistrement SRV
Découvrez comment les enregistrements SRV permettent la découverte de services en spécifiant l'hôte et le port des services. Inclut des exemples pour le tableau de bord et l'API DNScale.
Un enregistrement SRV (Service) spécifie l'emplacement des serveurs pour des services spécifiques. Contrairement aux enregistrements A qui associent simplement des noms à des IP, les enregistrements SRV fournissent le nom d'hôte, le port, la priorité et le poids d'un service — permettant une découverte de services sophistiquée et une répartition de charge.
Comment fonctionnent les enregistrements SRV
Les enregistrements SRV utilisent une convention de nommage spéciale :
_service._protocole.domaine. TTL SRV priorité poids port cibleExemple :
_sip._tcp.example.com. 3600 SRV 10 60 5060 sipserver.example.com.Cela indique aux clients : « Pour atteindre le service SIP via TCP pour example.com, connectez-vous à sipserver.example.com sur le port 5060. »
Composants de l'enregistrement
| Composant | Description | Exemple |
|---|---|---|
| Service | Nom du service (préfixé par _) | _sip, _xmpp, _ldap |
| Protocole | Protocole réseau (préfixé par _) | _tcp, _udp |
| Priorité | Valeurs plus basses = priorité plus haute | 10 |
| Poids | Distribution de charge entre serveurs de même priorité | 60 |
| Port | Numéro de port TCP/UDP | 5060 |
| Cible | Nom d'hôte du serveur | sipserver.example.com. |
Cas d'utilisation courants
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.Messagerie XMPP (Jabber)
_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.Services d'annuaire LDAP
_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.Serveurs Minecraft
_minecraft._tcp.example.com. 3600 SRV 0 5 25565 mc.example.com.Chat Matrix/Element
_matrix._tcp.example.com. 3600 SRV 10 0 8448 matrix.example.com.Priorité et poids expliqués
Priorité (préférence)
Les valeurs les plus basses sont essayées en premier :
_sip._tcp.example.com. SRV 10 50 5060 primary.example.com.
_sip._tcp.example.com. SRV 20 50 5060 backup.example.com.Les clients essaient primary.example.com en premier (priorité 10), puis backup.example.com (priorité 20) en cas d'échec.
Poids (distribution de charge)
Entre les serveurs de même priorité, le poids détermine la distribution :
_sip._tcp.example.com. SRV 10 70 5060 server1.example.com.
_sip._tcp.example.com. SRV 10 30 5060 server2.example.com.Server1 reçoit ~70% du trafic, server2 reçoit ~30%.
Format de l'enregistrement
| Champ | Description | Exemple |
|---|---|---|
| Nom | _service._protocole.domaine | _sip._tcp.example.com |
| Type | Type d'enregistrement | SRV |
| Priorité | Préférence du serveur (plus bas = préféré) | 10 |
| Poids | Poids de répartition de charge | 50 |
| Port | Port du service | 5060 |
| Contenu | Nom d'hôte cible | sipserver.example.com. |
| TTL | Durée de vie (secondes) | 3600 |
Ajouter un enregistrement SRV
Via le tableau de bord
- Accédez à votre zone dans le tableau de bord DNScale
- Cliquez sur Add Record
- Configurez l'enregistrement :
- Name : Saisissez
_service._protocole(ex._sip._tcp) - Type : Sélectionnez
SRV - Priority : Définissez la valeur de priorité (ex.
10) - Weight : Définissez la valeur de poids (ex.
50) - Port : Définissez le port du service (ex.
5060) - Value : Saisissez le nom d'hôte cible
- TTL : Définissez la durée de cache (par défaut : 3600)
- Name : Saisissez
- Cliquez sur Create Record
Via l'API
Créer un enregistrement SRV :
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
}'Configurer les enregistrements XMPP :
# Connexions client
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
}'
# Fédération serveur à serveur
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
}'Réponse de l'API :
{
"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
}
}
}Bonnes pratiques
-
Utilisez des priorités significatives - Laissez des écarts entre les valeurs de priorité (10, 20, 30) pour une flexibilité future
-
La cible doit avoir des enregistrements A/AAAA - Les cibles SRV doivent résoudre vers des adresses IP, pas des CNAME
-
Utilisez le poids pour la répartition de charge - Distribuez le trafic entre les serveurs de même priorité en utilisant le poids
-
N'utilisez pas le port 0 - Un poids de 0 signifie que le serveur doit être utilisé en dernier recours
-
Testez avec les applications - Toutes les applications ne respectent pas les enregistrements SRV ; vérifiez avec votre logiciel spécifique
Désactiver un service
Pour indiquer qu'un service n'est pas disponible, utilisez une cible . :
_sip._tcp.example.com. 3600 SRV 0 0 0 .Tester les enregistrements SRV
Vérifiez vos enregistrements SRV avec dig :
dig SRV _sip._tcp.example.com
# Avec sortie complète
dig SRV _xmpp-client._tcp.example.com +shortTypes d'enregistrements associés
- A - Adresse IPv4 du serveur cible
- AAAA - Adresse IPv6 du serveur cible
- HTTPS - Liaison de service moderne pour HTTPS
- SVCB - Liaison de service générale
Conclusion
Les enregistrements SRV sont essentiels pour la découverte de services, permettant aux applications de trouver automatiquement les bons serveurs, ports et options de basculement. Ils sont critiques pour la VoIP, la messagerie instantanée et de nombreux protocoles d'entreprise. Le support SRV de DNScale vous permet de configurer des architectures de services sophistiquées avec basculement basé sur la priorité et répartition de charge pondérée.