Не отловить RDP протокол по layer7

Раздел для тех, кто начинает знакомиться с MikroTik
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.

1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
Ответить
Аватара пользователя
Gekko
Сообщения: 49
Зарегистрирован: 15 ноя 2017, 09:37

Добрый день!
Устройство: RB751U-2HnD.
RouterOS: 6.41.rc28
Хотел сделать приоритезацию rdp через маркировку пакетов по layer7.
ip firewall layer7-protocol/
print
# NAME REGEXP
0 http ^.+(HTTP\/[0-2]).+$
1 rdp rdpdr.*cliprdr.*rdpsnd

ip firewall mangle/
print
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; HTTP
chain=prerouting action=mark-packet new-packet-mark=http-pck passthrough=yes layer7-protocol=http log=no log-prefix=""

1 ;;; SMB
chain=prerouting action=mark-packet new-packet-mark=smb-pck passthrough=yes layer7-protocol=smb log=no log-prefix=""

2 X ;;; RDP L7
chain=prerouting action=mark-packet new-packet-mark=rdp-pck-l7 passthrough=yes layer7-protocol=rdp log=no log-prefix=""

3 X ;;; RDP 3389
chain=prerouting action=mark-packet new-packet-mark=rdp-pck-port passthrough=yes protocol=tcp port=3389 log=no log-prefix=""

4 ;;; Remote Desktop Protocol (used in Windows Terminal Services)
chain=prerouting action=mark-packet new-packet-mark=rdp_in passthrough=yes layer7-protocol=rdp

5 chain=postrouting action=mark-packet new-packet-mark=rdp_out passthrough=yes layer7-protocol=rdp


Проблема в том, что правила 4 и 5 отрабатывают далеко не все пакеты. Пробовал найти какую нибудь информацию по l-7 патернам на RDP, но везде один и тот же патерн: rdpdr.*cliprdr.*rdpsnd. Других - нет.
В mangle присутствуют два выключенных правила (2 и 3) которые показывают разницу в количестве отловленных пакетов по L7 и просто по 3389-порту: правило на порт отрабатывает пакетов больше раз в 10-15 чем правило маркирующее через Layer7.
Посмотрел Wireshark'ом те пакеты, которые идут при данном соединении - там в пакете вообще нет ничего похожего на предлагаемый RDP патерн.
Изображение
Ну и разумеется, раз уж речь идет о RDP, то сервер стоит за роутером и есть такое вот правило:
ip firewall nat
print
0 chain=dstnat action=netmap to-addresses=192.168.4.3 to-ports=3389 protocol=tcp in-interface=ether1-gateway dst-port=3389 log-prefix=""

Может в этом дело и я не в той цепочке пакеты маркирую?


Ответить