Страница 1 из 1

Правильная настройка L7 Filter

Добавлено: 12 окт 2018, 16:06
PetrT
День добрый, уважаемые форумчане.

Помогите понять в чем ошибка.

Задача, настроить блокировку нежелательных сайтов с помощью L7 Filter. На данном этапе пока не маркирую соединения для дропа соединения и пакетов, а просто тестирую логику работы L7 Filter.

Имеем.
Маршрутизатор 951Ui-2nD. Прошивка Current 6.42.6

Настройка
Настройка выражения L7

Код: Выделить всё

/ip firewall layer7-protocol
add name=SocialBlock_L7 regexp="^.+(www.ok.ru|www.vk.com|www.fb.com|www.facebook.com).*\$"
А вот теперь вопрос. Говорят, что правило L7 должно стоять после правила разрешающего establish&related onnection, но у меня если поставить правило L7 до establish&related, то сайты не открываются и счетчик правила L7 тикает, а если поставить L7 после establish&relate, то L7 уже не работает и счетчик стоит на нуле.

На сайте mikrotik написано

L7 matcher collects the first 10 packets of a connection or the first 2KB of a connection and searches for the pattern in the collected data. If the pattern is not found in the collected data, the matcher stops inspecting further.

По логике, даже если правило L7 стоит после establish&related, то правило L7 все равно должно сработать при установке соединения (пока оно в статусе new) а дальше, не обращая внимания на establish&related собрать 10 пакетов или 2KB. Но... так оно не хочет работать =(

Вариант 1. рабочий.

Код: Выделить всё

add action=reject chain=forward comment="drop social L7 layer" layer7-protocol=SocialBlock_L7 protocol=tcp reject-with=tcp-reset
add action=drop chain=forward comment="Drop all invalid forward connections" connection-state=invalid
add action=accept chain=forward comment="Accept forward established and related connections" connection-state=established,related
Вариант 2. Не работает.

Код: Выделить всё

add action=drop chain=forward comment="Drop all invalid forward connections" connection-state=invalid
add action=accept chain=forward comment="Accept forward established and related connections" connection-state=established,related
add action=reject chain=forward comment="drop social L7 layer" layer7-protocol=SocialBlock_L7 protocol=tcp reject-with=tcp-reset
Я может что-то неправильно понял про L7? Подскажите, где ошибся.

Re: Правильная настройка L7 Filter

Добавлено: 12 окт 2018, 17:21
Erik_U
В правиле establish&related поставьте свой L7 с восклицательным знаком.
тогда правило будет разрешать все, кроме вашего L7.
А следующим правилом решите, что делать с этими пакетами L7.

Re: Правильная настройка L7 Filter

Добавлено: 14 окт 2018, 22:25
PetrT
Пропускать правило L7 в established&related с помощью инверсии, как мне кажется, немного не тот ответ который я ищу. Найду вразумительный ответ, отпишусь =)
Спасибо за помощь

Re: Правильная настройка L7 Filter

Добавлено: 15 окт 2018, 08:01
Erik_U
У микротика каждый пакет проверяется по списку фильтров сверху вниз.
И если находится фильтр, условиям которого этот пакет удовлетворяет, он этим фильтром обрабатывается, и все.
Фильтры ниже этот пакет уже не обрабатывают.
За исключением пакетов, помеченных в правиле инверсией.

Re: Правильная настройка L7 Filter

Добавлено: 15 окт 2018, 17:06
PetrT
У нас тогда получается двойная проверка.
На этапе established&related firewall сначала проверяет не совпадает ли наш пакет с L7 правилом, а потом уже следующее правило, где опять же идет повторная проверка на совпадение с L7. Это не есть гуд.

Re: Правильная настройка L7 Filter

Добавлено: 16 окт 2018, 13:45
PetrT
Вы правы. Я неправильно понял логику работы L7.
Спасибо за помощь