Jump to content

Ipfw Распределение полосы и шейпер


Recommended Posts

Здравствуйте,

Сервер (адрес 192.168.0.1) под FreeBSD раздает инет через natd, схема самая простая 2 сетевые карты одна смотрит в инет xl0 другая в локалку xl1. Некоторым пользователям нужно ограничить полосу, делаю это вот так:

 

ipfw pipe 10 config bw 1Mbit/s queue 10

ipfw add 40 pipe 10 ip from any to 192.168.0.15 out

ipfw add 41 pipe 10 ip from 192.168.0.15 to any in

 

Также нужно распределить полосу на всех равномерно, некоторым понизить приоритет (тем, у кого полоса ограничена):

 

ipfw pipe 1 config bw 10Mbit/s queue 10

ipfw queue 1 config pipe 1 weight 50

ipfw queue 2 config pipe 1 weight 30

ipfw add 10 queue 1 ip from "ip-адрес клиента" to 192.168.0.1 in

ipfw add 11 queue 1 ip from 192.168.0.1 to "ip-адрес клиента" out

ipfw add 12 queue 2 ip from "ip-адрес клиента" to 192.168.0.1 in

ipfw add 13 queue 2 ip from 192.168.0.1 to "ip-адрес клиента" out

 

Ограничение полосы работает, а вот с распределением есть сомнения. Сначала все попадает в общую «трубу» в 10 мегабит там распределяет в зависимости от загрузки канала по приоритетам?

Этот набор правил рабочий или я что-то упустил.

Заранее спасибо )

Link to post
Share on other sites

не будет у тебя работать так как ты хочешь, т.к. после версии 3.4 система балансировки нагрузки стала основываться на количествах сессий, а не на количестве айпишников (как было бы правильно). Вот такое вот западло устроили разработчики думминета, много обсуждений этого вопроса есть на fido7.ru.unix.bsd.

Link to post
Share on other sites

хорошо, а вот это

ipfw pipe 10 config bw 1Mbit/s queue 10

ipfw add 40 pipe 10 ip from any to 192.168.0.15 out

ipfw add 41 pipe 10 ip from 192.168.0.15 to any in

будет статично ограничивать пользователя с IP 192.168.0.15 на 1М на вход/исход?

Link to post
Share on other sites
хорошо, а вот это

ipfw pipe 10 config bw 1Mbit/s queue 10

ipfw add 40 pipe 10 ip from any to 192.168.0.15 out

ipfw add 41 pipe 10 ip from 192.168.0.15 to any in

будет статично ограничивать пользователя с IP 192.168.0.15 на 1М на вход/исход?

да, режет скорость он отменно! :loop:

Link to post
Share on other sites
не будет у тебя работать так как ты хочешь, т.к. после версии 3.4 система балансировки нагрузки стала основываться на количествах сессий, а не на количестве айпишников (как было бы правильно). Вот такое вот западло устроили разработчики думминета, много обсуждений этого вопроса есть на fido7.ru.unix.bsd.

Пусть на количестве сессий работает реально пофиг лишь бы те у кого анлим имели приоритет меньше чем те, кто на тарифах где учитывается траф..

Link to post
Share on other sites
не будет у тебя работать так как ты хочешь, т.к. после версии 3.4 система балансировки нагрузки стала основываться на количествах сессий, а не на количестве айпишников (как было бы правильно). Вот такое вот западло устроили разработчики думминета, много обсуждений этого вопроса есть на fido7.ru.unix.bsd.

А можно подробней о там как думминет заставить балансировать по ИП а не по сесиям???

Link to post
Share on other sites

вам ALTQ нужен..

его суть: по группам забиваете айпишники, группа 5, например ставится на самый маленький приоритет, группа 1 на самый большой.. но ALTQ не позволит остатся без инета вобще ниодному пользователю., какбы динамичиский шейпер..

Link to post
Share on other sites

А я мучался-мучался с pipe, а потом порезал трафик в SQUIDе и счастлив безумно! :) Как-то стабильнее и правильнее работает что ли... на он-лайновых игрушках проверял.

Link to post
Share on other sites

Дык, а сквид тока умеет резать http и ftp трафик, если будут ословоды или еще че подобное уложат канал в ухнарь :)

Link to post
Share on other sites

В общем как я понял организовать это дело с IPFW не получится или можно чтонить придумать?

Link to post
Share on other sites
вам ALTQ нужен..

его суть: по группам забиваете айпишники, группа 5, например ставится на самый маленький приоритет, группа 1 на самый большой.. но ALTQ не позволит остатся без инета вобще ниодному пользователю., какбы динамичиский шейпер..

послушай, а есть где-то нормальный man по этому, чтобы с примерами, или ты покажи как сделал, я долго пытался разобраться, так и не вышло... поставил думминет. :loop:

Link to post
Share on other sites
В общем как я понял организовать это дело с IPFW не получится или можно чтонить придумать?

если будешь резать по скорости, это без проблем, у тебя получится, если тебе нужно, чтобы именно балансировало - тут уже сложнее, нужно ALTQ, только я в нем не шарю :-/

Link to post
Share on other sites

хорошо, если только по скорости, то этот рецепт катит.

ipfw pipe 10 config bw 1Mbit/s queue 10

ipfw add 40 pipe 10 ip from any to 192.168.0.15 out

ipfw add 41 pipe 10 ip from 192.168.0.15 to any in

если правила будут иметь номер по порядку меньше, чем то правило которое открывает доступ в инет значит они могут находиься статично в ФВ, но отрабатыватсья только в случае срабатывания правила на открытие пользователю инета.

 

что с пингом в этом случае будет?

просто эти анлимы меня уже кошмарят. :-/

Link to post
Share on other sites

народ а есть ли нормальный шейпер которым можно не весь трафик зарезать а только определенный....

 

Ситуация

Если пользователь возьмет анлим 64 то я ему скорость порежу до 64....

но есть ещё фтп сервер который не хотелось бы обрезать до 64..

подскажите чегонибуть

Link to post
Share on other sites
народ а есть ли нормальный шейпер которым можно не весь трафик зарезать а только определенный....

 

Ситуация

Если пользователь возьмет анлим 64 то я ему скорость порежу до 64....

но есть ещё фтп сервер который не хотелось бы обрезать до 64..

подскажите чегонибуть

Есть конечно тот же dummynet под FreeBSD

Link to post
Share on other sites
народ а есть ли нормальный шейпер которым можно не весь трафик зарезать а только определенный....

 

Ситуация

Если пользователь возьмет анлим 64 то я ему скорость порежу до 64....

но есть ещё фтп сервер который не хотелось бы обрезать до 64..

подскажите чегонибуть

отрецание !

правило с отрицанием пиши

ipfw blalblabla from !10.10.10.10 to 10.10.10.11

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
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...