Mike33 Posted December 21, 2015 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
Night_Snake Posted December 21, 2015 Posted December 21, 2015 Если отфильтровать нужно входящий трафик, при чем тут цепочка FORWARD? А блокировка udp500/4500 вас не спасет? Вставить ник Quote
Mike33 Posted December 21, 2015 Author Posted December 21, 2015 (edited) Если отфильтровать нужно входящий трафик, при чем тут цепочка FORWARD? Всмысле не чисто "входящий", а транзитный трафик, который генерится из входящего трафика ipsec (после расшифровки). А блокировка udp500/4500 вас не спасет? Мне нужно отфильтровать уже расшифрованный трафик. Edited December 21, 2015 by Mike33 Вставить ник Quote
anesth Posted December 26, 2015 Posted December 26, 2015 (edited) В свежих версиях ROS есть фильтрация по критерию policy ipsec-policy=in,ipsec Edited December 26, 2015 by anesth Вставить ник Quote
SOs Posted December 27, 2015 Posted December 27, 2015 А как Ваша маркировка (текстовая) будет передаваться в пакетах? Как я понимаю, Сейчас Вы маркируете пакеты в пределах одной железки, для манипуляций с трафиком в её пределах. Если надо передать маркировку дальше, используйте dscp. Заголовок IP DSCP ЗЫ Не делал на МТ такое, на цисках - легко. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.