Имею в наличии следующее 1) подключение ADSL на скорости 256/128 2) небольшую домашнюю сеть на 4 комп. 3) шлюз на Ленни, чтобы компы в инет бегали.
модем настроен в режиме бриджа. на шлюзе с помощью PPPoE поднято интерфейс ppp0, все это бегает через eth0 и более туде ничего не подключено. Интефейс wlan0 смотрит в домашнюю сеть (WiFi, здесь все работает). настроен маскарадинг, интернет есть на всех компах. также на один комп во внутренней сети DNAT'ом проброшен TCP-порт для торрет-клиента. торрен также работает и на прием и напередачу. Но тут возникает проблема: как только запускаю его (Торрент) все остальное умирает. даже пинги не все идут. правда nload на шлюзе показывает среднюю загрузку на ppp0 ~ 240kbit на прием и ~ 110 на передачу. начитавшись LARTC попытался сделать следующее сам шейпер -------------------------------------------------------------------------------------------------------------------------------------------------------------- #! / BIN / Bash DOWNLINK = 210 UPLINK = 110 tc qdisc del dev $PPP_IFACE root 2> /dev/null> /dev /null tc qdisc del dev $PPP_IFACE ingress 2> /dev/null> /dev/null tc qdisc add dev $PPP_IFACE root handle 1: htb default 20 tc class add dev $PPP_IFACE parent 1: classid 1:1 htb rate $(UPLINK) kbit burst 50b # ceil $ (UPLINK) Kbit tc class add dev $PPP_IFACE parent 1:1 classid 1:10 htb rate $(UPLINK) kbit burst 50b prio 1 # ceil $(UPLINK) kbit prio 1 # tc class add dev $PPP_IFACE parent 1:1 classid 1:15 htb rate $ [3 * $UPLINK/10] kbit ceil $(UPLINK) Kbit \ # Burst 100b prio 2 tc class add dev $PPP_IFACE parent 1:1 classid 1:20 htb rate 1kbit ceil $(UPLINK) kbit burst 50b prio 3 tc qdisc add dev $PPP_IFACE parent 1:10 Handle 10: sfq perturb 10 # tc qdisc add dev $PPP_IFACE parent 1:15 Handle 15: sfq perturb 10 tc qdisc add dev $PPP_IFACE parent 1:20 Handle 20: sfq perturb 10 tc filter add dev $PPP_IFACE parent 1:0 protocol ip prio 1 handle 0x10 fw flowid 1:10 tc filter add dev $PPP_IFACE parent 1:0 protocol ip prio 2 handle 0x15 fw flowid 1:10 tc qdisc add dev $PPP_IFACE handle ffff: ingress tc filter add dev $PPP_IFACE parent ffff: protocol ip prio 50 u32 match ip src \ 0.0.0.0 / 0 police rate $(DOWNLINK) kbit burst 10k drop flowid: 1 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- положено в /etc/ppp/ip-up.d/shaper и вистовлено права 755 маркирую пакеты следующим образом iptables -t magle -A POSTROUTING -o ppp0 -p icmp -j MARK - Set-mark 0x10 iptables -t magle -A POSTROUTING -o ppp0 -p icmp -j RETURN iptables -t magle -A POSTROUTING -o ppp0 -p tcp -m tcp --tcp-flags SYN, RST, ACK SYN -j MARK --set-mark 0x10 iptables -t magle -A POSTROUTING -o ppp0 -p tcp -m tcp --tcp-flags SYN, RST, ACK SYN -j RETURN iptables -t magle -A POSTROUTING -o ppp0 -p udp -m udp --dport 53 -j MARK --set-mark 0x10 iptables -t magle -A POSTROUTING -o ppp0 -p udp -m udp --dport 53 -j RETURN iptables -t magle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 80 -j MARK --set-mark 0x15 iptables -t magle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 80 -j RETURN iptables -t magle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 143 -j MARK --set-mark 0x15 iptables -t magle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 143 -j RETURN iptables -t magle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 22-j MARK --set-mark 0x15 iptables -t magle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 22 -j RETURN iptables -t magle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 5222 -j MARK --set-mark 0x15 iptables -t magle -A POSTROUTING -o ppp0 -p tcp -m tcp --dport 5222 -j RETURN после того как все это запущенное у торрента падает закачка раз этак в десять, nload показывает скорость загрузки ppp0 ~ 25kbit, отдача остается месте на уровне ~ 110kbit. все, что попадает в класс 1:10 начинает бегать, даже когда закачиваю файлы с веба то nload показывает скорость загрузки ppp0 240/110kbit. все, что попадает в 1:20 - приема почти нет, но передается в общем то без проблем. Я вот этого не понимаю. Все что я делал касается только исходящего трафика, почему же тогда нет входного когда исходящий трафик идет через класс 1:20? я пробовал определить в какой момент оно умирает - после создания класса 1:20 т.е. tc qdisc add dev ppp0 root handle 1: .... # Работает tc class add dev ppp0 parent 1: classid 1:1 ..... # Работает tc class add dev ppp0 parent 1:1 classid 1:10 ...... # Работает tc class add dev ppp0 parent 1:1 classid 1:20 ....... # После этого умирает. если сделать tc class del dev ppp0 classid 1: 20 вновь начинает работать. что ему можно сделать чтоб оно грузило канал ну хотя бы на 90% в оба стороны и при этом была бы еще и возможна интерактивная работа? PS: я пробовал разделить трафик по трем классам - все что менее важно (то, что маркировано 0х15) пустить в класс 1:15 - не помогло. PPS: проверил все еще на одном шлюзе, там WIMAX, скорость 512/512 - кортинка аналогичная, все работает хороше - торрен принимиет очень мало. PPPS: попробовал весь низкоприоритетный трафик не пускать в клас 1:20 по умолчанию а смаркировал его и отправил в специально созданны клас 1:19 - картина не изменилась. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

