Подожду пожалуй. С компиляцией прошивки я пока не сталкивался. Только отдельные программы под роутер. Пусть пока работает esfq как отдельный модуль.
А вот с отображением статуса у меня тоже какие-то проблемы.
Вот это я вижу, если скопировать в буфер обмена вывод status скриптом
Как видите - все ок. Я сам был в шоке, когда увидел.Code:nShaper status Пнд Сен 28 23:36:17 SAMST 2009 Ctrl-C to exit -Zones- -Download rate- -Received- -Upload rate- -Sent- bit/s pps Bytes bit/s pps Bytes Total 877k 123 2506M 726k 114 1785M Crit 14.6k 39 32.3M 0 0 55.5k inet 877k 123 2506M 726k 114 1785M Prio 0 0 57.5k 0 0 199k Web 40 0 1.34M 48 0 657k Other 862k 83 2472M 726k 114 1784M Lazy 152 0 390k 0 0 684
А вот в действительности на экране я вижу только
http://keep4u.ru/full/2009/09/28/be6...b2dd2effb7/jpg
На всякий случай вывод всех установленных переменных
Code:[admin@WL500G root]$ set HOME='/usr/local/root' IFS=' ' LANG='ru_RU.UTF-8' LOGNAME='admin' PATH='/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' PPID='3731' PS1='[\u@\h \W]$ ' PS2='> ' PS4='+ ' PWD='/tmp/local/root' SHELL='/bin/sh' TERM='xterm' TERMINFO='/opt/share/terminfo' USER='admin' _='status'
igor77777 GDR
Так, с вашими багами всё понятно, надо курить ман по xterm-256...
(эх, не прогнал тесты в putty, а зря)
На экране "не видно" потому, что тест слился с фоном... ждите обновлений.
Зато я нашёл то, чего мне не хватало - экранный буфер и ... 256 цветов
igor77777
А вот тут я запутался.
Я думал что IMQ находится между ppp0 и br0.
Или там все сложнее?
Ну как так, там даже схема шейпера приведена, всё подписано... и imq тоже... Неужели непонятно?
ABATAPA
Вот только gotox не работает в TERM=xterm (но работает в TERM=linux).
У меня что в xterm, что в linux работает... Но всё равно спасибо, посмотрю альтернативные команды.
Если не секрет - как определили, что не работает? И как ведет себя, например, gotoy?
lly
Ща внесём нестабильность r644 - пришил последние довески от автора esfq
Ок, повторим
Last edited by Nikus; 28-09-2009 at 20:42.
[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];
igor77777
Там ещё и ветка Crit перезжает.
Багу нашёл...
PS. Цвета поправил. Сегодня выложу.
lly
Нареканий нет
Last edited by Nikus; 29-09-2009 at 05:44.
Ммм... Зашел из xterm (Linux - рабочая среда дома и в офисе с 1994), увидел, что текст "слипся". gotoy, к слову, тоже не работает. Да, с разных версий xterm результат чуть разный. Например:
$ xterm -version
X.Org 6.8.99.903(248)
Xterm из KDE 4.* показывает чуть иначе - но схожим образом.
Last edited by ABATAPA; 29-09-2009 at 06:05.
© 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
Nikus, спасибо. Отлично работает скрипт. До этого пробовал разные с этого форума, в т.ч. сам делал, но твой понравился больше всего. Простотой, видимо.
p.s. кстати, есть какие-нибудь работающие решения, по выделению приоритета для траффика Скайпа? Что-то вроде setrule proto skype queue 1 level 7 filtering, так сказать...
Last edited by dimmer; 29-09-2009 at 17:11.
WL-500gPv1, RT-N16. Just routers
Обещал - выкладываю.
Версия 0.4.1 - nshaper-0.4.1.tar.gz - с поддержкой esfq внешним модулем.
В статусе поправлены цвета, сделана авторская сортировка.
Восстанавливается лог терминала при выходе.
Изучил awk, благодаря чему повысилась точность пересчёта.
Надеялся на снижение нагрузки CPU, но чуда не произошло...
Вот так оно должно выглядеть у вас:
Чтобы putty рисовал заголовки жирным шрифтом, нужно в настройках
Window->Colors снять галочку "Bolded text at different color".
Следующая версия выйдет, думаю, не раньше чем новая стабильная прошивка энтузиастов. Подумываю внедрить конфиг-файл и повозиться с интернет-статистикой, может что и выгорит. Если есть пожелания касаемо собственно шейпера (может не хватает какой функциональности) - с удовольствием выслушаю
dimmer
Nikus, спасибо. Отлично работает скрипт. До этого пробовал разные с этого форума, в т.ч. сам делал, но твой понравился больше всего. Простотой, видимо.
Рад слышать
p.s. кстати, есть какие-нибудь работающие решения, по выделению приоритета для траффика Скайпа? Что-то вроде setrule proto skype queue 1 level 7 filtering, так сказать...
Level7 для нашего роутера - уж больно жёстко
Надо полагать, что в skype уже используется qos. Сниффером выловил отличительное поле DiffServ=0xC8, что соответствует коду DSCP=50. Набросал правило для dscp (раньше не попадалось) и вот - вуаля - тестовый звонок пополз в очередь 1. В общем в версии 0.4.1 уже включено, можно ставить-тестировать.
ABATAPA
Посмотрел внимательно мануал, и действительно, в xterm другая команда gotox.
Код поправил. Помогло ли?
Last edited by Nikus; 30-09-2009 at 10:43.
В 4.1 осталась ошибка с подгрузкой модуля.
В строке
insmod $MOD_ESFQ > /dev/null 2>&1
переменная наоборот написана.
С цветами стало все нормально, спасибо.
allion
В 4.1 осталась ошибка с подгрузкой модуля.
В строке
insmod $MOD_ESFQ > /dev/null 2>&1
переменная наоборот написана.
Благодарю. Поправил.
dimmer
Со скайпом я погорячился... Оказалось, это провайдерский шлюз маркирует все пакеты в мой адрес dscp=50. Так что надо подумать...
Last edited by Nikus; 30-09-2009 at 10:42.
© 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
Что-то у меня снова путаница с правилами.
Вот мои правила. Выделил жирным свои.
ssh у меня доступен на 443 портуCode:rules() { # set rules for time-critical queue (both users' and router's traffic) setrule proto icmp prio 10 queue 0 # ICMP setrule port 53 queue 0 # DNS setrule short flag ack queue 0 # TCP ACK setrule short flag syn queue 0 # TCP SYN setrule short flag rst queue 0 # TCP RST # extract users' traffic using destiation ip LAN="$LAN_IP/$LAN_MASK" # set rules for high-priority queue setrule lan ip $LAN afc 4 queue 1 # assured forward GOLD class # (af4x obsoletes TOS=10) setrule lan ip $LAN dscp 50 queue 1 # skype calls setrule lan ip $LAN wan port 554 queue 1 # MMS/RealMedia setrule lan ip $LAN wan port 1755 queue 1 # MMS setrule lan ip $LAN wan port 1935 queue 1 # RTMP/Flash setrule lan ip $LAN wan port 8000 queue 1 # igor Radio 101.ru # set rules for middle-priority queue setrule lan ip $LAN afc 3 queue 2 # assured forward SILVER class # setrule lan ip $LAN wan port 80 queue 2 # HTTP # setrule lan ip $LAN wan port 443 queue 2 # HTTPS setrule lan ip $LAN wan port 5190 queue 2 # AIM # igor internet for proxy on router's setrule wan port 80 queue 2 # HTTP setrule wan port 443 queue 2 # HTTPS # set rules for low-prority queue setrule lan ip $LAN queue 3 # all remaining users' traffic. # only router's traffic remains unfiltered here #setrule lan port 50022 queue 1 # router's SSH #setrule lan port 8081 queue 1 # router's WEB server setrule lan port 443 queue 1 # igor router's SSH setrule lan port 22 queue 1 # igor router's SSH # move all other router's traffic (such as P2P) to lazy queue setrule lan all queue 4 # all other traffic to router }
Подключаюсь к роутеру из интернета и вижу такую картинку:
Т.е. получается, что трафик между роутером и моим компьютером в интернете не попадает в очередь Prio, хотя в соответствии с этими правилами:Code:-Zones- -Download rate- -Received- -Upload rate- -Sent- bit/s pps Bytes bit/s pps Bytes Total 5.46k 6 553k 9.55k 5 799k inet 5.45k 6 553k 9.74k 5 799k Crit 912 2 37.7k 4.50k 4 549k Prio 0 0 0 0 0 0 Web 0 0 131 0 0 0 Other 920 1 72.9k 5.05k 1 250k Lazy 3.70k 3 443k 0 0 0
должен попадать.Code:setrule lan port 443 queue 1 # igor router's SSH setrule lan port 22 queue 1 # igor router's SSH
Может я что-то не так сделал?
PS: 22 порт я добавил для верности, у меня 443 пробрасывается на 22 через prerouting
[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];
ABATAPA
Вы gotoy меняли?
Я от него избавился так как в мануале по xterm не нашёл такой команды (есть gotoxy и относительное сдвигание курсора вверх/вниз, которое у Вас и не работает...). Попробуйте строчку
crlf="${esc}[1E"
заменить на
crlf="\n"
Еще просьба: разделите код и настройки. Каждый раз приходится переносить настройки в новую версию.
Работаем над этим.
И предлагаю добавить трафик SIP (порт 5060) в правило после Skype.
Работоспособность правила проверяли?
Если да, то добавлю в общую версию. (мне проверять не на чем...)
Разобрался.
Я так понял, что важен порядок в котором добавляются правила.
Как только перенес своё правило для ssh в группу правил для первой очереди. Т.е. сделал так:
то, трафик ssh стал попадать в первую очередь.Code:# set rules for high-priority queue setrule lan ip $LAN afc 4 queue 1 # assured forward GOLD class # (af4x obsoletes TOS=10) setrule lan ip $LAN dscp 50 queue 1 # skype calls setrule lan ip $LAN wan port 554 queue 1 # MMS/RealMedia setrule lan ip $LAN wan port 1755 queue 1 # MMS setrule lan ip $LAN wan port 1935 queue 1 # RTMP/Flash setrule lan ip $LAN wan port 8000 queue 1 # igor Radio 101.ru setrule lan port 22 queue 1 # igor router's SSH
Обращаю внимание автора, что в такой последовательности описания правил:
трафик к вашему ssh и web-серверу попадать в первую очередь не будет.Code:# set rules for low-prority queue setrule lan ip $LAN queue 3 # all remaining users' traffic. # only router's traffic remains unfiltered here setrule lan port 50022 queue 1 # router's SSH setrule lan port 8081 queue 1 # router's WEB server
Nikus проверьте пожалуйста и опровергните или подтвердите мой вывод.
[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];
igor77777
Обращаю внимание автора, что в такой последовательности описания правил:
трафик к вашему ssh и web-серверу попадать в первую очередь не будет.Code:# set rules for low-prority queue setrule lan ip $LAN queue 3 # all remaining users' traffic. # only router's traffic remains unfiltered here setrule lan port 50022 queue 1 # router's SSH setrule lan port 8081 queue 1 # router's WEB server
Nikus проверьте пожалуйста и опровергните или подтвердите мой вывод.
Опровергаю
Сейчас зашёл под RDP на один удалённый сервер, а оттуда с помощью putty на ssh своего роутера. Всё фильтруется как задумано
Лучше приведите правила iptables, которыми Вы перебрасываете порт роутера.Code:-Zones- -Download rate- -Received- -Upload rate- -Sent- bit/s pps Bytes bit/s pps Bytes Prio 40 0 6.29k 6.02k 1 723k
ABATAPA
И предлагаю добавить трафик SIP (порт 5060) в правило после Skype.
Я посмотрел, SIP трафик обычно маркируется флагом expedited forward (tos=0x68 или, что то же самое, dscp=26)
Так что SIP трафик можно направить правилом setrule lan ip $LAN dscp 26 queue 1.
Можно форсировать и по номеру порта - setrule lan ip $LAN wan port 5060 queue 1, но я детали протокола SIP не знаю,
потому не могу утверждать, всегда ли используется этот порт.
Если существует такая возможность, не могли бы Вы опробовать оба варианта?
PS. Аналогично для RTSP можно прописать правило setrule lan ip $LAN dscp 46 queue 1.
Last edited by Nikus; 30-09-2009 at 13:24.