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

L7 на входящем траффике .

Добавлено: 13 ноя 2014, 10:11
Vladimir22
может моя задачи и поднималась . но я не помню.
опишу что хотелось бы сделать.

есть внешний мир по PPTP с белым IP и вот на него IP повешаны некоторое количество доменов 3-го уровня
хочется что бы при пришедшем запросе
что бы по запросу например tv.bla.ru все уходило на 10,10,20,107
по запросу voip.bla.ru рулило на 10,10,20,130 типа того
возможно ли решение задачи , средствами микротик .

Re: L7 на входящем траффике .

Добавлено: 13 ноя 2014, 12:11
podarok66
Интересная задачка :-): Мне негде такое проверять, но если создать два регулярных выражения типа:

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

/ip firewall layer7-protocol
add name=tv regexp="^.*(tv\.bla\.ru).*\$"
add name=voip regexp="^.*(voip\.bla\.ru).*\$"

И добавить условие в перенаправление:

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

/ip firewall nat
add action=dst-nat chain=dstnat comment="tv" dst-address=33.33.33.33 dst-port=80 protocol=tcp  layer7-protocol="tv" to-addresses=10.10.20.107 to-ports=80
add action=dst-nat chain=dstnat comment="voip" dst-address=33.33.33.33 dst-port=80 protocol=tcp  layer7-protocol="voip" to-addresses=10.10.20.130 to-ports=80


Подозреваю, что не всё так просто, как мне показалось и там куча подводных камней и в написании регулярок и в самом механизме определения поддоменов. Но так, ради поднятия темы и вопроса к тем, кому это близко я посчитал возможным высказать свои предположения...
Это читали?

Re: L7 на входящем траффике .

Добавлено: 13 ноя 2014, 12:14
Vladimir22
спасибо . я просто изучаю эту тему , перед тем как начать что то масштабное и глобальное

Re: L7 на входящем траффике .

Добавлено: 13 ноя 2014, 14:34
podarok66
Я уж несколько раз собирался сесть и попытаться разобраться с регуляркой. Но как-то не идет зараза. Всё-таки сначала надо бы Perl и PHP осваивать, наверное...

Re: L7 на входящем траффике .

Добавлено: 17 ноя 2014, 11:04
vviz
podarok66 писал(а):Интересная задачка :-): Мне негде такое проверять, но если создать два регулярных выражения типа:

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

/ip firewall layer7-protocol
add name=tv regexp="^.*(tv\.bla\.ru).*\$"
add name=voip regexp="^.*(voip\.bla\.ru).*\$"

И добавить условие в перенаправление:

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

/ip firewall nat
add action=dst-nat chain=dstnat comment="tv" dst-address=33.33.33.33 dst-port=80 protocol=tcp  layer7-protocol="tv" to-addresses=10.10.20.107 to-ports=80
add action=dst-nat chain=dstnat comment="voip" dst-address=33.33.33.33 dst-port=80 protocol=tcp  layer7-protocol="voip" to-addresses=10.10.20.130 to-ports=80


Подозреваю, что не всё так просто, как мне показалось и там куча подводных камней и в написании регулярок и в самом механизме определения поддоменов. Но так, ради поднятия темы и вопроса к тем, кому это близко я посчитал возможным высказать свои предположения...
Это читали?


Если ищется однозначная фраза в произвольном месте, то спецсимволы не нужны. Круглые скобки также - они для возврата результата поиска из вычисляемого выражения. В данном случае - regexp="voip\.bla\.ru". Если необходимо сразу несколько доменов отловить - ".*[voip|voip2|voip3]\.bla\.ru"