Страница 1 из 1
ipfw pipe неправильная маска?
Добавлено: 2009-11-08 1:22:30
wel
Привет Всем
Сейчас есть:
Код: Выделить всё
>ipfw show
00001 3260313 221176255 nat 123 ip from any to 91.ххх.ххх.ххх
00036 503423926 347010498060 pipe 36 ip from not 10.0.0.0/8 to table(36) in
00036 540749927 391966742733 pipe 1036 ip from table(36) to not 10.0.0.0/8 out
64000 257046958 140377157539 nat 123 ip from table(1) to any
65535 69005930023 49461611213747 allow ip from any to any
Код: Выделить всё
/sbin/ipfw pipe 36 config mask dst-ip 0x000000ff bw 6Mbit/s
/sbin/ipfw pipe 1036 config mask src-ip 0x000000ff bw 6Mbit/s
Код: Выделить всё
>sysctl net.inet.ip.fw.one_pass
net.inet.ip.fw.one_pass: 0
table(36) - тут Ипы которым надо резать скорость...
но человек получает больше скорости...такое впечатление что по 6-ть Мбит на соеденение...
В общем как резать скорость на каждого чела по 6-ть Мбит вход/и 6Мбит исход?
Re: ipfw pipe неправильная маска?
Добавлено: 2009-11-08 1:40:10
---nebo---
но человек получает больше скорости...такое впечатление что по 6-ть Мбит на соеденение...
этот человек, я так догадываюсь

, из сети из таблицы. Из ваших конфигов так и есть, вы ведь сами запускаете их в созданные 6 Мегабитные трубы
Код: Выделить всё
00036 503423926 347010498060 pipe 36 ip from not 10.0.0.0/8 to table(36) in
00036 540749927 391966742733 pipe 1036 ip from table(36) to not 10.0.0.0/8 out
table(36) - тут Ипы которым надо резать скорость...
до какого значения, или 6М - это уже подрезананя скорость? не ясно...
В общем как резать скорость на каждого чела по 6-ть Мбит вход/и 6Мбит исход?
челы ведь находятся в некой подсети. Так вод просто создаете две друбы на вход и на выход и запускаете их туда.
Если конкретных айпишников нужно резать, тогда просто перечисляете IP в правиле.
...смотрите на форуме, таккая проблема уже
неоднократно рассматривалась

Re: ipfw pipe неправильная маска?
Добавлено: 2009-11-08 13:29:17
wel
---nebo--- писал(а):но человек получает больше скорости...такое впечатление что по 6-ть Мбит на соеденение...
этот человек, я так догадываюсь

, из сети из таблицы. Из ваших конфигов так и есть, вы ведь сами запускаете их в созданные 6 Мегабитные трубы
Да там сидят разные ипы с маской /32... У нас нет привязки подсеть-тариф....
Я еще раз попытаюсь описать проблему:
Я хочу что бы на каждого пользователя создавалась ограничение 6/6 Мбит и не более - по трубе на юзера, а сейчас у пользователя такое ограничение:
6-Мбит к одному ипу еще 6Мбит к еще одному Ипу, тоесть на торентах можно Себе скорость поднять до 100% от канала....
Код: Выделить всё
00036 503423926 347010498060 pipe 36 ip from not 10.0.0.0/8 to table(36) in
00036 540749927 391966742733 pipe 1036 ip from table(36) to not 10.0.0.0/8 out
table(36) - тут Ипы которым надо резать скорость...
до какого значения, или 6М - это уже подрезананя скорость? не ясно...
Да есть тариф 6/6, 2/2, 10/10...
В общем как резать скорость на каждого чела по 6-ть Мбит вход/и 6Мбит исход?
челы ведь находятся в некой подсети. Так вод просто создаете две друбы на вход и на выход и запускаете их туда.
Если конкретных айпишников нужно резать, тогда просто перечисляете IP в правиле.
им нужно зарезать скорость не на ВСЕХ

Да подсети разные, в том числе есть свой PI блок которые надо резать на разные скорости
с сохранением ИП у пользователя
Re: ipfw pipe неправильная маска?
Добавлено: 2009-11-08 14:17:38
wel
Код: Выделить всё
ipfw pipe 1036 config bw 3Mbit/s mask src-ip 0xffffffff
ipfw pipe 36 config bw 3Mbit/s mask dst-ip 0xffffffff
>ipfw show 36
Код: Выделить всё
00036 4818219 3020722971 pipe 1036 ip from table(36) to not 10.0.0.0/8 out
00036 4729323 3660328673 pipe 36 ip from not 10.0.0.0/8 to table(36) in
Сейчас исходящяя недонаризается....
Скажем так 3 Мбит !=977Kb/s

Да Я тестово ставил как выше написано 3/3, вход примерно 3Мбит....
Re: ipfw pipe неправильная маска?
Добавлено: 2009-11-08 18:19:22
---nebo---
а сейчас у пользователя такое ограничение:
6-Мбит к одному ипу еще 6Мбит к еще одному Ипу, тоесть на торентах можно Себе скорость поднять до 100% от канала....
как-то не вяжется с этим правилом
Код: Выделить всё
00036 4818219 3020722971 pipe 1036 ip from table(36) to not 10.0.0.0/8 out
По логике правила: любой IP пакет с источником из таблицы и назначением НЕ сеть 10.0.0.0/8, будет направлен в трубу 1036.
Вы действительно проверяли а клиенте, что скорость можно так поднять до полного занятия канала? Если да, то какой адрес клиента и есть ли он в table(36)?
им нужно зарезать скорость не на ВСЕХ
тогда каждому клиенту своя труба, смотрите
http://www.lissyara.su/?id=1071, в частности(по трубе на юзверя

)
Код: Выделить всё
# запускаем счётчик
i=4
# цикл по $i
while [ $i != 252 ]
do
# добавляем трубу для IP адреса
${FwCMD} add pipe $i ip from not ${NetIn}/${NetMask} to 192.168.20.${i}
# проверяем - часом не мой ли это IP
if [ $i -eq 13 -o $i -eq 22 ]
then
# мой инет :)))
${FwCMD} pipe $i config bw 100Mbit/s
else
# не мой IP - режем скорость
${FwCMD} pipe $i config bw 64000 bit/s
fi
# увеличиваем $i на единичку
i=$(($i+1))
done
Re: ipfw pipe неправильная маска?
Добавлено: 2009-11-08 18:57:37
wel
---nebo--- писал(а):а сейчас у пользователя такое ограничение:
6-Мбит к одному ипу еще 6Мбит к еще одному Ипу, тоесть на торентах можно Себе скорость поднять до 100% от канала....
как-то не вяжется с этим правилом
Код: Выделить всё
00036 4818219 3020722971 pipe 1036 ip from table(36) to not 10.0.0.0/8 out
Ведь в pipe-ах важна маска, если её нет то скорость на всех...
По логике правила: любой IP пакет с источником из таблицы и назначением НЕ сеть 10.0.0.0/8, будет направлен в трубу 1036.
Вы действительно проверяли а клиенте, что скорость можно так поднять до полного занятия канала? Если да, то какой адрес клиента и есть ли он в table(36)?
По snmp берётся статистика с ng* интерфейсов, причем с малой погрешностью...
Так вот сейчас вход примерно к ожидаемой скорости подрезается 375Кб - ожидаются, 425Кб через интерфейс, а вот с исходящей - не режется...
им нужно зарезать скорость не на ВСЕХ
тогда каждому клиенту своя труба, смотрите
http://www.lissyara.su/?id=1071, в частности(по трубе на юзверя

)
Код: Выделить всё
# запускаем счётчик
i=4
# цикл по $i
while [ $i != 252 ]
do
# добавляем трубу для IP адреса
${FwCMD} add pipe $i ip from not ${NetIn}/${NetMask} to 192.168.20.${i}
# проверяем - часом не мой ли это IP
if [ $i -eq 13 -o $i -eq 22 ]
then
# мой инет :)))
${FwCMD} pipe $i config bw 100Mbit/s
else
# не мой IP - режем скорость
${FwCMD} pipe $i config bw 64000 bit/s
fi
# увеличиваем $i на единичку
i=$(($i+1))
done
Я и сам могу такие скрипты ваять

Только вот 2000 ненужных pipe'ов не сильно сервер то разгрузять против 5-ти
