Как разделить трафик на linux?

Есть два провайдера на устройстве, один дешевый и медленный а другой дорогой но быстрый. Как пример: Хочу чтобы через дешевый работала только почта а ютубчик и другой трафик шел через дорогой.

Как настроить маршрутизацию и фаирвол (iptables)?


Ответы (1 шт):

Автор решения: Vladimir Galkov

Вы знакомы с моделью OSI? 1. Тут такое дело "ютубчик" это уровень приложений или хз, может теперь из-за шифрования считается представлений(7,6), а маршрутизация это уровень сетевой.

Если отвечать вам как юзеру - то ищите приложение, которое такое делает. это более или менее обеспечивает ваше решение. Особенно если приложение - некий онлайн сервис, а не одностороняя программа.

2. Простое(бесплатное, но реально связанное с маршрутизацией) решение на Linux это найти в Ripe.net желаемые блоки адресов и прописать с рута в консоли каждый большой маршрут 2 раза на разные ip gateway(или интерфейсы в сторону операторов) но с разными метриками:

  1. Вот например 2 маршрута, разогнанные в разные каналы -

    route add -net 10.0.0.0 netmask 255.0.0.0 gw eth01 metric 100

    route add -net 10.0.0.0 netmask 255.0.0.0 gw eth02 metric 200

    route add -net 11.0.0.0 netmask 255.0.0.0 gw eth02 metric 100

    route add -net 11.0.0.0 netmask 255.0.0.0 gw eth01 metric 200

    Это запись двух маршрутов значит, что при падении(физическом, не логическом, для логического нужен динамический протокол маршрутизации с оператором) - начнёт использоваться маршрут с метрикой 200, а при обычном деле - будет ходить через 100.

    Не пишите одинаковых метрик. стандартное ядро Linux не будет балансировать трафик, но может получиться какое-то трудно диагностируемое адище.


такие команды можно раскидать в bash скрипт и стартовать его в автозагрузке. но полнокровно эта схема будет работать .. так по-чесноку при полностью рабочих обоих каналах, так как Linux не будет ничего знать о доступности связи по каналам.

так что без легковесной bgp4(серые номера автономных систем) сессии с обоими операторами и full view .. ну или операторы могут другие наборы кидать - увы только через приложения. Но и там есть засады, ввиду того, что они только пытаются предполагать состояние каналов и подменить функционал bgp частично.

для легковесного bgp см. Zebra наугад - вот - простое объяснение настройки (там cisco like command interface)

→ Ссылка