Постановка задачи следующая.
Есть адрес CDN, например d.gcdn.co. Часто с этой сети идет различная реклама, но некоторые сайты используют эту CDN для своего "медийного" содержимого, например известный komus.ru. Возникает желание блокировать такие CDN-адреса, но для некоторых сайтов оставить адрес доступным. Все запросы, разумеется, https.
Блокировать несложно - добавил в Address List, установил пару правил в /ip firewall filter:
Код: Выделить всё
chain=forward action=reject reject-with=tcp-reset protocol=tcp dst-address-list=BlackList_Ads in-interface-list=local
chain=forward action=drop dst-address-list=BlackList_Ads in-interface-list=local
Теперь пытаюсь выделить и разрешить "хорошие" запросы. Для этого в Layer 7 добавляю komus.ru, затем маркирую пакеты в /ip firewall mangle:
Код: Выделить всё
chain=prerouting action=mark-packet new-packet-mark=W-L passthrough=yes layer7-protocol=WhiteList-komus
Смотрю лог для первого (блокирующего) правила
forward: in:LAN out:ppp-out1, src-mac YYY, proto TCP (SYN), 192.168.1.XXX:8153->92.223.99.99:443, len 48
И для маркирующего правила
prerouting: in:LAN out:(unknown 0), src-mac YYY, proto UDP, 192.168.1.XXX:55188->192.168.1.1:53, len 58
Вижу - блокируются и маркируются разные вещи.
Фактически, как я понимаю, нужен способ выделить из всех запросов к определенному ip-адресу только инициированные определенным сайтом. Может быть, кто-то подскажет такой способ?