Долго рылся, но не смог найти (может потому, что не смог точно сформулировать)...
В общем есть микротик с 2 внешними каналами - основной и резервный. Чисто для резервирования (тупо "рекурсивными" методом переключается дефолтный маршрут). Есть 2 поднятых l2tp+ipsec тоннеля (этот микротик в качестве клиента) - тоже все работает.
Теперь нюанс: нужно чтобы один из тоннелей (назовем l2tp_1) всегда шел через резервный канал и никак не попадал в основной, а остальной трафик, в т.ч. тоннель l2tp_2 - в зависимости от доступности. Т.е. предположим IP l2tp сервера для тоннеля l2tp_1 - х.х.х.х, и на этом же IP крутится ftp-сервер. Нужно чтоб трафик на ftp://х.х.х.х и на l2tp_2 (и весь прочий) шел через любой доступный канал (т.е. сейчас так и есть), а тоннель l2tp - только через резервный (как сделать?).
Пробовал udp 1701,500,4500 и ipsec-esp на х.х.х.х маркировать и кидать через через резервный - не работает... Куда копать?
Как пустить l2tp+ipsec через выбранный шлюз?
-
- Сообщения: 104
- Зарегистрирован: 04 окт 2015, 21:38
Оба внешних интерфейса l2tp клиента цепляются на один IP l2tp сервера?
-
- Сообщения: 1776
- Зарегистрирован: 09 июл 2014, 12:33
l2tp с ipsec у микротика сначала устанавливает шифрованное ipsec соединение, в потом, внутри него делается туннель l2tp.
Поэтому заруливать куда-то l2tp поздно.
А зарулить в 2 разных конца ipsec на стадии установки соединения не получится, если они на один адрес ломятся. (если на втором конце не 2 канала с разными белыми IP). Оно будет устанавливаться всегда по маршруту по-умолчанию с меньшим distance.
Поэтому заруливать куда-то l2tp поздно.
А зарулить в 2 разных конца ipsec на стадии установки соединения не получится, если они на один адрес ломятся. (если на втором конце не 2 канала с разными белыми IP). Оно будет устанавливаться всегда по маршруту по-умолчанию с меньшим distance.
-
- Сообщения: 1601
- Зарегистрирован: 15 сен 2017, 09:03
То что Вы хотите сделать можно, только не уверен, что это прокатит с двумя одинаковыми тоннелями именно c IPSEC. Но отбалансировать тоннели так, чтобы они ходили только на определенные ISP можно. У меня на Микротике клиенте один тоннель L2TP+IPSEC, второй ovpn. Поскольку ipsec только на одном тоннеле, то коллизий не возникает, каждый заворачивается только через свой ISP (или не поднимается вовсе !). Плюс в ppp-profile при поднятии тоннеля динамически прописываются статические маркированные маршруты для локальных сетей через нужный ISP, когда тоннель разъединяется (падает) - скрипт их удаляет.
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 18
- Зарегистрирован: 16 июл 2019, 09:04
Так ipsec'и "заруливаются" на разные IP. Нужно чтоб один из них всегда шел только через конкретный внешний интерфейс (если он недоступен то канал должен "упасть" и ждать пока поднимется интерфейс) условно на адрес x.x.x.x, а второй - через что получится (т.е. через доступный дефолтный маршрут) на адрес y.y.y.y . Но на оба IP-адреса (x.x.x.x, y.y.y.y) через доступный дефолтный маршрут должны идти еще и все прочие (не ipsec) соединения.
-
- Сообщения: 1776
- Зарегистрирован: 09 июл 2014, 12:33
Давайте подробнее.
У вас на 1 стороне микротик с двумя каналами и с двумя серыми (или белыми?) IP адресами.
Он клиент, он устанавливает соединение по L2TP.
На второй стороне у вас микротик, являющийся L2TP сервером, он принимает соединения. У него сколько белых IP адресов и каналов?
В настройках L2TP клиента есть поле "Connect To", где указывается белый IP адрес L2TP сервера, к которому нужно подключиться.
Если у вас эти адреса разные - получится по dst закрепить соединение за конкретным интерфейсом. Если один и тот же - ничего не получится.
У вас на 1 стороне микротик с двумя каналами и с двумя серыми (или белыми?) IP адресами.
Он клиент, он устанавливает соединение по L2TP.
На второй стороне у вас микротик, являющийся L2TP сервером, он принимает соединения. У него сколько белых IP адресов и каналов?
В настройках L2TP клиента есть поле "Connect To", где указывается белый IP адрес L2TP сервера, к которому нужно подключиться.
Если у вас эти адреса разные - получится по dst закрепить соединение за конкретным интерфейсом. Если один и тот же - ничего не получится.
-
- Сообщения: 18
- Зарегистрирован: 16 июл 2019, 09:04
Mikrotik (клиент): 2 канала - один с "белым" IP, второй с "серым" (непринципиально, если в этом вопрос второй можно сделать белым).
Отсюда поднимаются два L2TP/IPSec канала на 2 разных "белых" IP (которые x.x.x.x и y.y.y.y) которые на 2-х разных mikrotik'ах - L2TP/IPSec серверах (в разных местах)
Весь трафик с mikrotik'а-"клиента", за исключением L2TP/IPSec на y.y.y.y должен идти через дефолтный маршрут. В том числе прочий (не относящийся к L2TP/IPSec) трафик на y.y.y.y.
Дефолтный маршрут обычно идет через канал с "белым" IP, но при его недоступности - переключается на канал "серого" IP.
А вот трафик L2TP/IPSec тоннеля на y.y.y.y должен всегда идти через канал "серого" IP - если маршрут недоступен - ждать доступности...
-
- Сообщения: 1776
- Зарегистрирован: 09 июл 2014, 12:33
Делаете правило мангл.
Все, что идет на y.y.y.y прероутингом делаете марк роутинг какой нибудь табле_шмабле.
И у вас в таблице маршрутизации получается 2 таблицы - майн, и ваша табле_шмабле.
И делаете для таблицы табле_шмабле маршрут по умолчанию строго через интерфейс с серым айпи.
А в таблице майн дефолтному маршруту прописываете оба интерфейса.
Должно быть все.
На y.y.y.y доступ будет строго через интерфейс с серым айпи, на x.x.x.x с любого.
Все, что идет на y.y.y.y прероутингом делаете марк роутинг какой нибудь табле_шмабле.
И у вас в таблице маршрутизации получается 2 таблицы - майн, и ваша табле_шмабле.
И делаете для таблицы табле_шмабле маршрут по умолчанию строго через интерфейс с серым айпи.
А в таблице майн дефолтному маршруту прописываете оба интерфейса.
Должно быть все.
На y.y.y.y доступ будет строго через интерфейс с серым айпи, на x.x.x.x с любого.
-
- Сообщения: 18
- Зарегистрирован: 16 июл 2019, 09:04
Ну уж это-то понятно. Но куда при Вашем раскладе при обеих работающих интерфейсах пойдет, например http://y.y.y.y ? Надо, чтоб в этом случае шло через "белый". И туда-же должен идти трафик тоннеля x.x.x.x. А трафик тоннеля на y.y.y.y всегда (в т.ч. при обеих работающих) - должен идти только через "серый".
Т.е. если решение через маркировку пакетов - вопрос: как промаркировать только трафик тоннеля L2TP/IPSec к y.y.y.y чтоб при этом не маркировался остальной трафик на y.y.y.y и не маркировался трафик тоннеля L2TP/IPSec к x.x.x.x