*) dns - added option to create named DNS servers that can be used as forward-to servers;
I noticed that if one of the forward-to DNS servers fail, the whole name resolution becomes broken. It seems like this option can only be used for load balancing, but not at all for redundancy.
Could this eventually be fixed, such that a DNS failure is only returned to the client after ALL forward-to servers failed, and not after a single failure? Maybe it would even be possible to remember which servers did not respond and to retry them only after a configurable time interval, such that DNS resolution stays reasonably fast even if one of the servers failed or is offline.
I just upgrade up to 7.17.1 , got the same issue. any solution ? maybe i just miss something, but how its looks like i got public IP , its says in the quick settings, and i can reach the modem the Internet Acess IP, but theres no DNS answer at all, so the services behind the router does not work, any update?
I found a workaround to enable redundancy with forwarders that I want to share. In my case, what I am after is not load balancing (load is not high), but automatic failover if one of my two DNS servers fails.
The solution approach is to define a “main” and a “backup” DNS server, to monitor the main server, and if it fails, automatically switch forwarding to the backup server. In case the main server becomes online again, switch back to the main server.
This logic can be implemented with the following procedure:
Setup a forwarder under IP/DNS/Forwarders with only one (the main) DNS, a.b.c.d, as forward-to target.
Add static forwarding rules as needed in IP/DNS/Static, using the forwarder.
Identify the number of the forwarder created under step 1 with /ip/dns/forwarders print - you need the number in the first colum of the line corresponding to the forwarder created in step 1
Setup a netwatch rule under /tools/netwatch that regularly pings the main DNS server a.b.c.d. Add a down-script that changes the forward-to address in the forwarder to your backup DNS with /ip/dns/forwarders set numbers=0 dns-servers=e.f.g.h and an up-script that changes DNS back to a.b.c.d. with /ip/dns/forwarders set numbers=0 dns-servers=a.b.c.d.
Replace the 0 in numbers=0 with the number identified in step 3.