Добрый день. Есть mikrotik hex и 2 провайдера(подключение по L3 до головного офиса и резервный свисток LTE), между провайдерами настроен failover. На микротике настроены 2 openvpn клиента, первый через L3 до головного офиса, а второй через LTE модем на внешний ip адрес того же OpenVPN сервера в головном офисе. Как сделать так чтобы при работе через L3 запускался клиент с нужными настройками и не допустить работу 2х клиентов одновременно. Я не нашел ничего лучшего чем просто одному из клиентов в фаерволе запретить посылать пакеты через ненужный интерфейс, есть ли другие способы решить задачку? Заранее спасибо!
ну тогда вам нужно реализовать так называемый dual-WAN. Маркировать трафик нужно, что бы обезопасить себя от таких ситуаций. https://spw.ru/forum/threads/dostup-k-mikrotik-iz-vne-po-wan1-wan2.452/
dual-WAN реализован нужно сделать чтобы при подключении одного vpn клиента через полученные маршруты не подключался второй openvpn клинет
ну по идеи можно привязать каждого OPNVPN клиента к своей (маркированной) таблице маршрутизации. В route rules действием lookonly in table.
Можно по подробнее, мои попытки не увенчались успехом. OpenVPN клиент который нацелен на подключение через внешний IP упорно лезет подключаться через полученные маршруты от первого клиента.
/ip firewall mangle> print 0 chain=forward action=mark-connection new-connection-mark=IPS-l3 passthrough=yes in-interface=WAN log=no log-prefix="" 1 chain=forward action=mark-connection new-connection-mark=IPS-lte passthrough=yes in-interface=WAN log=no log-prefix="" 2 chain=prerouting action=mark-routing new-routing-mark=l3-rt passthrough=yes src-address=192.168.57.0/24 connection-mark=IPS-l3 log=no log-prefix="" 3 chain=prerouting action=mark-routing new-routing-mark=lte-rt passthrough=yes src-address=192.168.57.0/24 connection-mark=IPS-lte log=no log-prefix="" 4 chain=prerouting action=mark-routing new-routing-mark=l3-rt passthrough=yes connection-state=new dst-address-list=to-lte log=no log-prefix="" 5 chain=prerouting action=mark-routing new-routing-mark=lte-rt passthrough=yes connection-state=new dst-address-list=to-l3 log=no log-prefix="" /ip route> print Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit # DST-ADDRESS PREF-SRC GATEWAY DISTANCE 0 A S 0.0.0.0/0 8.8.8.8 1 1 S 0.0.0.0/0 192.168.0.99 2 2 A S 0.0.0.0/0 8.8.4.4 2 3 S 0.0.0.0/0 8.8.8.8 2 4 A S 0.0.0.0/0 192.168.0.99 1 5 S 0.0.0.0/0 192.168.8.1 2 6 A S 8.8.4.4/32 192.168.8.1 1 7 A S 8.8.8.8/32 192.168.0.99 1 8 ADC 192.168.0.0/24 192.168.0.18 WAN 0 9 ADC 192.168.8.0/24 192.168.8.100 lte1 0 10 ADC 192.168.57.0/24 192.168.57.99 LAN 0
0 chain=forward action=mark-connection new-connection-mark=IPS-l3 passthrough=yes in-interface=WAN log=no log-prefix="" 1 chain=forward action=mark-connection new-connection-mark=IPS-lte passthrough=yes in-interface=WAN log=no log-prefix="" тут я бы использовал цепочку prerouting, иначе пакеты отправленные на роутер не будут маркироваться. Также необходимо маркировать и исходящие пакеты из роутера цепочка output. Мой пример: /ip firewall mangle add action=mark-connection chain=prerouting connection-mark=no-mark in-interface=ether1-gateway new-connection-mark=From-WAN1 passthrough=yes add action=mark-connection chain=prerouting connection-mark=no-mark in-interface=ether2-gateway new-connection-mark=From-WAN2 passthrough=yes add action=mark-routing chain=output connection-mark=From-WAN1 new-routing-mark=WAN1 passthrough=yes add action=mark-routing chain=output connection-mark=From-WAN2 new-routing-mark=WAN2 passthrough=yes add action=mark-routing chain=prerouting connection-mark=From-WAN1 in-interface-list=!WAN new-routing-mark=WAN1 passthrough=yes add action=mark-routing chain=prerouting connection-mark=From-WAN2 in-interface-list=!WAN new-routing-mark=WAN2 passthrough=yes /ip route add distance=1 gateway=ISP1_GW routing-mark=WAN1 add distance=1 gateway=ISP2_GW routing-mark=WAN2
Сделал как в примере. Результат тот же, как только первый клиент подключатся, второй начинает подключаться через него.
попробуйте теперь в роут rules сделать правило: interface = ваш OPVPN клиент action = look only in table table WAN2
еще вариант, попробуйте от маркировать в цепочке postrouting действие new-routing-mark=WAN2 out-interface - OPVPN-client
Пробовал по всякому, через маркировку не работает. Зато железно работает правило в фаерволе, чем плох этот метод?