Mike33 Posted December 21, 2015 Надо в файерволе отфильтровать входящий трафик Ipsec. Т.е. надо каким-то образом отличить в цепочке forward трафик из ipsec-туннеля от остального транзитного трафика. Каких-либо признаков, кроме адресов источника и приемника я не обнаружил, поэтому пытаюсь пакеты из ipsec-туннеля пометить, а потом фильтровать по этой метке. Эту идею я взял здесь: http://wiki.mikrotik.com/wiki/IPSEC_between_Mikrotik_router_and_a_Shrew_client#Allow_only_encrypted_traffic http://wiki.mikrotik.com/wiki/File:Packet_Flow_Example_5c.png /ip firewall mangle add chain=prerouting action=mark-packet new-packet-mark=ipsec-tunnel-packet passthrough=no in-interface=WAN protocol=ipsec-esp /ip firewall filter add chain=forward action=accept packet-mark=ipsec-tunnel-packet Но такой способо почему-то не работает. Такое ощущение, что после дешифрации пакета теряется его метка (ipsec-tunnel-packet). Для проверки тогда прописываю такие правила: /ip firewall mangle add action=mark-packet chain=prerouting in-interface=WAN new-packet-mark=ipsec-tunnel-packet passthrough=no protocol=ipsec-esp /ip firewall filter add action=passthrough chain=forward log=yes packet-mark=ipsec-tunnel-packet И получаю: /ip firewall mangle print stats without-paging Flags: X - disabled, I - invalid, D - dynamic # CHAIN ACTION BYTES PACKETS 0 prerouting mark-packet 25 920 216 /ip firewall filter print stats without-paging Flags: X - disabled, I - invalid, D - dynamic # CHAIN ACTION BYTES PACKETS ........ 2 forward passthrough 0 0 ........ Т.е. видно, что через правило таблицы mangle пакеты проходят и счетчик увеличивается, а через правило таблицы filter пакеты не проходят и счетчики этого правила имеет значение ноль. Если я убираю проверку packet-mark, то правило начинает срабатывать: /ip firewall filter add chain=forward action=accept in-interface=WAN dst-address=192.168.1.0/24 192.168.1.0/24 - внутренняя подсеть за роутером Подскажите пожалуйста можно ли как-то исправить маркировку пакетов или может есть какие другие способы отследить трафик Ipsec?? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Night_Snake Posted December 21, 2015 Если отфильтровать нужно входящий трафик, при чем тут цепочка FORWARD? А блокировка udp500/4500 вас не спасет? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Mike33 Posted December 21, 2015 (edited) Если отфильтровать нужно входящий трафик, при чем тут цепочка FORWARD? Всмысле не чисто "входящий", а транзитный трафик, который генерится из входящего трафика ipsec (после расшифровки). А блокировка udp500/4500 вас не спасет? Мне нужно отфильтровать уже расшифрованный трафик. Edited December 21, 2015 by Mike33 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
anesth Posted December 26, 2015 (edited) В свежих версиях ROS есть фильтрация по критерию policy ipsec-policy=in,ipsec Edited December 26, 2015 by anesth Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SOs Posted December 27, 2015 А как Ваша маркировка (текстовая) будет передаваться в пакетах? Как я понимаю, Сейчас Вы маркируете пакеты в пределах одной железки, для манипуляций с трафиком в её пределах. Если надо передать маркировку дальше, используйте dscp. Заголовок IP DSCP ЗЫ Не делал на МТ такое, на цисках - легко. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...