Unable to use client Ids with "allowed clients" #8548
|
Hi, I know I'm probably not understanding well how client ids are supposed to work, but I create a client id let's say "cli1234" and put it in "allowed clients" along with my LAN ip range 192.168.1.0/24. I then configure the private DNS on my mobile phone like this: cli1234.mysubdomain.duckdns.org but my mobile phone says that it cannot connect to dns. However if I remove everything from the allowed clients' list I can connect just fine both over TLS and HTTPS. I have both tried adding the client id to persisted clients and without persisted clients to no avail. Any ideas what might be happening? |
Replies: 1 comment 5 replies
|
Your allowlist entries are the right shape: For Android Private DNS over TLS, these four parts must line up:
The corresponding YAML should look like this, alongside your existing certificate and key fields: dns:
allowed_clients:
- 192.168.1.0/24
- cli1234
tls:
enabled: true
server_name: mysubdomain.duckdns.org
port_dns_over_tls: 853You can check the DNS record with: dig +short cli1234.mysubdomain.duckdns.orgAnd inspect the certificate served for that hostname with: openssl s_client \
-connect mysubdomain.duckdns.org:853 \
-servername cli1234.mysubdomain.duckdns.org \
</dev/null 2>/dev/null |
openssl x509 -noout -ext subjectAltNameThe SAN output should cover both the base hostname and its wildcard. The most likely cause here is an empty or incorrect Server name setting. In that case AdGuard Home sees no ClientID (source). With an empty allowlist the request still works, but after enabling the allowlist the phone's public IP doesn't match For DoH, use either Also check the AdGuard Home version. Current stable is v0.107.78; versions before v0.107.48 had an encrypted-protocol access-control regression (#6890). If everything above already matches, please share the version plus redacted values for |
I would not ignore the validation. Reissue the certificate with both names in its Subject Alternative Names:
A wildcard only covers one label at that position. Therefore
*.mysubdomain.duckdns.orgcoversdns.mysubdomain.duckdns.organdcli1234.mysubdomain.duckdns.org, but it does not cover the baremysubdomain.duckdns.org.With the two SANs above, use:
That is the layout described by AdGuard Home's ClientID documentation: the certificate needs to cover both the configured s…