Простой пример, как запретить определенные сайты через static dns. Добавим запись.
/ip dns static add address=127.0.0.1 name=apps.skype.com
Удалим кэш днс
/ip dns cache flush
После этого на любом клиенте в локальной сети выполним команду, она отчистит локальный кэш.
ipconfig /flushdns
Проверим другой командой
nslookup apps.skype.com
Примерный вывод.
╤хЁтхЁ: UnKnown
Address: 192.168.1.200
Не заслуживающий доверия ответ:
╚ь : apps.skype.com
Address: 127.0.0.1
Так же не забываем, что у клиентов не должно быть разрешения на обращение на другие ДНС сервера.
Пример правила, которое все запросы ДНС редиректит на наш Микротик.
/ip firewall nat add chain=dstnat action=dst-nat to-addresses=192.168.1.200 to-ports=53 \
protocol=udp dst-port=53 log=no log-prefix="RedirectAllDNS"
Скрипт для получения записей
#!/bin/bash
src="
http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext
https://adaway.org/hosts.txt
"
i=0; for LS in $src; do i=$((i+1));
wget --no-check-certificate -O hosts_list.$i $LS;
done;
in="hosts_list.*"
out="./adblock_dns.rsc"
host='127.0.0.1';
echo "/ip dns static" > $out && grep '127.0.0.1 ' $in | grep -v '^#' | cut -d' ' -f 2 | sort -u | grep . | sed "s/^/add address=$host name=/" >> $out && rm -f $in; wc -l $out;
Оригинал на Хабре, подправил ошибки. Полученный файл import adblock_dns.rsc