AD Blocker для MikroTik

Настраиваем MikroTik

Настройка самой железки вряд ли вызовет какие-либо трудности. Укажем IP маршрутизатора в качестве первого DNS сервера в DHCP — «IP» → «DHCP Server» → «Networks» → %default config%. Первым прописываем IP самого MikroTik-а, нажимаем «OK»:


DNS сервер работает «из коробки», и можно даже не менять его стоковые настройки:

Единственная интересная для нас кнопка — «Static» («Статические маршруты»), в которых мы должны прописать «рекламные» домены, указав куда такие запросы перенаправлять.

Конвертируем файл хостов

Файл хостов имеет формат:

# Any comments 127.0.0.1 localhost 127.0.0.1 domain-a.tld 127.0.0.1 domain-b.tld

Формат скрипта для MikroTik, использующий статические DNS маршруты:

# Any comments /ip dns static add address=127.0.0.1 name=localhost add address=127.0.0.1 name=domain-a.tld add address=127.0.0.1 name=domain-b.tld

Для получения актуальных списков первого и преобразования их во второй мы выполним простые команды в шелле на, например, десктопе (bash):

Скачиваем списки и аккуратно складываем их под именами ./hosts_list.1, ./hosts_list.2 и т.д.:

$ src=('http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext' 'https://adaway.org/hosts.txt'); i=0; for file in ${src[*]}; do i=$((i+1)); wget --no-check-certificate -O "./hosts_list.$i" "$file"; done;

Грепаем всё что начинается на ‘127.0.0.1 ‘, удаляем комменты, оставляем только имена доменов, убираем дубликаты, убираем пустые строки и оформляем каждый домен в виде команды для импорта:

$ 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;

На выходе у нас получится файл adblock_dns.rsc, который не лишним будет дополнительно проверить на корректность содержимого.

Импортируем в MikroTik

Для того, чтобы импортировать полученный файл, мы цепляемся к маршрутизатору по ftp, заливаем adblock_dns.rsc, после чего цепляемся по ssh или открываем терминал, в котором выполняем:

Делаем резервную копию (полученный бэкап лучше сохранить у себя на машине):

/system backup save

 

Если у тебя в таблице нет важных маршрутов, то можем грохнуть все имеющиеся записи:

/ip dns static remove [/ip dns static find]

 

Импортируем загруженный файл:

/import adblock_dns.rsc

 

Убираем за собой:

/file remove adblock_dns.rsc

Тэги: , ,

Вы должны залогиниттся ,чтобы оставить комментарий.