[ASUS wl-500gP (v1) 1.9.2.7-rtn-r7438M 128Mb 300MHz 2+2usb] + [2Гб USBFlash] + [USB-HDD] + [xinetd] + [samba3] + [Download Engine] + [rTorrent] + [3proxy] + [nShaper] + [mcabber] + [apcupsd] + [mpd]; Было: [openvpn&udhcpc]; [privoxy] + [polipo];
Из вашего описания проблемы следует, что трафик по приоритетам распределяется, но низко приоритетный трафик режется не так быстро как хотелось бы. Как я понимаю, чем больше вы дадите шейперу места для манёвра (5-10 %%) тем быстрее он будет урезать низкоприоритетный трафик. Тут нужно искать баланс.
Ещё важный момент. У вас 2Мб в обе стороны? Т.е. нужно задавать на 5-10%% меньше и от реальной скорости download'а и 5-10%% от реальной скорости upload'а.
И наконец, торренты вы качаете на одном компе, а серфите на другом? Если и то и другое происходит на одном компе, то у винды была проблема с т.н. полуоткрытыми соединениями. В итого активно качающий торрент-клиент, не давал нормально серфить.
Берете и пишите. За основу можно взять практически любой файл из /opt/etc/initd
Так выглядит мой S30nshaper:
Кроме того, если вы планируете запускать nshaper с разными параметрами на ночь и на день.Code:#!/bin/sh NAME="NShaper" NSHAPER=/opt/etc/nshaper/nshaper - внимание, указать свой путь case "$1" in start) $NSHAPER restart ;; stop) $NSHAPER stop ;; restart) $NSHAPER restart ;; *) echo "Usage: $0 (start|stop|restart)" exit 1 ;; esac exit 0
То нужно добавить соответствующие строчки в crontab.
Ответ на этот вопрос есть в этой теме или в теме про Cron.
[ASUS wl-500gP (v1) 1.9.2.7-rtn-r7438M 128Mb 300MHz 2+2usb] + [2Гб USBFlash] + [USB-HDD] + [xinetd] + [samba3] + [Download Engine] + [rTorrent] + [3proxy] + [nShaper] + [mcabber] + [apcupsd] + [mpd]; Было: [openvpn&udhcpc]; [privoxy] + [polipo];
Спасибо, вечером все опробую.
У меня структура сети вот такая: стоит Wl500v2 (DHCP, PPoE-интернет, прокинут порт 85 на 9091) далее по шифрованному вайфаю присоединяется нетбук, на одном лан порте висит сервер на атоме с убунтой (на ней торрент-качалка в веб интерфейсом и asterisk), ко второму лану присоединён комп с винХР. Веб трафик идёт только с нетбука и компа с виндой, ну и трафик на сервер, когда ставлю на закачку торенты с работы. Разности ночью и днём в скорости нет.
В результате замеров на спидтесте показывает 2Мб скачка, отдача 2,5. ( ПО тарифу должно 2 туда и 2 обратно). В файле прописано 1900 и 1900.
Asus Wl500gp v2 -прошивка олега 1.9.2.7-d-r2381 + ADSL Acorp LAn 422+ Drembox m500 + 4 wifi users + 4 lan users
2 platinum19
Заходи через winscp по scp протоколу.
Либо если есть "Скрипт установки для чайников" тогда заходи под mc.
Я делал так.
1) Скачал скрипт на комп.
2) Сначала отредактировал этот скрипт в убунте в редакторе, так как в WordPad или блокнот вносит какие дополнительные символы в скрипт и он потом не работает.
3) Закачал скрипт на флешку
4) Вставил эту флешку в WL500 (Он её сам смотировал как жесткий диск)
5) Создал папку /usr/local/etc/nshaper
6) Скачал с флешки в эту папку скрипт и запустил его.
Народ, помогите прояснить ситуацию, при запуске nShaper'a появляеться ошибки:
Ранее уже говорилось, что подобных ошибок быть не должно. С чем могут быть связаны данные ошибки и как могут повлиять на работу девайся?Code:(info|kern|kernel) IMQ starting with 2 devices... (info|kern|kernel) IMQ driver loaded successfully. (info|kern|kernel) \011Hooking IMQ after NAT on PREROUTING. (info|kern|kernel) \011Hooking IMQ before NAT on POSTROUTING. (warning|kern|kernel) HTB: quantum of class 10001 is big. Consider r2q change. (warning|kern|kernel) HTB: quantum of class 10021 is big. Consider r2q change. (warning|kern|kernel) HTB: quantum of class 20001 is big. Consider r2q change. (warning|kern|kernel) HTB: quantum of class 20021 is big. Consider r2q change.
Netgear WNR3500L 1.9.2.7-rtn-r2507M(Vampik)
nShaper v0.4.4.2 from 27-DEC-2010
Канал симетричный 2 мегабита(FTTB, локалка 100 Мб, l2tp). WAN_ZONES_DN_RATE ставлю на 15% меньше.
Netgear WNR3500L V1 @532Mhz:3.0.6-r5110M
[Ext. USB HDD Box+WD 200Gb SATA]
[Lighttpd]+[vnstat]+[rrd]+[rTorrent]+[syslog-ng]+[mc]+[Tiny Tiny RSS]+[Accel-ppp]...
Не подскажите где можно найти бинарник conntrack для роутера?
Для 3жо интернета grep /proc/net/ip_conntrack у меня хорошо работает. Отлавливает начало разговора sip-телефонии и блокирует остальной трафик до окончания разговора. Понимаю что постоянно грепать плохая идея. Может кто уже собрал toolchain для роутера и может поделится бинарником. Или какие ещё варианты?
Last edited by technic93; 28-01-2011 at 21:29.
Добрый день.
Пытаюсь на WL500gp (прошивка 1.9.2.7-d-r2381) сделать с помощью iproute2 шейпер+QOS. Вроди бы все получается, но возникла одна проблема от которой никак не могу избавиться.
Нужно: сделать так, чтобы канал в 3mbit/s делился поровну на 3-х пользователей и при этом канал отдельно взятого пользователя делился на приоритетный трафик(http, icmp, online-игры и т.п. - 50% канала) и другой (например, торренты - 50% канала).
Что делаю:
1)Создаю корневой класс 1:1 c rate 100mbit.
2)Создаю дочерние классы (корневого класса) 1:2 rate 3mbit (интернет-трафик) и 1:3 rate 100mbit (не интернет-трафик).
3)Создаю дочерние классы (класса 1:2) 1:11, 1:12, 1:13 rate 1mbit ceil 3mbit (наши пользователи);
4)Создаю дочерние классы (классов 1:11, 1:12, 1:13) 1:111, 1:112, 1:121, 1:122, 1:131, 1:132 rate 0.5mbit ceil 3mbit (2 разных вида трафика для каждого пользователя).
5)Создаю очереди для краевых классов.
6)Классифицирую трафик с помощью iptables.
shaper.sh
iptables.sh (вырезано все лишнее)Code:#!/bin/sh tc qdisc del dev br0 root > /dev/null 2>&1 & tc qdisc add dev br0 root handle 1: htb default 3 tc class add dev br0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit tc class add dev br0 parent 1:1 classid 1:2 htb rate 3mbit ceil 3mbit tc class add dev br0 parent 1:1 classid 1:3 htb rate 100mbit ceil 100mbit tc class add dev br0 parent 1:2 classid 1:11 htb rate 1mbit ceil 3mbit tc class add dev br0 parent 1:2 classid 1:12 htb rate 1mbit ceil 3mbit tc class add dev br0 parent 1:2 classid 1:13 htb rate 1mbit ceil 3mbit tc class add dev br0 parent 1:11 classid 1:111 htb rate 0.5mbit ceil 3mbit tc class add dev br0 parent 1:11 classid 1:112 htb rate 0.5mbit ceil 3mbit tc class add dev br0 parent 1:12 classid 1:121 htb rate 0.5mbit ceil 3mbit tc class add dev br0 parent 1:12 classid 1:122 htb rate 0.5mbit ceil 3mbit tc class add dev br0 parent 1:13 classid 1:131 htb rate 0.5mbit ceil 3mbit tc class add dev br0 parent 1:13 classid 1:131 htb rate 0.5mbit ceil 3mbit tc qdisc add dev br0 parent 1:111 handle 2: pfifo limit 50 tc qdisc add dev br0 parent 1:112 handle 3: pfifo limit 50 tc qdisc add dev br0 parent 1:121 handle 4: pfifo limit 50 tc qdisc add dev br0 parent 1:122 handle 5: pfifo limit 50 tc qdisc add dev br0 parent 1:131 handle 6: pfifo limit 50 tc qdisc add dev br0 parent 1:132 handle 7: pfifo limit 50 tc qdisc add dev br0 parent 1:3 handle 8: sfq perturb 10
Итог:Code:#!/bin/sh IPT="/usr/sbin/iptables" LANIP="192.168.20.1" $IPT -t mangle -A POSTROUTING -j CLASSIFY --set-class 1:3 $IPT -t mangle -N user5d $IPT -t mangle -N user8d $IPT -t mangle -N user119d $IPT -t mangle -A POSTROUTING -d 192.168.20.5 -j user5d $IPT -t mangle -A POSTROUTING -d 192.168.20.8 -j user8d $IPT -t mangle -A POSTROUTING -d 192.168.20.119 -j user119d #############################################IP_5################################################ $IPT -t mangle -A user5d -s ! $LANIP -j CLASSIFY --set-class 1:112 $IPT -t mangle -A user5d -s ! $LANIP -p tcp -m multiport --sport 80,443 -j CLASSIFY --set-class 1:111 $IPT -t mangle -A user5d -s ! $LANIP -p tcp -m multiport --sport 27015:27025 -j CLASSIFY --set-class 1:111 $IPT -t mangle -A user5d -s ! $LANIP -p udp -m multiport --sport 27015:27025 -j CLASSIFY --set-class 1:111 $IPT -t mangle -A user5d -s ! $LANIP -p icmp -j CLASSIFY --set-class 1:111 ############################################################################################ #############################################IP_8################################################ $IPT -t mangle -A user8d -s ! $LANIP -j CLASSIFY --set-class 1:122 $IPT -t mangle -A user8d -s ! $LANIP -p tcp -m multiport --sport 80,443 -j CLASSIFY --set-class 1:121 $IPT -t mangle -A user8d -s ! $LANIP -p tcp -m multiport --sport 27015:27025 -j CLASSIFY --set-class 1:121 $IPT -t mangle -A user8d -s ! $LANIP -p udp -m multiport --sport 27015:27025 -j CLASSIFY --set-class 1:121 $IPT -t mangle -A user8d -s ! $LANIP -p icmp -j CLASSIFY --set-class 1:121 ############################################################################################ #############################################IP_119################################################ $IPT -t mangle -A user119d -s ! $LANIP -j CLASSIFY --set-class 1:132 $IPT -t mangle -A user119d -s ! $LANIP -p tcp -m multiport --sport 80,443 -j CLASSIFY --set-class 1:131 $IPT -t mangle -A user119d -s ! $LANIP -p tcp -m multiport --sport 27015:27025 -j CLASSIFY --set-class 1:131 $IPT -t mangle -A user119d -s ! $LANIP -p udp -m multiport --sport 27015:27025 -j CLASSIFY --set-class 1:131 $IPT -t mangle -A user119d -s ! $LANIP -p icmp -j CLASSIFY --set-class 1:131 ############################################################################################
+ При скачивании на 3-x компьютерах торрентов скорость делится равномерно (по 1mbit всем).
+ При скачивании на 3-x компьютерах торрентов и на 1-м компьютере файла по http скорость делится равномерно (0.5mbit+0.5mbit/1mbit/1mbit).
+ При скачивании на 2-x компьютерах торрентов (допустим 3-й выключен) скорость делится равномерно (по 1.5mbit всем)
+ При скачивании на 1-м компьютере (включен только 1 компьютер) файла по http и торрентов одновременно скорость делится равномерно (1.5mbit+1.5mbit).
НО!
- При скачивании на 2-x компьютерах торрентов (допустим 3-й выключен) и на 1-м компьютере файла по http скорость по-идее должна делиться так 0.75mbit+0.75mbit/1.5mbit (в моем понимании). Но почему-то трафик http на 1-м компьютере начинает жить своей жизнью и претендует на неиспользуемый трафик 3-им компьютером. Т.е. получается что-то вроди 1mbit+1mbit/1mbit 0.o
Вопрос: что я делаю не так?
Может кто-нибудь сталкивался с подобным? Или хотя бы подкиньте ссылки на примеры с подобной иерархией HTB.
Заранее спасибо.
UDP. Пробовал использовать "prio", но все-равно http-трафик (с наименьшим значением prio) забирает канал, который ему не предназначен.
Last edited by Symo; 30-01-2011 at 16:00.
Теперь нужно еще поддержку IPv6...
© 2008-2013 ABATAPA WL-500gP/128M / Asus RT-N16 / USB Flash / VLAN / PPPoE / VoIP / nShaper / NAS: iStor is607, Sarotech NAS-20, QNap 109 Pro / NFS / Принтер / etc
Здравствуйте.
Как можно заставить работать планировщик HFSС (вместо HTB) на прошивке от энтузиастов?
Модуль подргужен:
Интерфейс imq0 включен:Code:[root@R3_SYMO symo]$ lsmod Tainted: P ipt_layer7 11016 0 (unused) sch_hfsc 16168 0 (unused) imq 3072 2 ipt_IMQ 824 2 ipt_CLASSIFY 872 58 ipt_multiport 984 6 usb-storage 63112 2 sd_mod 12900 4 scsi_mod 72736 2 [usb-storage sd_mod] videodev 8752 0 printer 12500 0 ehci-hcd 28740 0 (unused) usb-uhci 27412 0 (unused) usbcore 78872 1 [usb-storage printer ehci-hcd usb-uhci] ip_nat_ftp 3072 0 (unused) ip_conntrack_ftp 4472 1 wl 897336 0 (unused) et 29088 0 (unused) igs 14436 0 (unused) emf 18576 0 [igs]
Но tc делает вид, что не знает планировщика hfscCode:[root@R3_SYMO symo]$ ifconfig imq0 imq0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 UP RUNNING NOARP MTU:1500 Metric:1 RX packets:112926366 errors:0 dropped:0 overruns:0 frame:0 TX packets:111044235 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:30 RX bytes:1958841463 (1868.0 Mb) TX bytes:4092354716 (3902.7 Mb)
Code:[root@R3_SYMO symo]$ cat qqq.sh #!/bin/sh IFACE="imq0" tc qdisc del dev $IFACE root > /dev/null 2>&1 & tc qdisc add dev $IFACE root handle 1: hfsc default 10 tc class add dev $IFACE parent 1: classid 1:1 hfsc sc rate 1000kbit ul rate 1000kbit tc class add dev $IFACE parent 1:1 classid 1:10 hfsc ls rate 750kbit ul rate 1000kbit tc class add dev $IFACE parent 1:1 classid 1:20 hfsc ls rate 250kbit ul rate 1000kbitМожет необходимы еще какие-нибудь модули? Спасибо.Code:[root@R3_SYMO symo]$ ./qqq.sh Unknown qdisc "hfsc", hence option "default" is unparsable Error: Qdisc "hfsc" is classless. Error: Qdisc "hfsc" is classless. Error: Qdisc "hfsc" is classless.
Last edited by Symo; 08-02-2011 at 09:32.
Пересобрать tc с включённым модулем q_hfsc (см. gateway/iproute2/tc/Makefile).
Если мы говорим про ядро 2.4, то модуль выключен по банальной причине - прошивка не помещалась в 4Mb. В ветке 2.6 можно включить, если это действительно кому-то необходимо.
P.S. Но можно было и погуглить текст Unknown qdisc "hfsc"
Не могу заставить стартовать. Создал файл как рекомендовали и вписал
#!/bin/sh
NAME="NShaper"
NSHAPER=/opt/etc/nshaper/nshaper
case "$1" in
start)
$NSHAPER restart
;;
stop)
$NSHAPER stop
;;
restart)
$NSHAPER restart
;;
*)
echo "Usage: $0 (start|stop|restart)"
exit 1
;;
esac
exit 0
Но все равно не стартует.
Причину нашел. Не стартуют и другие скрипты из папки init.d Как можно исправить?
UP. Вопрос снят. Помог пост http://wl500g.info/showpost.php?p=128992&postcount=4
Last edited by as_lan; 18-02-2011 at 11:56.