Client --> Mikrotik-->pihole-->Mikrotik as a DNS--> wan
You can find the full development in the original post viewtopic.php?f=2&t=174873&p=856271#p856271
I had difficulties using NAT redirection rules, So, use the /ip dhcp-server network method by @vecernik87 viewtopic.php?t=141616#p698276. Also, because there is no NAT rules so most probably this method will not redirect some apps which have hardcoded DNS. DHCP Server network setup:
Code: Select all
/ip dhcp-server network
add address=192.168.88.0/24 dns-server=192.168.88.5 gateway=192.168.88.1
add address=192.168.88.5/32 dns-server=192.168.88.1 gateway=192.168.88.1
Script 1
Code: Select all
:local gateway "192.168.88.1"
:local currentDNS [/ip dhcp-server network get [find comment=defconf] dns-server]
:local piholeDNS "192.168.88.5"
:local backupDNS ""
:local testDomain "www.google.com"
:if ($currentDNS = $piholeDNS) do={
:do {
:resolve $testDomain server $piholeDNS
} on-error={
/ip dhcp-server network set 0 address=192.168.88.0/24 dns-server=$backupDNS comment=defconf gateway=$gateway netmask=24;
}
} else={
:do {
:resolve $testDomain server $piholeDNS
/ip dhcp-server network set 0 address=192.168.88.0/24 dns-server=$piholeDNS comment=defconf gateway=$gateway netmask=24;
} on-error={}
}
Script 2
Code: Select all
:local gateway "192.168.88.1"
:local currentDNS [/ip dhcp-server network get [find comment=defconf] dns-server]
:local piholeDNS "192.168.88.5"
:local backupDNS ""
:local testDomain "www.google.com"
:if ($currentDNS = $piholeDNS) do={
:do {
:resolve $testDomain server $piholeDNS
} on-error={
/ip dhcp-server network set [find comment=defconf] dns-server=$backupDNS;
}
} else={
:do {
:resolve $testDomain server $piholeDNS
/ip dhcp-server network set [find comment=defconf] dns-server=$piholeDNS;
} on-error={}
}