Enregistrement SRV : Découverte de Services DNS

Utilisez les enregistrements SRV pour la localisation automatique de services réseau.

Les enregistrements SRV (Service) permettent aux applications de dĂ©couvrir automatiquement les serveurs fournissant un service spĂ©cifique. Au lieu de coder en dur une adresse de serveur, les applications interrogent le DNS pour trouver oĂč se connecter. C'est ainsi que fonctionnent de nombreux protocoles modernes : VoIP, messagerie instantanĂ©e, Microsoft 365, et bien d'autres.

Contrairement aux enregistrements A qui associent simplement un nom Ă  une IP, les SRV contiennent des informations riches : le port du service, la prioritĂ© (quel serveur essayer en premier), et le poids (rĂ©partition de charge entre serveurs de mĂȘme prioritĂ©). Cette intelligence intĂ©grĂ©e au DNS simplifie considĂ©rablement la configuration des clients.

Les SRV sont particuliÚrement utiles pour les services qui doivent fonctionner sur des ports non-standard, les architectures avec plusieurs serveurs, ou les configurations de failover automatique. Si vous utilisez Microsoft 365, Skype for Business, SIP, XMPP, ou Minecraft, vous utilisez probablement déjà des enregistrements SRV sans le savoir.

Qu'est-ce qu'un Enregistrement SRV ?

Les SRV ont une syntaxe spécifique qui encode plusieurs informations :

  • Format du nom : Le nom suit le format _service._protocol.domaine. Exemple : _sip._tcp.example.com pour le service SIP sur TCP dans le domaine example.com.
  • PrioritĂ© : Un nombre indiquant l'ordre de prĂ©fĂ©rence. Les serveurs avec la prioritĂ© la plus basse sont essayĂ©s en premier. Utilisez pour le failover.
  • Poids : Pour les serveurs de mĂȘme prioritĂ©, le poids dĂ©termine la rĂ©partition. Un serveur avec poids 60 reçoit deux fois plus de trafic qu'un serveur avec poids 30.
  • Port et cible : Le SRV indique sur quel port se connecter et vers quel serveur (FQDN). Permet d'utiliser des ports non-standard sans configuration client.

Cas d'Usage des Enregistrements SRV

Les SRV sont utilisés par de nombreux services et protocoles :

  • Microsoft 365 / Teams : Les clients Outlook et Teams utilisent des SRV pour trouver les serveurs Exchange et les endpoints de fĂ©dĂ©ration. Sans SRV corrects, l'autodĂ©couverte Ă©choue.
  • VoIP / SIP : Les tĂ©lĂ©phones et softphones SIP utilisent des SRV (_sip._udp, _sip._tcp) pour localiser le serveur PBX. Essentiel pour la tĂ©lĂ©phonie d'entreprise.
  • Messagerie instantanĂ©e : XMPP (Jabber), Matrix et d'autres protocoles de chat utilisent des SRV pour la fĂ©dĂ©ration entre serveurs et la dĂ©couverte client-serveur.
  • Jeux multijoueurs : Minecraft utilise des SRV (_minecraft._tcp) pour permettre aux serveurs de fonctionner sur des ports non-standard tout en utilisant un nom simple.

Configurer un Enregistrement SRV

Suivez ces étapes pour créer un SRV correctement :

  1. Identifiez le service : Déterminez le nom de service standardisé (consultez les RFC ou la documentation du service). Exemples : _sip, _xmpp-client, _minecraft, _autodiscover.
  2. Choisissez le protocole : La plupart des services utilisent _tcp ou _udp. Certains services comme SIP nécessitent les deux. Vérifiez la documentation.
  3. DĂ©finissez prioritĂ© et poids : Pour un seul serveur, utilisez prioritĂ©=0, poids=1. Pour failover, utilisez des prioritĂ©s diffĂ©rentes. Pour load-balancing, mĂȘme prioritĂ© mais poids diffĂ©rents.
  4. Créez l'enregistrement : Dans votre interface DNS, créez le SRV avec le format _service._proto comme nom, puis configurez priorité, poids, port et cible.

Exemples d'Enregistrements SRV

Voici des configurations SRV courantes pour différents services :

; Format: _service._proto.domain TTL IN SRV priority weight port target

; Microsoft 365 - Autodiscover
_autodiscover._tcp.example.com. 3600 IN SRV 0 0 443 autodiscover.outlook.com.

; SIP VoIP avec failover
_sip._tcp.example.com.  3600 IN SRV 10 60 5060 sip1.example.com.
_sip._tcp.example.com.  3600 IN SRV 10 40 5060 sip2.example.com.
_sip._tcp.example.com.  3600 IN SRV 20 0  5060 sip-backup.example.com.
; Priorité 10 = primaires (60/40 load balance), priorité 20 = backup

; XMPP Messagerie
_xmpp-client._tcp.example.com. 3600 IN SRV 5 0 5222 xmpp.example.com.
_xmpp-server._tcp.example.com. 3600 IN SRV 5 0 5269 xmpp.example.com.

; Minecraft sur port non-standard
_minecraft._tcp.example.com. 3600 IN SRV 0 5 25566 mc.example.com.

; Vérification avec dig
$ dig SRV _sip._tcp.example.com +short
10 60 5060 sip1.example.com.
10 40 5060 sip2.example.com.
20 0 5060 sip-backup.example.com.

L'exemple SIP montre le failover et le load-balancing : sip1 et sip2 ont la mĂȘme prioritĂ© (10) mais des poids diffĂ©rents (60/40), donc sip1 reçoit 60% du trafic. Si les deux tombent, sip-backup (prioritĂ© 20) prend le relais.

Bonnes Pratiques SRV

Optimisez vos enregistrements SRV pour la résilience et la performance :

  • Toujours un backup : Configurez au moins deux SRV avec des prioritĂ©s diffĂ©rentes. Le client basculera automatiquement si le serveur primaire Ă©choue.
  • TTL adaptĂ© : Utilisez des TTL courts (300-900s) si vous avez besoin de failover rapide. Pour des configurations stables, des TTL plus longs (3600s) rĂ©duisent le trafic DNS.
  • Cibles avec A records : Les cibles SRV doivent ĂȘtre des FQDN avec leurs propres enregistrements A/AAAA. Ne pointez pas directement vers des IP.
  • Test client : Testez que vos clients interprĂštent correctement les SRV. Certains clients ont des implĂ©mentations incomplĂštes ou ignorent les poids.

Checklist Configuration SRV

  • Nom de service et protocole corrects (_service._proto)
  • PrioritĂ© configurĂ©e pour le failover
  • Poids dĂ©finis pour le load-balancing
  • Port correct pour le service
  • Cible est un FQDN avec enregistrement A/AAAA
  • TTL adaptĂ© aux besoins de failover

FAQ - Enregistrements SRV

Tous les clients supportent-ils les SRV ?

Non, le support SRV dépend de l'application. Les clients modernes (Teams, téléphones SIP, clients XMPP) les supportent, mais certaines applications nécessitent une configuration manuelle.

Que se passe-t-il si aucun SRV n'existe ?

Le comportement dépend du client. Certains tentent une connexion directe au domaine sur le port par défaut, d'autres échouent. Consultez la documentation du service.

Puis-je pointer un SRV vers un CNAME ?

Techniquement non, la RFC stipule que la cible doit ĂȘtre un A/AAAA. En pratique, certains rĂ©solveurs suivent le CNAME, mais c'est Ă  Ă©viter pour la compatibilitĂ©.

Comment désactiver un service via SRV ?

Créez un SRV avec la cible "." (point) et port 0. Cela indique explicitement que le service n'est pas disponible, plutÎt que l'absence de SRV.

Les SRV fonctionnent-ils avec IPv6 ?

Oui, les SRV pointent vers des noms qui peuvent avoir des enregistrements A (IPv4) et/ou AAAA (IPv6). Le client choisit ensuite la version IP.

MoniTao surveille-t-il les SRV ?

Oui, MoniTao peut surveiller vos enregistrements SRV et vous alerter si la configuration change ou si les serveurs cibles deviennent inaccessibles.

Automatisez la Découverte de Services

Les enregistrements SRV apportent intelligence et flexibilité à votre infrastructure DNS. Load-balancing, failover automatique, ports personnalisés - tout cela sans configuration client complexe.

Configurez vos SRV avec soin, testez le comportement des clients, et surveillez vos services. MoniTao peut vous alerter si vos SRV changent ou si les serveurs cibles tombent.

PrĂȘt Ă  dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.