MikroTik - блокировка трафика при помощи Layer7 protocol

Layer7 protocol – это метод поиска по определенным параметрам в ICMP/TCP/UDP потоках. И при помощи правильно составленных регулярных выражениях посредством этого протокола можно очень гибко управлять всем проходящим через маршрутизатор трафиком. В частности, данная опция получает первые 10 пакетов или 2KB каждого установленного соединения и ищет совпадения по регулярному выражению. Если совпадений нет, то дальнейший поиск прекращается и соединение, считается неизвестным. Если же совпадения находятся, то в дальнейшем на вкладах Filter Rules, NAT или Mangle можно создавать цепочки правил с необходимыми действиями, которые вы хотели бы совершить над данным типом трафика.

Чаще всего, L7 используется для блокировки тех или иных сайтов или же работы тех или иных программ. Приведем пример блокирования соединений с сайтами социальных сетей при помощи данной функции.
Предположим, что нам необходимо заблокировать посещение сайтов VK, Odnoklassniki, Facebook.

[admin@mikrotik] > ip firewall layer7-protocol add name=social regexp="^.*(get|GET).+(vk.com|odnoklassniki.com|facebook.com).*$"

Добавляем в цепочку Firewall Filter правило для блокировки доступа по анализу layer7-protocol

[admin@mikrotik] > ip firewall filter add chain=forward layer7-protocol=social action=drop comment="drop social"

http://wiki.mikrotik.com/wiki/Manual:IP/Firewall/L7
http://wiki.mikrotik.com/wiki/Basic_traffic_shaping_based_on_layer-7_protocols
L7 patterns - http://l7-filter.sourceforge.net/protocols
http://habrahabr.ru/post/193118/
http://asp24.com.ua/blog/protokol-sedmogo-urovnja-v-marshrutizatorah-mikrotik/
http://ingrid.net.ru/blog/65