Mike33 Опубликовано 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?? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Night_Snake Опубликовано 21 декабря, 2015 · Жалоба Если отфильтровать нужно входящий трафик, при чем тут цепочка FORWARD? А блокировка udp500/4500 вас не спасет? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Mike33 Опубликовано 21 декабря, 2015 (изменено) · Жалоба Если отфильтровать нужно входящий трафик, при чем тут цепочка FORWARD? Всмысле не чисто "входящий", а транзитный трафик, который генерится из входящего трафика ipsec (после расшифровки). А блокировка udp500/4500 вас не спасет? Мне нужно отфильтровать уже расшифрованный трафик. Изменено 21 декабря, 2015 пользователем Mike33 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
anesth Опубликовано 26 декабря, 2015 (изменено) · Жалоба В свежих версиях ROS есть фильтрация по критерию policy ipsec-policy=in,ipsec Изменено 26 декабря, 2015 пользователем anesth Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SOs Опубликовано 27 декабря, 2015 · Жалоба А как Ваша маркировка (текстовая) будет передаваться в пакетах? Как я понимаю, Сейчас Вы маркируете пакеты в пределах одной железки, для манипуляций с трафиком в её пределах. Если надо передать маркировку дальше, используйте dscp. Заголовок IP DSCP ЗЫ Не делал на МТ такое, на цисках - легко. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...