LAN порт роутера или MAC адрес из локалки принудительно направить на второго провайдера интернета

Обсуждение ПО и его настройки
Ответить
konstantin.mogilev
Сообщения: 3
Зарегистрирован: 04 авг 2020, 15:04

Здравствуйте, уважаемые сетевые инженеры. В наличии RouterBOARD 962UiGS-5HacT2HnT , в него входят 2 провайдера интернета для автопереключения между ними в случае, если основной провайдер подает. Все остальные порты роутера объединены в Bridge. Все работает как нужно.

Задача - принудительно один из LAN портов роутера (к которому подключен конкретный ПК) или один из MAC адресов локальной сети (MAC адрес этого самого ПК) направлять всегда на второго провайдера.

Прошу подсказать как? При необходимости могу показать конфигурацию роутера.


Константин
KARaS'b
Сообщения: 1199
Зарегистрирован: 29 сен 2011, 09:16

Размечаете в мангле трафик от этого компа, в цепочке преротинг, на основе метки делаете дефолтный маршрут с такой же меткой через нужного провайдера, профит, ваш комп всегда ходит через второго провайдера.


konstantin.mogilev
Сообщения: 3
Зарегистрирован: 04 авг 2020, 15:04

Спасибо, заработало, но лишь для первого пакета, пока не добавили еще 2 правила:

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

add action=accept chain=forward dst-address=... in-interface=ether5-wan
add action=accept chain=forward out-interface=ether5-wan src-address=...
строго перед этим правилом:

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

add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related
Вместо многоточий, есс-но IP нужной машины.
После этих 2 правил, все как по маслу, спасибо!


Константин
xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

konstantin.mogilev писал(а): 26 авг 2020, 14:05 строго перед этим правилом:

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

add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related
Вместо тех двух правил добавьте в это, которое fasttrack, условие connection-mark=no-mark


Telegram: @thexvo
konstantin.mogilev
Сообщения: 3
Зарегистрирован: 04 авг 2020, 15:04

xvo писал(а): 26 авг 2020, 15:28
konstantin.mogilev писал(а): 26 авг 2020, 14:05 строго перед этим правилом:

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

add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related
Вместо тех двух правил добавьте в это, которое fasttrack, условие connection-mark=no-mark
Сработало, только не connection-mark=no-mark , а routing-mark=no-mark , т.к. своими правилами я маркирую routing

Всем спасибо!


Константин
xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

konstantin.mogilev писал(а): 27 авг 2020, 15:05 Сработало, только не connection-mark=no-mark , а routing-mark=no-mark , т.к. своими правилами я маркирую routing

Всем спасибо!
Вот тут аккуратнее надо быть.

Вы, получается сходу проставляете исходящим пакетам routing-mark минуя промежуточную connection-mark.
А вот обратные пакеты никакой метки не имеют, и как раз таки попадают под fasttrack.
По всей видимости все продолжает работать только потому, что маршрут остается в routing cache. Но он периодически очищается, и вполне возможна ситуация, что маршрут из cache уже пропал, пакет извне пришел раньше, чем очередной пакет изнутри передобавил маршрут в cache, и дальше пакеты начали улетать через дефолтный маршрут, как итог - такое соединение оборвется.


Telegram: @thexvo
Ответить