VPN с маршрутизацией через дополнительный шлюз

Обсуждение ПО и его настройки
Ответить
Lezenford
Сообщения: 4
Зарегистрирован: 26 мар 2021, 21:12

Есть сервер, на котором развернут CHR, он выступает в качестве IKEv2 IPSec vpn сервера. Есть несколько разных микротиков, которые к нему подключаются, классическая звезда. Используется для удаленной настройки устройств.
И есть некоторое количество мобильных клиентов, которые так же подключаются к серверу, чтобы выходить в интернет через IP CHR. Подсеть, где живут роутеры: 10.100.0.0/24, подсеть для мобильных клиентов 10.100.10.0/24. Соответственно доступа между подсетями нет - заблокирован.

Появился кейс, завести еще одну подсеть 10.100.20.0 для группы мобильных клиентов, чтобы они тоже выходили в интернет, но использовали не IP CHR, а IP одного из роутеров подсети 10.100.0.0/24, а именно 10.100.0.2. Т.е. для этих клиентов трафик должен уходить на 10.100.0.2 как на шлюз. Как правильно настроить такую схему?
Попробовал следующее:
Создал Mangle на трафик от сети 10.100.20.0/24
Создал Route для трафика с метками Mangle, указав шлюз 10.100.0.2
Но на микротике 10.100.0.2 не вижу трафик.
Вообще поведение странное - я вижу с мобильного устройства 10.100.0.2, я могу настроить dst-nat для проброса портов и он работает, например, но заставить работать на нем маскарад - не могу.
Пробовал поднимать маскарад на CHR, заворачивая туда трафик с 10.100.20.0/24, он работает если не создавать роут на 10.100.0.2. Стоит создать маршрут - пакеты в нат уходят, а на 10.100.0.2 я их не вижу и там опять таки не срабатывает маскарад.
Видимо есть какие то особенности в настройке 10.100.0.2, чтобы он принимал входящий по vpn трафик и мог его заворачивать в NAT?

Может кто то подсказать, как правильно настраивать требуемую схему?


Inner
Сообщения: 248
Зарегистрирован: 01 июл 2020, 16:02

IKEv2 голый? Или есть тунель?


Lezenford
Сообщения: 4
Зарегистрирован: 26 мар 2021, 21:12

IPSec туннель поднят, если об этом речь.
добавлю конфиги, чтобы было нагляднее

/ip ipsec proposal> print
Flags: X - disabled, * - default
0 * name="default" auth-algorithms=sha1 enc-algorithms=aes-256-cbc,aes-128-cbc
lifetime=8h pfs-group=none

1 name="IKEv2" auth-algorithms=sha512,sha256,sha1
enc-algorithms=aes-256-cbc,aes-192-cbc,aes-128-cbc lifetime=30m
pfs-group=none

/ip ipsec mode-config> print
Flags: * - default, R - responder
0 * name="request-only" responder=no use-responder-dns=exclusively

1 R name="IKEv2-*-cfg" system-dns=no static-dns="" address=10.100.0.2
address-prefix-length=24 split-include=10.100.0.0/24,10.100.20.0/24
split-dns=""

2 R name="IKEv2-*-cfg" system-dns=no static-dns=""
address=10.100.0.6 address-prefix-length=24 split-include=10.100.0.0/24
split-dns=""

3 R name="game-net" system-dns=yes address-pool=IKEv2-internal
address-prefix-length=24 split-include=10.100.0.0/24 split-dns=""

4 R name="IKEv2-*-wifi-cfg" system-dns=no static-dns=""
address=10.100.0.7 address-prefix-length=24 split-include=10.100.0.0/24
split-dns=""

5 R name="IKEv2-*" system-dns=no static-dns=10.100.10.1
address=10.100.10.2 address-prefix-length=24 split-dns=""

6 R name="IKEv2-*" system-dns=no static-dns=10.100.10.1
address-pool=IKEv2-external address-prefix-length=24 split-dns=""

7 R name="IKEv2-*" system-dns=no static-dns=10.100.10.1
address=10.100.10.3 address-prefix-length=24 split-dns=""

8 R name="IKEv2-*" system-dns=no static-dns=10.100.10.1 address=10.100.10.4
address-prefix-length=24 split-dns=""

9 R name="IKEv2-*" system-dns=no static-dns=10.100.10.1
address=10.100.10.5 address-prefix-length=24 split-dns=""

10 R name="IKEv2-*" system-dns=no static-dns=10.100.10.1
address-pool=IKEv2-external address-prefix-length=24 split-dns=""

11 R name="IKEv2-*" system-dns=no static-dns=10.100.10.1
address=10.100.10.6 address-prefix-length=24 split-dns=""

12 R name="IKEv2-*" system-dns=no static-dns=10.100.10.1
address=10.100.10.7 address-prefix-length=24 split-dns=""

13 R name="IKEv2-*" system-dns=no static-dns="" address=10.100.0.5
address-prefix-length=24 split-include=10.100.0.0/24 split-dns=""

14 R name="IKEv2-*" system-dns=no static-dns=""
address=10.100.0.3 address-prefix-length=24 split-include=10.100.0.0/24
split-dns=""

15 R name="IKEv2-*" system-dns=no static-dns=""
address=10.100.0.10 address-prefix-length=24 split-include=10.100.0.0/24
split-dns=""


/ip ipsec policy> print
Flags: T - template, B - backup,
X - disabled, D - dynamic, I - invalid, A - active, * - default
# P TUN SRC-ADDRESS
0 T * ::/0
1 T 0.0.0.0/0
2 DA I yes 10.100.0.0/24
3 DA I yes 10.100.0.0/24
4 DA I yes 10.100.0.0/24
5 DA I yes 10.100.20.0/24
6 DA I yes 10.100.0.0/24
7 DA I yes 10.100.0.0/24
8 T 0.0.0.0/0
9 DA I yes 0.0.0.0/0
10 T 0.0.0.0/0

Вопрос еще актуален.


Ответить