Assistance pour l’enregistrement DNS SRV
Arrière plan - connexion à un serveur ou un annuaire
Le port UDP par défaut sur lequel un serveur ou un annuaire Jamulus écoute est 22124. Normalement, lorsqu’un client ou un serveur reçoit un nom d’hôte complet ou une adresse IP à laquelle se connecter, tel que 198.51.100.46 ou jamulus.example.com, il utilisera 22124 en tant de port de destination.
Comme un simple serveur Jamulus ne propose qu’une seule “salle”, et qu’un annuaire Jamulus ne fournit qu’une seule “liste”, il est souvent utile de lancer plusieurs instances de serveurs ou d’annuaires sur le même hôte, instances qui partageront donc la même adresse IP. Pour mettre ceci en œuvre, chaque instance devra donc écouter sur un port différent. On indique pour ça le numéro de port sur la ligne de commande de la façon suivante : -p NNNNN ou --port NNNNN.
Si un tel serveur est inscrit dans un annuaire, comme dans les annuaires standard de Jamulus, p.ex. Any Genre 1, le numéro de port utilisé est automatiquement détecté par l’annuaire au moment de l’inscription et enregistré dans la liste envoyée au client. L’utilisateur du client Jamulus peut alors se connecter au serveur de façon normale à partir de la liste dans la boîte de dialogue de connexion.
Cependant, une instance Jamulus désirant se connecter directement à un serveur ou un annuaire par IP ou nom de domaine doit connaître le numéro de port à utiliser. Ceci peut être indiqué après le nom d’hôte ou l’adresse IP, par exemple 98.51.100.46:22123or jamulus.example.com:22120. De tels numéros de ports ne sont guère mémorisables, et il est alors souvent nécessaire de les rechercher ! La solution est que l’opérateur du serveur publie le numéro de port en utilisant un enregistrement DNS de type SRV.
Utilisation de DNS SRV pour la publication de numéros de port
Un enregistrement SRV DNS (enregistrement de “service”) est un enregistrement DNS spécial qui peut être utilisé pour publier le numéro de port et le nom d’hôte qui devrait être utilisé pour se connecter à un service particulier.
Les versions récentes des clients et serveurs Jamulus sont capables d’utiliser de tels enregistrements. Selon la version de Jamulus (voir plus bas), s’il trouve un enregistrement DNS SRV associé à un nom de domaine donné, il tentera de se connecter à l’hôte et au port désigné par cet enregistrement SRV. L’utilisateur n’a pas besoin de spécifier explicitement le numéro de port.
Si aucun enregistrement SRV n’est trouvé sur le serveur DNS pour le nom d’hôte donné, Jamulus tentera de se connecter à l’adresse de l’annuaire ou du serveur sur le numéro de port par défaut 22124.
Versions de Jamulus supportant les enregistrements SRV
Les clients de version 3.10.0 ou ultérieures savent interpréter les enregistrements SRV pour un nom d’hôte donné dans les cas suivants :
- Dans la boîte de dialogue de connexion au champ “Adresse du serveur”.
- Sur la ligne de commande avec l’option
-cpour demander une connexion immédiate au serveur.
En plus de ces deux cas, les clients et serveurs en version 3.12.0 ou ultérieures reconnaissent également les enregistrement SRV pour se connecter à un annuaire dans les circonstances suivantes :
- Serveur : options de ligne de commande
-eou--directoryaddress. - Serveur : (IGU) dans le réglage “Adresse d’annuaire personnalisée” dans les “Options”.
- Client : (IGU) dans la liste des annuaires personnels dans les “Options avancées” des “Paramètres”.
Création d’enregistrements SRV DNS
Les enregistrements SRV sont créés par l’administrateur du domaine DNS qui accueille l’hôte serveur Jamulus. Les enregistrements SRV sont ajoutés à partir du portail d’administration (ou de l’API si disponible) du service d’hébergement de nom de domaine. Le format du l’enregistrement SRV peut varier d’un hébergeur à l’autre mais ressemblera généralement à ceci :
_service._proto.nom. ttl IN SRV priorité poids port cible.
Notez que les noms d’hôtes nom et cible peuvent éventuellement être différents. nom est le nom d’hôte que l’utilisateur indiquera sans n° de port pour la recherche SRV, et cible est le nom d’hôte que Jamulus utilisera avec le n° de port découvert pour se connecter au serveur ou à l’annuaire.
Dans le cas de Jamulus, le service doit être jamulus et le proto doit être udp, de sorte que l’enregistrement ressemble à (pour un n° de port à 12345) :
_jamulus._udp.monserveur.example.com. 60 IN SRV 0 5 12345 mamachine.example.com.
Cette technique vous permet d’héberger plusieurs servers ou annuaires sur différents ports dans le même hôte avec différents noms d’hôtes en donnant à chacun son propre enregistrement SRV. Ceci dispense d’avoir à donner les n° de port aux utilisateurs, ce qui serait moins bien mémorisable qu’un simple nom. Dans l’exemple ci-dessus, l’utilisateur indiquera monserveur.example.com et Jamulus se connectera à mamachine.example.com:12345.
Référez-vous à la documentation de votre fournisseur DNS pour les instructions de création d’enregistrements SRV.
Exemple - Enregistrements SRV des annuaires publics de Jamulus
Dans le domaine jamulus.io, des enregistrements SRV ont été créés pour indiquer le bon n° de port de chacun des annuaires publics standards :
| ANNUAIRE | ENREGISTREMENT DNS SRV | SERVEUR JAMULUS |
|---|---|---|
anygenre1.jamulus.io | _jamulus._udp.anygenre1.jamulus.io. 60 IN SRV 0 0 22124 anygenre1.jamulus.io. | anygenre1.jamulus.io:22124 |
anygenre2.jamulus.io | _jamulus._udp.anygenre2.jamulus.io. 60 IN SRV 0 0 22224 anygenre2.jamulus.io. | anygenre2.jamulus.io:22224 |
anygenre3.jamulus.io | _jamulus._udp.anygenre3.jamulus.io. 60 IN SRV 0 0 22624 anygenre3.jamulus.io. | anygenre3.jamulus.io:22624 |
rock.jamulus.io | _jamulus._udp.rock.jamulus.io. 60 IN SRV 0 0 22424 rock.jamulus.io. | rock.jamulus.io:22424 |
jazz.jamulus.io | _jamulus._udp.jazz.jamulus.io. 60 IN SRV 0 0 22324 jazz.jamulus.io. | jazz.jamulus.io:22324 |
classical.jamulus.io | _jamulus._udp.classical.jamulus.io. 60 IN SRV 0 0 22524 classical.jamulus.io. | classical.jamulus.io:22524 |
choral.jamulus.io | _jamulus._udp.choral.jamulus.io. 60 IN SRV 0 0 22724 choral.jamulus.io. | choral.jamulus.io:22724 |
Ce qui signifie qu’un serveur Jamulus en version 3.12.0 ou ultérieure peut simplement passer le nom d’hôte de l’annuaire aux options -e ou --directoryaddress, sans avoir à trouver et spécifier le numéro de port.
L’administrateur d’un serveur peut utiliser la même méthode pour publier un enregistrement SRV pour son propre serveur ou annuaire.