Jump to content
Калькуляторы

Фильтрация трафика Ipsec

Надо в файерволе отфильтровать входящий трафик 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??

Share this post


Link to post
Share on other sites

Если отфильтровать нужно входящий трафик, при чем тут цепочка FORWARD?

А блокировка udp500/4500 вас не спасет?

Share this post


Link to post
Share on other sites

Если отфильтровать нужно входящий трафик, при чем тут цепочка FORWARD?

Всмысле не чисто "входящий", а транзитный трафик, который генерится из входящего трафика ipsec (после расшифровки).

 

А блокировка udp500/4500 вас не спасет?

Мне нужно отфильтровать уже расшифрованный трафик.

Edited by Mike33

Share this post


Link to post
Share on other sites

А как Ваша маркировка (текстовая) будет передаваться в пакетах? Как я понимаю, Сейчас Вы маркируете пакеты в пределах одной железки, для манипуляций с трафиком в её пределах. Если надо передать маркировку дальше, используйте dscp.

 

Заголовок IP

DSCP

 

ЗЫ Не делал на МТ такое, на цисках - легко.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.