Thanks!
I tried several options and the results are below.
# docker compose exec watchdog-mailcow dig webhook.example.com
; <<>> DiG 9.20.20 <<>> webhook.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 20197
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;webhook.example.com. IN A
;; Query time: 8 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Sun Aug 23 11:21:02 CEST 2026
;; MSG SIZE rcvd: 32
# docker compose exec watchdog-mailcow dig @172.22.1.254 webhook.example.com
; <<>> DiG 9.20.20 <<>> @172.22.1.254 webhook.example.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 24121
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;webhook.example.com. IN A
;; Query time: 0 msec
;; SERVER: 172.22.1.254#53(172.22.1.254) (UDP)
;; WHEN: Sun Aug 23 11:21:27 CEST 2026
;; MSG SIZE rcvd: 43
Running bash in unbound-mailcow with
# docker compose exec unbound-mailcow bash
and running the following two commands returned this
# dig webhook.example.com
; <<>> DiG 9.20.23 <<>> webhook.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37241
;; flags: qr rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;webhook.example.com. IN A
;; ANSWER SECTION:
webhook.example.com. 60 IN CNAME proxy.example.local.
proxy.example.local. 60 IN A 192.168.20.44
;; Query time: 4 msec
;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP)
;; WHEN: Sun Aug 23 11:22:00 CEST 2026
;; MSG SIZE rcvd: 89
# dig webhook.example.com @172.22.1.254
; <<>> DiG 9.20.23 <<>> webhook.example.com @172.22.1.254
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 54079
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;webhook.example.com. IN A
;; Query time: 16 msec
;; SERVER: 172.22.1.254#53(172.22.1.254) (UDP)
;; WHEN: Sun Aug 23 11:22:34 CEST 2026
;; MSG SIZE rcvd: 43
Removing the forward-zone make unbound resolve the ip, but it returns my public ip instead of the internal ip of the server (obviously).