Как разобраться с кейсом: mikrotik маршрутизация на внутренний VPN сервер?

Ссылка скопирована
1 ответ

Схема сети:
По вводным: mikrotik RouterOS v7.19 в качестве шлюза, на нем так же поднят VPN Server
По вводным: внутренняя сеть на бридже 192.168.11.252/24
Сеть для подключенных VPN клиентов 10.22.11.0/24
По вводным: внутренний VPN сервер на freebsd на нем тоже стоит VPN клиент, он разделяет трафик, часть уходит в VPN, часть должно обратно возвращаться на шлюз микротик 192.168.11.252 и уже с него уходить в интернет.

По вводным: моя логика такая c VPN клиентов на mikrotik маркеруем маршрут и перенаправляем на внутренний VPN шлюз

ip/firewall/mangle/add chain=prerouting action=mark-routing new-routing-mark=rt2vpnsplit passthrough=yes src-address=10.22.11.0/24 dst-address=!192.168.11.0/24

По вводным: соответственно маркированный маршрут отправляем на врутренний шлюз с VPN

ip/route/add dst-address=0.0.0.0/24 gateway=192.168.11.17 distance=1 routing-table=rt2vpnsplit

По вводным: ну и я повешал нат, что бы во внутреннюю сеть пакеты уходили с адресом внутренней подсети на бридже микрота

ip/firewall/nat/add chain=srcnat src-address=10.22.11.0/24 out-interface=br_ikc routing-mark=rt2vpnsplit action=masquerade

По вводным: после данных манипуляций по моей логике пакеты должны улететь на внутренний интерфей шлюза на фрибсд с адресом источника 192.168.11.252

Сейчас ситуация такая: на нем определяется по адресу назначения куда отправить пакет, в VPN или вернуть обратно на шлюз. Вот тот трафик что уходит в VPN, с ним нет проблем. А вот тот что должен вернуться обратно на микрот и с него уже улететь в интенет через ван интерфейс проблемы. Он не идет никуда.

По вводным: на внутреннем шлюзе фрибсд включен форвардин и проверял с натом и без. Если с натом то добавляю такие правила в фаервол:

/etc/rc.conf

firewall_enable="YES" firewall_nat_enable="YES" firewall_script="/etc/firewall.rules"

/etc/firewall.rules

ipfw -q flush ipfw nat 1 config if em0 reset same_ports ipfw add 300 nat 1 ip from 192.168.11.252 to any via em0

Сейчас ситуация такая: может кто то сталкивался с решением данной проблемы. Уже очень долго бьюсь, но он никак не хочет работать.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Игорь Волков Ответ

В вашей схеме на MikroTik основная ошибка, судя по описанию, в маршруте и асимметрии. Для маркированного трафика вы указали dst-address=0.0.0.0/24, а нужен дефолт 0.0.0.0/0. Сейчас маршрут покрывает только сеть 0.0.0.0-0.0.0.255, то есть почти ничего.

Правильная идея такая: трафик от VPN-клиентов MikroTik, который не идёт в локалку, маркируется и отправляется на внутренний шлюз 192.168.11.17. Но нужно исключить локальные сети и не сломать return path.

/ip firewall mangle
add chain=prerouting src-address=10.22.11.0/24 dst-address=!192.168.11.0/24 action=mark-routing new-routing-mark=rt2vpnsplit passthrough=no
 
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.11.17 routing-table=rt2vpnsplit

/ip firewall mangle add chain=prerouting src-address=10.22.11.0/24 dst-address=!192.168.11.0/24 action=mark-routing new-routing-mark=rt2vpnsplit passthrough=no /ip route add dst-address=0.0.0.0/0 gateway=192.168.11.17 routing-table=rt2vpnsplit

Для RouterOS v7 также проверьте, что таблица маршрутизации создана:

/routing table
add name=rt2vpnsplit fib

/routing table add name=rt2vpnsplit fib

Дальше важна обратная сторона. Внутренний VPN-шлюз на FreeBSD должен знать маршрут обратно к VPN-клиентам 10.22.11.0/24 через MikroTik 192.168.11.252. Иначе ответы могут уйти не туда.

route add 10.22.11.0/24 192.168.11.252

route add 10.22.11.0/24 192.168.11.252

Если FreeBSD делает NAT для части трафика, проверьте, где именно NAT нужен. Для выхода в интернет через внешний VPN NAT может быть на FreeBSD, а для возврата на MikroTik — не должен ломать маршрутизацию.

Диагностика на MikroTik:

/ip firewall mangle print stats
/ip route print detail where routing-table=rt2vpnsplit
/tool traceroute 8.8.8.8 src-address=10.22.11.1

/ip firewall mangle print stats /ip route print detail where routing-table=rt2vpnsplit /tool traceroute 8.8.8.8 src-address=10.22.11.1

Итог: исправьте 0.0.0.0/24 на 0.0.0.0/0, создайте FIB-таблицу в RouterOS v7, убедитесь в обратном маршруте на FreeBSD и проверяйте счётчики mangle. Без обратного маршрута схема будет работать нестабильно даже при правильном mark-routing.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно