Adguard ne transmet pas les enregistrements SRV et TLSA pour mon domaine

What type of hardware are you using: Raspberry Pi 3, 4+
What YunoHost version are you running: 12.0.17
What app is this about: AdGuard Home

Describe your issue

Bonjour,

J’ai sur mon YunoHost un AdGuard Home qui me sert de DNS domestique ainsi que divers services dont XMPP et un VPN Wireguard. Puisque le serveur se trouve chez moi et que lorsque je suis à l’extérieur je suis connecté à mon VPN j’ai mis en place dans AdGuard Home une redirection DNS pour mon serveur pour qu’il serve l’adresse IP locale.

Dans ma zone DNS j’ai des enregistrements SRV pour XMPP et notamment STUN/TURN, j’ai aussi des enregistrements TLSA (notamment utiles pour XMPP aussi car j’utilise Monocles Chat comme client). Seulement AdGuard Home ne va pas les chercher :

J’ai aussi pu constater des difficultés à passer des appels XMPP lorsque je suis relié à mon serveur DNS, j’en déduis que c’est parce qu’il ne reçoit pas les enregistrements SRV. Je dois aussi décocher “Enforce DANE” dans les paramètres de Monocles Chat, tant que je suis relié à mon serveur dns je n’ai pas grand chose à craindre mais il peut arriver que je sois déconnecté de mon VPN et utilise un DNS quelconque (oui je suis parano :zany_face::lab_coat:).

AdGuard Home a un champ où l’on peut mettre des enregistrements personnalisés, y compris des enregistrements SRV. J’ai essayé sans succès mais si ça pourrait marcher pour SRV ça ne pourrait pas pour les enregistrements TLSA car ils doivent être signés par DNSSEC, j’ai donc besoin que AdGuard Home aille les chercher dans les serveurs DNS upstream.

Merci d’avance pour votre aide

Share relevant logs or error messages

$ dig _stun._udp.domain.tld. -t srv

; <<>> DiG 9.20.11-4-Debian <<>> _stun._udp.domain.tld. -t srv
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12006
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;_stun._udp.domain.tld.	IN	SRV

;; Query time: 59 msec
;; SERVER: 192.168.2.254#53(192.168.2.254) (UDP)
;; WHEN: Mon Aug 18 11:33:33 CEST 2025
;; MSG SIZE  rcvd: 46

Mais si je demande à un autre serveur DNS:
$ dig @9.9.9.9 _stun._udp.domain.tld -t srv

; <<>> DiG 9.20.11-4-Debian <<>> @9.9.9.9 _stun._udp.domain.tld. -t srv
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42897
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;_stun._udp.domain.tld.	IN	SRV

;; ANSWER SECTION:
_stun._udp.domain.tld. 60 IN	SRV	0 0 3478 domain.tld.

;; Query time: 215 msec
;; SERVER: 9.9.9.9#53(9.9.9.9) (UDP)
;; WHEN: Mon Aug 18 11:33:25 CEST 2025
;; MSG SIZE  rcvd: 94

Pour SRV, j’ai juste testé ceci :
||_svctype._tcp.domain.example^$dnsrewrite=NOERROR;SRV;10 60 8080 example.com dans Custom filtering rules d’Adguard.
J’obtiens bien l’enregistrement en faisant dig SRV _svctype._tcp.domain.example @<mon serveur> depuis un autre serveur.

Je n’ai pas l’impression que le TLSA soit implémenté dans Adguard. C’est mentionné dans deux issues sans vraies réponses (Issue search results · GitHub) et les seules mentions de TLSA dans le code sont pour déclarer tous les types d’enregistrements possibles, sans code particulier derrière.

Étrange, ça ne marche pas chez moi:

||_xmpp-client._tcp.domain.tld^$dnsrewrite=NOERROR;SRV;1 5 5222 domain.tld
||_xmpps-client._tcp.domain.tld^$dnsrewrite=NOERROR;SRV;0 5 5223 domain.tld
||_xmpp-server._tcp.domain.tld^$dnsrewrite=NOERROR;SRV;1 5 5269 domain.tld
||_xmpps-server._tcp.domain.tld^$dnsrewrite=NOERROR;SRV;0 5 5270 domain.tld
$ dig @192.168.2.254 _xmpp-client._tcp.domain.tld -t srv

; <<>> DiG 9.20.11-4-Debian <<>> @192.168.2.254 _xmpp-client._tcp.domain.tld -t srv
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45107
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;_xmpp-client._tcp.domain.tld. IN	SRV

;; Query time: 3 msec
;; SERVER: 192.168.2.254#53(192.168.2.254) (UDP)
;; WHEN: Tue Aug 19 16:29:47 CEST 2025
;; MSG SIZE  rcvd: 53

Pour TLSA je doute que ce soit même possible car une signature DNSSEC est nécéssaire et je vois mal comment AdGuard pourrait faire cette signature. C’est pourquoi je préférerais lui dire d’aller chercher les infos dans les serveurs DNS en amont

J’ai trouvé, le comportement que je recherchais de la part d’Adguard Home était bloqué par le fait que j’ai mis *.mondomaine.tld dans les réécritures DNS. Après l’avoir retiré je peux recevoir les enregistrements TLSA et SRV

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.