I started using the DNS resolver in my Mikrotik router, and I have found two issues with it.
If I have a static entry A record for service.domain.com, running dig service.domain.com resolves correctly.
If I run nslookup service.domain.com, this fails due to IPv6:
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: service.domain.com
Address: 192.168.x.x
** server can't find service.domain.com.com: NXDOMAIN
This causes things like crictl pull to fail internally, because nslookup returns a 1 error exit code.
I have a hack/workaround for this where I add a AAAA record that resolves to ::1, but I am not pleased with this.
The second issue is the Mikrotik DNS resolver is stripping DNSSEC records.
Using google public DNS:
dig @8.8.8.8 cloudflare.com +dnssec
; <<>> DiG 9.20.24 <<>> @8.8.8.8 cloudflare.com +dnssec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53703
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;cloudflare.com. IN A
;; ANSWER SECTION:
cloudflare.com. 300 IN A 104.16.132.229
cloudflare.com. 300 IN A 104.16.133.229
cloudflare.com. 300 IN RRSIG A 13 2 300 20260707182610 20260705162610 34505 cloudflare.com. Ak04/OvFhqbG6yG1V3YT22x39XMq530P3b8OWlUBx+cvqbHUIvPOHvM7 l3lGF0GcrMYM8imX59GVhcJhBZDQ8g==
;; Query time: 39 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Mon Jul 06 17:26:10 UTC 2026
;; MSG SIZE rcvd: 185
Using the Mikrotik DNS resolver:
dig cloudflare.com +dnssec
; <<>> DiG 9.20.24 <<>> cloudflare.com +dnssec
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63117
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 13, ADDITIONAL: 0
;; QUESTION SECTION:
;cloudflare.com. IN A
;; ANSWER SECTION:
cloudflare.com. 164 IN A 104.16.132.229
cloudflare.com. 164 IN A 104.16.133.229
;; AUTHORITY SECTION:
. 8623 IN NS i.root-servers.net.
. 8623 IN NS a.root-servers.net.
. 8623 IN NS j.root-servers.net.
. 8623 IN NS m.root-servers.net.
. 8623 IN NS k.root-servers.net.
. 8623 IN NS h.root-servers.net.
. 8623 IN NS b.root-servers.net.
. 8623 IN NS l.root-servers.net.
. 8623 IN NS c.root-servers.net.
. 8623 IN NS e.root-servers.net.
. 8623 IN NS f.root-servers.net.
. 8623 IN NS g.root-servers.net.
. 8623 IN NS d.root-servers.net.
;; Query time: 30 msec
;; SERVER: 192.168.1.1#53(192.168.1.1) (UDP)
;; WHEN: Mon Jul 06 17:26:15 UTC 2026
;; MSG SIZE rcvd: 275
As you can see, the Mikrotik resolver strips out the ad flag instead of forwarding it.
This is vital for things like email servers to be able to run DNSSEC validation.