Устройство: RB751U-2HnD.
RouterOS: 6.41.rc28
Хотел сделать приоритезацию rdp через маркировку пакетов по layer7.
ip firewall layer7-protocol/
# NAME REGEXP
0 http ^.+(HTTP\/[0-2]).+$
1 rdp rdpdr.*cliprdr.*rdpsnd
ip firewall mangle/
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
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=""
Может в этом дело и я не в той цепочке пакеты маркирую?