Помогите пожалуйста решить задачу.
На Mikrotik подняты OVPN и WG серверы.
Клиенты, которые к ним подключаются разделены на два типа - доверенные и с ограниченным доступом.
Для этого создано два Interface List - VPN Trusted Zone и VPN Limited Zone.
Для WG поднято два отдельных интерфейса (с разными подсетями), условно wg-trusted и wg-limited, каждый из которых включен в свой Interface List, VPN Trusted Zone и VPN Limited Zone, соответственно.
Для OVPN созданы отдельные профили, которые так же раскидывают клиентов в нужный Interface List.
Код: Выделить всё
name="ovpn-sirius-trusted-onlyone" local-address=172.20.1.1 remote-address=ovpn-sirius bridge-learning=default use-ipv6=no use-mpls=no use-compression=default use-encryption=yes only-one=yes change-tcp-mss=yes use-upnp=no address-list=""
interface-list=VPN Trusted Zone on-up="" on-down=""
name="ovpn-sirius-limited-onlyone" local-address=172.20.1.1 remote-address=ovpn-sirius bridge-learning=default use-ipv6=no use-mpls=no use-compression=default use-encryption=yes only-one=yes change-tcp-mss=yes use-upnp=no address-list=""
interface-list=VPN Limited Zone on-up="" on-down=""
Создана дополнительная таблица маршрутизации - route-vpn-limited-zone.
Создано два правила Mangle в prerouting, первое помечает соединения для всех входящих интерфейсов отнесенных к Interface List - Limited, второе помечает маршрут для направления в таблицу - route-vpn-limited-zone.
Код: Выделить всё
chain=prerouting action=mark-connection new-connection-mark=route-vpn-limited-zone passthrough=yes connection-mark=no-mark in-interface-list=VPN Limited Zone log=no log-prefix=""
chain=prerouting action=mark-routing new-routing-mark=route-vpn-limited-zone passthrough=yes connection-mark=route-vpn-limited-zone log=no log-prefix=""
Код: Выделить всё
dst-address=10.0.0.0/24 routing-mark=route-vpn-limited-zone action=lookup-only-in-table table=route-vpn-limited-zone
Код: Выделить всё
# - DST - GW - DISTANCE - TABLE
1 - 10.0.0.0/24 - 172.20.1.10 (OVPN - Trusted) - 1 - Main
2 - 10.0.0.0/24 - 172.20.1.20 (OVPN - Limited) - 2 - Main
3 - 10.0.0.0/24 - 172.21.1.10 (WG - Trusted) - 3 - Main
4 - 10.0.0.0/24 - 172.22.1.20 (WG - Limited) - 4 - Main
5 - 10.0.0.0/24 - 172.20.1.20 (OVPN - Limited) - 1 - route-vpn-limited-zone
6 - 10.0.0.0/24 - 172.22.1.20 (WG - Limited) - 2 - route-vpn-limited-zone
Код: Выделить всё
chain=forward action=accept dst-address=10.0.0.0/24 log=no log-prefix=""
Если удаленный клиент OVPN (пир WG), которому нужно попасть в 10.0.0.0/24 попадает в Interface List - VPN Limited Zone, он может ходить в эту сеть только через два маршрута - 5 и 6. При их неактивности маршруты из Main ему недоступны. Клиентам из Interface List - VPN Trusted Zone недоступны уже маршруты из таблицы route-vpn-limited-zone. Тут все логично.
А вот с Main проблема. Если удаленный клиент OVPN (пир WG) относится к доверенной зоне и направляется в основную таблицу, то корректно работают только маршруты 1,3,4. Т.е. в сеть 10.0.0.0/24 успешно можно попасть через обеих WG клиентов и через OVPN клиента Филиала 1, который попадает на Mikrotik в Interface List - VPN Trusted Zone. Через маршрут 2, ping до любого узла в сети 10.0.0.0/24 начинает выглядеть вот так:
Код: Выделить всё
Обмен пакетами с 10.0.0.15 по с 32 байтами данных:
Ответ от 10.0.0.15: число байт=32 время=55мс TTL=117
Превышен интервал ожидания для запроса.
Ответ от 10.0.0.15: число байт=32 время=60мс TTL=117
Превышен интервал ожидания для запроса.
Ответ от 10.0.0.15: число байт=32 время=55мс TTL=117
Превышен интервал ожидания для запроса.
Ответ от 10.0.0.15: число байт=32 время=66мс TTL=117
Превышен интервал ожидания для запроса.
Ответ от 10.0.0.15: число байт=32 время=54мс TTL=117
Превышен интервал ожидания для запроса.
Буду очень признателен, если поможете разобраться.