ipsec ikev2 запреть утечку трафика.

Обсуждение ПО и его настройки
urupubika
Сообщения: 9
Зарегистрирован: 26 сен 2023, 07:52

Приветствую. Настроен ipsec ikev2 туннель, в адрес листе указаны сайты доступ к которым должен быть через туннель. Все работает нормально, трафик идет, но если туннель падает/зависает, то трафик идет напрямую через провайдера. Как этого избежать? Нужно чтобы доступ к ресурсам из адрес листа был только через тунель, а напрямую через провайдера блокировался.


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Мне видится, что проще всего в mangle заворачивать трафик на эти хосты в отдельную таблицу, а в неё пихнуть дефолтный маршрут типа blackhole.


Telegram: @thexvo
urupubika
Сообщения: 9
Зарегистрирован: 26 сен 2023, 07:52

В mangle есть правило

Код: Выделить всё

chain=prerouting action=mark-connection new-connection-mark=IPSecVPN 
      passthrough=no src-address-list=IP_OUT dst-address-list=TO_VPN 
      log=no log-prefix=""
Трафик с ip из листа IP_OUT на ip из листа TO_VPN заварачивается в туннель. Но если туннель упал/завис или просто отключить пира в ipsec -> peer, то трафик не блокируется, а идёт по дефолту через провайдера, что ни есть хорошо. Какое правило добавить чтобы при зависании/отключении туннеля трафик не шёл через провайдера.


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Можно продублировать это правило, но с action=mark-routing.
Дальше, как я сказал - в таблицу, куда оно будет отравлять дефолтный маршрут в blackhole.
А на этом правиле passthrough=yes сделать.


Telegram: @thexvo
urupubika
Сообщения: 9
Зарегистрирован: 26 сен 2023, 07:52

Код: Выделить всё

chain=prerouting action=mark-connection new-connection-mark=IPSecVPN 
      passthrough=yes src-address-list=IP_OUT dst-address-list=TO_VPN 
      log=no log-prefix="" 

chain=prerouting action=mark-routing new-routing-mark=vpn 
      passthrough=no src-address-list=IP_OUT dst-address-list=TO_VPN
      connection-mark=IPSecVPN log=no log-prefix=""
 distance=2 routing-mark=vpn type=blackhole
Трафик перестал идти через туннель


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Ок, кажется понимаю в чем проблема.

А если условие во второе правило добавить ipsec-policy=out,none?

Но вообще, если сработает, тогда логичнее просто в filter в цепочке forward сбрасывать c теми же условиями (принадлежность по двум спискам и отсутствие ipsec-policy), чем что-то мудрить с mangle и отдельной таблицей.

Еще вариант, попробовать заменить blackhole на какой-то нормальный маршрут, который будет активным, но при этом по факту не настоящим.


Telegram: @thexvo
urupubika
Сообщения: 9
Зарегистрирован: 26 сен 2023, 07:52

А если условие во второе правило добавить ipsec-policy=out,none?

Код: Выделить всё

Couldn't change Mangle Rule <> - ipsec-policy in policy not possible in prerouting and local-in chains (6)
Попробовал in,none. Трафик через vpn не идёт.
Но вообще, если сработает, тогда логичнее просто в filter в цепочке forward сбрасывать c теми же условиями (принадлежность по двум спискам и отсутствие ipsec-policy), чем что-то мудрить с mangle и отдельной таблицей.
В forward ipsec-policy=out,none добавляется, но результат тот же. Трафик через vpn не идёт.
Еще вариант, попробовать заменить blackhole на какой-то нормальный маршрут, который будет активным, но при этом по факту не настоящим.
Результат аналогичный предыдущим.


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

urupubika писал(а): 26 сен 2023, 17:12 В forward ipsec-policy=out,none добавляется, но результат тот же. Трафик через vpn не идёт.
Это сейчас речь mangle forward?
А если попробовать делать drop в filter forward:

Код: Выделить всё

/ip firewall filter add chain=forward action=drop src-address-list=IP_OUT dst-address-list=TO_VPN ipsec-policy=out,none


Telegram: @thexvo
urupubika
Сообщения: 9
Зарегистрирован: 26 сен 2023, 07:52

Это сейчас речь mangle forward?
filter forward


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

И это правило срабатывает даже при работающем туннеле?
Счетчик растет?


Telegram: @thexvo
Ответить