This is a pretty effective solution - and IP address lists should process pretty fast (compared to a long chain of drop rules).
The only thing to be concerned about is if you trust a website to automatically tell your router who should be blocked.
EDIT: As long as the filter rule for new connections against the IP blacklist is after a rule which accepts established,related then this check will only happen on the first packet of each new outbound connection, which isn’t going to really impact performance much unless your computer gets infected with a botnet client and starts trying to rapidly scan large blocks of IP addresses at once.
As for your DNS solution, make sure that the users’ computers are actually using your Mikrotik’s DNS proxy.
You can force it with a dstnat rule:
/ip firewall nat
add chain=dstnat protocol=udp dst-port=53 in-interface=lan action=redirect
Also - if you’re running DNS proxy, make sure your filter’s input chain will block DNS queries from the outside world, or else the hackers will find you and your box will be used in DNS amp attacks later on.
Joshaven has a great solution for some RBL’s - i run locally to verify myself - and the above solution works -
Needs to get tweaked for v6 i think however
used that in past and its Really work.
but few advices:
increase DNS memory (in its option) in case of Fat tables)
instead of hand-crafted or manually-imported sites lists - write scripts than download, parse and then import adblock lists from popular society/community-managed ones. personally i was prefer(for sentimental purposes, perhaps) P Lowe list http://pgl.yoyo.org/adservers/
not forget to block outgoing DNS traffic, that may BYPASS you DNS filtering. usual for Chrome browser and some OS-level things. ie add firewall rules that filter it from forwarding.
bottom line: its may become memory-consuming. for example Lowe+malware-domain - around 22k domains and around 17Mb RAM for DNS. yeah, lack of L1 and L2 cache , IMC/RAM bandwidth - make you router bit slower, but you already prepared to sacrifice bit of that, do you ?
i tried ConnectivityEngineer script, had some problem with making .rsc file, but did it manually. after firewall rule adding i can see that everything is in its place but still no luck and nothing is blocked
probably firewall rules that prohbit dns forwarding THRU your router - made incorrectly?
or there was applications using multicast, p2p dns replacements/wrappers, which is unlikely, but not enteriely uncommon thing.