2) Perhaps have some scripts on the Mikrotik running to "check" if your Pi-hole can still resolve ? Sort of a "backup" plan, unless you have perhaps 2 Pi-hole devices running on the network?
There are several posts on the forum concerning this.
Here is the code that automatically performs backup to another DNS server if your pihole is not reachable. Works like a charm, like HA Pihole :D
"/system scheduler". Any name you want, interval set to 30s (or 10s) and put this code:
:local currentDNS [/ip dns get server]
:local piholeDNS "192.168.0.10"
:local backupDNS "1.1.1.2,1.0.0.2"
:local testDomain "www.google.com"
:if ($currentDNS = $piholeDNS) do={
:do {
:resolve $testDomain server=$piholeDNS
} on-error={
/ip dns set servers=$backupDNS
}
} else={
:do {
:resolve $testDomain server=$piholeDNS
/ip dns set servers=$piholeDNS
} on-error={}
}
Also note that Pi-Hole is not something unique. There are other projects, I am personally fan of
https://github.com/0xERR0R/blocky as it is single project (no http/php/dnsmasq etc dependencies), supports DOH and works like a charm.