-
-
Notifications
You must be signed in to change notification settings - Fork 235
Description
Versions
- Pi-hole: 6.3
- Web: 6.4
- FTL: 6.4.1
Platform
- OS and version: Gentoo Linux
- Platform: Docker on Raspberry Pi
Problem description
I have set up a wildcard DNS record *.b.c.pygos.space.
The DNSSEC validation for all subdomains works e.g. a.b.c.pygos.space gives a valid DNSSEC result.
The validation for the wildcard *.b.c.pygos.space itself fails however.
Pihole somehow expects an NSEC record for wildcards although there is no NSEC record required here because the wildcard is an exact match of the DNS record.
Expected behavior
DNSSEC validation should also succeed for the wildcard domain itself.
dig *.b.c.pygos.space should pass DNSSEC validation.
Actual behavior / bug
Validation of wildcard DNS records fails with SERVFAIL (NSEC Missing):
dig *.b.c.pygos.space @my-pihole-ip
; <<>> DiG 9.18.42 <<>> *.b.c.pygos.space
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 43927
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; EDE: 12 (NSEC Missing)
;; QUESTION SECTION:
;*.b.c.pygos.space. IN A
;; Query time: 178 msec
;; SERVER: 192.168.157.10#53(192.168.157.10) (UDP)
;; WHEN: Sun Dec 21 15:15:33 CET 2025
;; MSG SIZE rcvd: 52
The query log shows BOGUS DNS (see screenshot below).
The same query using any other resolver (e.g. cloudflare or a local recursive resolver) will correctly pass DNSSEC validation and display the result.
Steps to reproduce
Steps to reproduce the behavior:
- Enable DNSSEC in pihole settings
dig a.b.c.pygos.space @my-pihole-ipworksdig *.b.c.pygos.space @1.1.1.1worksdig *.b.c.pygos.space @my-pihole-ipfails
Screenshots
Additional context
Compose file
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
network_mode: host
environment:
TZ: 'Europe/Berlin'
WEBPASSWORD: 'redacted'
ServerIP: 'redacted'
ServerIPv6: 'redacted'
IPv6: 'true'
DNSMASQ_USER: root
volumes:
- './etc-pihole/:/etc/pihole/'
- './etc-dnsmasq.d/:/etc/dnsmasq.d/'
cap_add:
- NET_ADMIN
restart: unless-stopped
ulimits:
nofile:
soft: 1024
hard: 4096
shm_size: '2gb'