Перейти к содержимому
Калькуляторы

Хитрый заворот трафика

Возникла интересная задача, недавно собрал новый шейпер и новый bgp, дабы добиться 2GBit пропускной способности в общем канале на базе 4-х портовых карточек Intel. Все работает замечательно, есть только тонкий ньюанс. Через шейпер трафик гонится через пары карт, то есть Port1 -> Port2 , Port3 -> Port4, шейпирование происходит на основании оконечных интерфейсов. На Linux на BGP разрулил два канала роутингом и всё ok, однако со стороны сети, до шейпера стоит Cisco 3560 (свитч L3), у которого pbr включается только после смены профиля на route (это делать не хочется), соответственно стоит так - ip route via первый шлюз, ip route via второй шлюз - обгрызок pbr, оно работает, только кидает пакет то на первый интерфейс, то на третий шейпера. Соответственно, исход в некоторых случаях проходит по двум интерфейсам сразу и получается задвоение скорости, однако tcp мерялки в рамках одной сессии меряются согласно тарифному плану (первое справедливо, например для торрентов). Пока весь исход с Cisco зарулил только через один интерфейс, но это не кузяво, его тоже надо поделить на два интерфейса. Соответственно, хотелось бы придумать способ на шейпере в случае попадания пакета из сети, например 1.1.1.0/24 на Port1 кидать его на Port3, чтобы он попал в цепочку шейпинга tc через bridge, и наоборот, например если залетел 2.2.2.0/24 на Port3, выкинуть его на Port1. Если потребуется, могу разрисовать схему шейпирования, однако она стандартная - бридж между портами P1->P2, P3->P4 и tc шейпер на граничных интерфейсах без iptables и маркировки.

 

p.s. sdm профиль менять не буду :) проще роутер купить с pbr ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Очень интересная задумка буду следить за развитием событий и помогу чем смогу. Желаю Вам успеха надеюсь на вклад в сообщество в виде работающего решения ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

агрегацией линков сделать нельзя? 1 и 3 в bond0, 2 и 4 в bond1, bond0 и bond1 в br0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Интересно так сработает ?

 

# Все, от 1.1.1.0/24 с интенфейса eth0 загоняем в таблицу 100 которая выбрасывает все на eth2
ip rule add from 1.1.1.0/24 dev eth0 lookup 100
ip route add via 3.3.3.3 dev eth2 table 100

# Все, от 2.2.2.0/24 с интенфейса eth2 загоняем в таблицу 110 которая выбрасывает все на eth0
ip rule add from 2.2.2.0/24 dev eth2 lookup 110
ip route add via 4.4.4.4 dev eth0 table 110

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

_INF_

Врядли, там же нет роутинга вообще. Из инструментов "для лепки" - только ebtables, может что-то броутингом можно сочинить, но не понятно зачем так извращаться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.