Страница 6 из 7

Re: Два провайдера - две сети непересекающихся

Добавлено: 02 апр 2021, 00:01
nikolay.hmarin
xvo писал(а): 01 апр 2021, 23:39 Вообще, если серьезно, то вся задача в том виде, в котором вы пытаетесь её решить (добавить на уже работающий роутер второго провайдера, чтобы пустить через него клиентов сидящих на определенном интерфейсе, без балансировки, без failover - тупо PBR), решается одной строчкой:

Код: Выделить всё

/ip route vrf add routing-mark=pppoe interfaces=br_vl2,PPPoE
И да, без лишней нагрузки на роутер вызванной необходимостью отключать fasttrack при использовании mangle.
в прочем именно по мангл у меня был взгрыв мозга, т.е. логика 2 и 3 строки мне неясна, но как говорится если работает и не знаешь лучшего, значит пусть будет как есть. По пробую обязательно VRF, т.е. всё тело остается таким же, только мы меняем мангл маркировку на VRF, вот это уже и правда толковая мысль.
fasttrack - не отключал всё отлично работает.

Re: Два провайдера - две сети непересекающихся

Добавлено: 02 апр 2021, 07:00
xvo
nikolay.hmarin писал(а): 02 апр 2021, 00:01 в прочем именно по мангл у меня был взгрыв мозга, т.е. логика 2 и 3 строки мне неясна
Это видно, потому что он у вас НЕ РАБОТАЕТ так, как вы предполагаете.
nikolay.hmarin писал(а): 02 апр 2021, 00:01 всё тело остается таким же, только мы меняем мангл маркировку на VRF
Нет, не нужно вообще ничего из того, что вы выкладывали (ну ок, nat понятное дело нужен).
Дефолтный маршрут после этого можно добавлять "галкой" прямо из настроек pppoe.
nikolay.hmarin писал(а): 02 апр 2021, 00:01 fasttrack - не отключал всё отлично работает.
В вашем случае он действительно не мешает: вы же клиентский трафик не маркируете :-)
Я про "канонические" конфиги для мульти-WAN'а.

Re: Два провайдера - две сети непересекающихся

Добавлено: 02 апр 2021, 10:33
nikolay.hmarin
nikolay.hmarin писал(а): 02 апр 2021, 00:01
xvo писал(а): 01 апр 2021, 23:39 Вообще, если серьезно, то вся задача в том виде, в котором вы пытаетесь её решить (добавить на уже работающий роутер второго провайдера, чтобы пустить через него клиентов сидящих на определенном интерфейсе, без балансировки, без failover - тупо PBR), решается одной строчкой:

Код: Выделить всё

/ip route vrf add routing-mark=pppoe interfaces=br_vl2,PPPoE
И да, без лишней нагрузки на роутер вызванной необходимостью отключать fasttrack при использовании mangle.
в прочем именно по мангл у меня был взгрыв мозга, т.е. логика 2 и 3 строки мне неясна, но как говорится если работает и не знаешь лучшего, значит пусть будет как есть. По пробую обязательно VRF, т.е. всё тело остается таким же, только мы меняем мангл маркировку на VRF, вот это уже и правда толковая мысль.
fasttrack - не отключал всё отлично работает.
В общем вот итоги нашего диалога (спасибо за подсказку):
фаст тракинг отключаем для трафика второго провайдера (с ним трафик летит, но ничего не работает), маршрут по умолчанию при создании PPPoE отключаем и вводим всего 3 строки (4я по желанию):

Код: Выделить всё

/ip route add distance=10 gateway=PPPoE routing-mark=pppoe-mark
/ip firewall nat add chain=srcnat out-interface=PPPoE routing-mark=pppoe-mark action=masquerade
/ip route vrf add routing-mark=pppoe-mark interfaces=br_vl2,PPPoE
/ip firewall filter add action=fasttrack-connection chain=forward out-interface=L2tp
PPPoE - интерфес провайдера 1.
L2tp - интерфейс провайдера 2
br_vl2 - локальный интерфес.
первый провайдер настраиваем как будто на роутере он всего 1.

Re: Два провайдера - две сети непересекающихся

Добавлено: 02 апр 2021, 10:43
xvo
nikolay.hmarin писал(а): 02 апр 2021, 10:33 фаст тракинг отключаем для трафика второго провайдера (с ним трафик летит, но ничего не работает)
Нет. Ничего отключать не нужно.
nikolay.hmarin писал(а): 02 апр 2021, 10:33 маршрут по умолчанию при создании PPPoE отключаем
Нет. Наоборот, галку можно оставить.
nikolay.hmarin писал(а): 02 апр 2021, 10:33 и вводим всего 3 строки:
Две:

Код: Выделить всё

/ip route vrf add routing-mark=pppoe-mark interfaces=br_vl2,PPPoE
/ip firewall nat add chain=srcnat out-interface=PPPoE action=masquerade
nikolay.hmarin писал(а): 02 апр 2021, 10:33 первый провайдер настраиваем как будто на роутере он всего 1.
Да.

Re: Два провайдера - две сети непересекающихся

Добавлено: 02 апр 2021, 10:53
nikolay.hmarin
фаст тракинг отключаем для трафика второго провайдера (с ним трафик летит, но ничего не работает)
Нет. Ничего отключать не нужно.
Сижу на 6.47.1, прям сейчас пробую, перестает работать, так что фаст тракинг нужно локализовать для первого провайдера только.
маршрут по умолчанию при создании PPPoE отключаем
Нет. Наоборот, галку можно оставить.
у меня работает только так, я раз 5 пробовал, не хочет, точнее не появляется маркировка у маршрута.

в итоге даже 4 команды получилось (4 по желанию локально для первого провайдера или вовсе погасить).

Код: Выделить всё

/ip route add distance=10 gateway=PPPoE routing-mark=pppoe-mark
/ip firewall nat add chain=srcnat out-interface=PPPoE routing-mark=pppoe-mark action=masquerade
/ip route vrf add routing-mark=pppoe-mark interfaces=br_vl2,PPPoE
/ip firewall filter add action=fasttrack-connection chain=forward out-interface=L2tp

Re: Два провайдера - две сети непересекающихся

Добавлено: 02 апр 2021, 11:00
xvo
nikolay.hmarin писал(а): 02 апр 2021, 10:53 Сижу на 6.47.1, прям сейчас пробую, перестает работать, так что фаст тракинг нужно локализовать для первого провайдера только.
А, пардон, действительно:
FastTracked packets bypass firewall, connection tracking, simple queues, queue tree with parent=global, ip traffic-flow(restriction removed in 6.33), IP accounting, IPSec, hotspot universal client, VRF assignment, so it is up to administrator to make sure FastTrack does not interfere with other configuration;
Жаль. Я думал тут преимущество перед конфигурациями, использующими mangle.
nikolay.hmarin писал(а): 02 апр 2021, 10:53 у меня работать только так, я раз 5 пробовал, не хочет.
И чего, если с галкой он в нужный VRF маршрут не создаёт, создаёт в main таблицу?
nikolay.hmarin писал(а): 02 апр 2021, 10:53

Код: Выделить всё

/ip firewall filter add action=fasttrack-connection chain=forward out-interface=L2tp
Не правильно отправлять в fasttrack без всяких условий - у вас тогда firewall вообще теряет смысл.

Если убрать из ваших строк лишние условия, то к работающему конфигу надо добавить:

Код: Выделить всё

/ip route add distance=10 gateway=PPPoE routing-mark=pppoe-mark
/ip firewall nat add chain=srcnat out-interface=PPPoE action=masquerade
/ip route vrf add routing-mark=pppoe-mark interfaces=br_vl2
А касательно fasttrack'а: в уже существующее правило /ip firewall filter add action=fasttrack-connection chain=forward connection-state=established,related добавить условие routing-table=main.

Re: Два провайдера - две сети непересекающихся

Добавлено: 02 апр 2021, 22:49
nikolay.hmarin
А касательно fasttrack'а: в уже существующее правило /ip firewall filter add action=fasttrack-connection chain=forward connection-state=established,related добавить условие routing-table=main.
тут с фаерволом вы не правы, но то что правило не верно(неполное), это да, оно должно работать в обе стороны а я указал его применять только в 1 сторону, тогда уж лучше так - если предположить что основной трафик не имеет вообще никакой маркировки или имени таблицы (например служебное имя которое по синтаксису вам не дадут ввести)

Код: Выделить всё

/ip firewall filter add action=fasttrack-connection routing-table!=pppoe-mark chain=forward connection-state=established,related 
routing-table!=pppoe-mark - хз как по синтаксису правильно, писать отрицание, обычно руками прикрикиваю там где нужно.

Re: Два провайдера - две сети непересекающихся

Добавлено: 02 апр 2021, 23:10
xvo
И в чем же я не прав?

! ставится перед значением, а не перед =

И нет смысла тут делать так, как вы говорите - все равно fasttrack практически по определению применим только к таблице main. Или что практически то же самое routing-mark=no-mark. Но вот есть подозрение что в случае с vrf - это все таки не совсем то же самое.

Re: Два провайдера - две сети непересекающихся

Добавлено: 16 апр 2021, 13:12
Denis.Smirnov
Добрый день.
Спасибо большое за инструкцию. Всё работает и пакеты ходят только через своих провайдеров. Но возникла подобная задача и данный алгоритм тут уже не работает, а суть вот в чём: один провайдер выдает пул адресов и соответственно гейт у всех адресов будет один и тот же. Хочу чтобы одна подсеть выходила через один IP адрес, а другая через второй IP адрес. И у меня ничего не получается. При написании правил в таблице Route List у меня доступен только ether1 (reachable ether1) при различных значения Routing Mark для двух провайдеров.
Вопрос: Можно ли при помощи Микротика так же разделить на 2 WAN от одного провайдера?

Re: Два провайдера - две сети непересекающихся

Добавлено: 16 апр 2021, 13:18
xvo
А в чем проблема? Делаете NAT с какими-нибудь условиями в разные адреса. Зачем тут вообще несколько маршрутов?

А по вопросу 2 wan от одного провайдера, вроде бы достаточно к gateway в маршрутах добавлять уточнение %название_интерфейса.
Это если адрес gateway одинаковый.