Jump to content
Калькуляторы

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

Возникла интересная задача, недавно собрал новый шейпер и новый 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 ;)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

# Все, от 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

Share this post


Link to post
Share on other sites

_INF_

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this