Возникли некоторые проблемы с altq.
Что имеем :
шлюз (внутренний ифейс 192.168.0.133, внешний 10.1.1.1)
за шлюзом комп с адресом 192.168.0.15
Правила очередей такие :
Код: Выделить всё
altq on $ext_if_cheap cbq queue { clients, local }
queue clients bandwidth 95% priority 5
queue local bandwidth 5% priority 1 cbq(default borrow)
##--everithing LOCAL
pass out on $ext_if_cheap from $ext_if_cheap to any keep state queue local
##--everithing LOCAL
##--everithing for 192.168.0.0/24 LAN
pass out on $ext_if_cheap from $trusted_lan to any keep state queue clients
##--everithing for 192.168.0.0/24 LAN
Проблема в том, что очереди ведут себя неадекватно, отдавая лишь половину полосы клиенту 192.168.0.15 (и то не сразу, а через неск. минут) когда тот активно качает и не давая вообще ничего, если на самом шлюзе качает wget. Даже аська не может приконнектиться.
Пробовал priq, все примерно то же самое.
Потом я поднял тестовый стенд 192.168.0.25 с полосой в 1 Мбит и стал скачивать с него клиентами 192.168.0.15 и 192.168.0.133 каждый раз меняя процентное соотношение полосы этих клиентов и пробуя разные очереди (cbq, priq и даже hfsc), пробуя добавлять один borrow или borrow на каждую очередь. Почти во всех случаях altq ведет себя адекватно, время реакции не более 2 секунд, немного начинает подглючивать когда в правилах более одного borrow.
Выходит что какую-то роль играет то обстоятельство, что трафик, идущий с самого шлюза непосредственно получает преимущество. Не NAT-ли всему виной?