Если в кратце описать проблему - то не работает шейпер в ipfw.
Ядро скомпилено с DUMMYNET, net.inet.ip.fw.one_pass=0
Есть блок правил описывающих подключение к ftp серверу.
Код: Выделить всё
${fw} add allow tcp from ${ext_gateway_ip} 20,21,40000-40100 to any out via ${ext_if}
${fw} add allow tcp from any to ${ext_gateway_ip} 20,21,40000-40100 in via ${ext_if}
Хочу ограничить скорость подключения к ftp, понимаю что можно резать на самом ftp сервере, но хочется реализовать через ipfw.
Меняю правила на:
Код: Выделить всё
${fw} pipe 1 config bw 500KByte/s queue 40
${fw} queue 1 config pipe 1 weight 50 queue 40 mask dst-ip 0xffffffff
${fw} queue 2 config pipe 1 weight 50 queue 40 mask src-ip 0xffffffff
${fw} add queue 1 tcp from ${ext_gateway_ip} 20,21,40000-40100 to any out via ${ext_if}
${fw} add queue 2 tcp from any to ${ext_gateway_ip} 20,21,40000-40100 in via ${ext_if}
Команды ipfw pipe show и ipfw queue show показывают что трубы и очереди есть, но по ним ни чего не ходит.
Не могу понять в чем может быть проблема.
Может кто натыкался на подобное и что то подскажет ?