В организации есть общий канал, порядка 80Мбит, в некоторых локальных подсетях установлены роутеры\точки доступа wi-fi, используемые адреса у которых хотелось бы ограничить по скорости), ну и чтобы на обычных проводных пользователей ограничения ни коем образом не сказывались.
Предполагаю реализовать следующим образом (пока с использованием одной таблицы, у каждого адреса точки должны быть свои 512Кбит):
Код:
#!/bin/sh
fwcmd="/sbin/ipfw"
${fwcmd} -f flush
${fwcmd} -f pipe flush
# ${fwcmd} -f queue flush
${fwcmd} table 1 flush
# ${fwcmd} pipe 1 config bw 512Kbit/s buckets 128 mask dst-ip 0x000000ff
# ${fwcmd} pipe 2 config bw 512Kbit/s buckets 128 mask src-ip 0x000000ff
${fwcmd} pipe 1 config bw 512Kbit/s buckets 128 mask dst-ip 0xffffffff
${fwcmd} pipe 2 config bw 512Kbit/s buckets 128 mask src-ip 0xffffffff
${fwcmd} add 11 pipe 1 ip from any to table\(1\) out
${fwcmd} add 12 pipe 2 ip from table\(1\) to any in
${fwcmd} table 1 add 192.168.0.200
${fwcmd} table 1 add 192.168.2.30
${fwcmd} table 1 add 192.168.0.222
${fwcmd} table 1 add 192.168.9.30
...
Какое-то время работает исправно, после у всех адресов, помещенных в table, инет встает колом, т.е. перестают грузиться страницы вообще, при этом тот же пинг проходит ровно. Убираешь IP из таблицы, все нормализуется.
Если в таблицу добавить новый IP, то к нему применяются ограничения и он работает в рамках положенной скорости совершенно правильно.
Ощущение, что забиваются то ли кэши какие, то ли очереди, кто может подсказать куда копать?
Что может быть дело, где я не прав?
Предполагаю реализовать следующим образом (пока с использованием одной таблицы, у каждого адреса точки должны быть свои 512Кбит):
Код:
#!/bin/sh
fwcmd="/sbin/ipfw"
${fwcmd} -f flush
${fwcmd} -f pipe flush
# ${fwcmd} -f queue flush
${fwcmd} table 1 flush
# ${fwcmd} pipe 1 config bw 512Kbit/s buckets 128 mask dst-ip 0x000000ff
# ${fwcmd} pipe 2 config bw 512Kbit/s buckets 128 mask src-ip 0x000000ff
${fwcmd} pipe 1 config bw 512Kbit/s buckets 128 mask dst-ip 0xffffffff
${fwcmd} pipe 2 config bw 512Kbit/s buckets 128 mask src-ip 0xffffffff
${fwcmd} add 11 pipe 1 ip from any to table\(1\) out
${fwcmd} add 12 pipe 2 ip from table\(1\) to any in
${fwcmd} table 1 add 192.168.0.200
${fwcmd} table 1 add 192.168.2.30
${fwcmd} table 1 add 192.168.0.222
${fwcmd} table 1 add 192.168.9.30
...
Какое-то время работает исправно, после у всех адресов, помещенных в table, инет встает колом, т.е. перестают грузиться страницы вообще, при этом тот же пинг проходит ровно. Убираешь IP из таблицы, все нормализуется.
Если в таблицу добавить новый IP, то к нему применяются ограничения и он работает в рамках положенной скорости совершенно правильно.
Ощущение, что забиваются то ли кэши какие, то ли очереди, кто может подсказать куда копать?
Что может быть дело, где я не прав?