есть безлимитный интернет, но поскольку он безлимитный все хотят много качать
в итоге получаются такие моменты что пытаешся пойти на любимый форум , а тебе болт большой причем
но когда никто не сидит в нете, хочется использовать канал на полную
пришло решение поделить канал
несколько труб не хочется создавать, поскольку те кто качает не смогут выйти за пределы трубы и будут качать с определенной скоростью
вот нашел решение с помощью веса пакета, хотелось бы услышать на сколько это кошерно и может существует более рабочий вариант, потому что этот мне не очень нравится, поскольку он висит на сетевухе что смотрит внутрь сети
пытался поставить на ng0 но там стоит нат, не работает с такими правилами
собственно настройки файервола:
Код: Выделить всё
#!/bin/sh
#
fwcmd="/sbin/ipfw -q"
inet_if="ng0" # смотрит в нет
pipe_if="xl0" # смотрит в локалку
my_ip="10.12.0.5,192.168.132.5" # мои айпи
proxy_ip="10.12.0.3" # обычные пользователи
down_ip="192.168.71.0/24" # те кто много качает
${fwcmd} flush
${fwcmd} pipe flush
${fwcmd} queue flush
${fwcmd} pipe 1 config bw 128Kbits # upload
${fwcmd} pipe 2 config bw 512Kbits # download
${fwcmd} queue 1 config pipe 1 weight 60
${fwcmd} queue 11 config pipe 2 weight 60
${fwcmd} queue 2 config pipe 1 weight 30
${fwcmd} queue 21 config pipe 2 weight 30
${fwcmd} queue 3 config pipe 1 weight 10
${fwcmd} queue 31 config pipe 2 weight 10
${fwcmd} add queue 1 ip from $my_ip to any in via $pipe_if
${fwcmd} add queue 11 ip from any to $my_ip out via $pipe_if
${fwcmd} add queue 2 ip from $proxy_ip to any in via $pipe_if
${fwcmd} add queue 21 ip from any to $proxy_ip out via $pipe_if
${fwcmd} add queue 3 ip from $down_ip to any in via $pipe_if
${fwcmd} add queue 31 ip from any to $down_ip out via $pipe_if
# далее идет natd