Page 22 of 56 FirstFirst ... 12202122232432 ... LastLast
Results 316 to 330 of 830

Thread: [QoS] Установка и настройка nShaper

  1. #316
    Добрый день ...

    Помогите пожалуйста
    Добавление к классу HTB подкласса приводит к "RTNETLINK answers: Invalid argument"

    Code:
    tc qdisc add dev br0 root handle 1: htb default 12
    
    tc class add dev br0 parent 1: classid 1:1 htb rate 100mbps
    
    tc class add dev br0 parent 1:1 classid 1:10 htb rate 50mbps
    tc class add dev br0 parent 1:1 classid 1:11 htb rate 30mbps
    tc class add dev br0 parent 1:1 classid 1:12 htb rate 5mbps
    
    tc qdisc add dev br0 parent 1:10 handle 10: sfq perturb 10
    tc qdisc add dev br0 parent 1:11 handle 11: sfq perturb 10
    tc qdisc add dev br0 parent 1:12 handle 12: sfq perturb 10
    
    tc class add dev br0 parent 12: classid 12:100 htb rate 5kbps
    
    tc qdisc add dev br0 parent 12:100 handle 100: sfq perturb 10
    так вот после добавления подласса к 12:

    Code:
    tc class add dev br0 parent 12: classid 12:100 htb rate 5kbps
    RTNETLINK answers: Invalid argument
    Вроде как здесь что то есть ... но ответы ведут на не существующие ссылки (((
    WL500W, 300MHz, 128MB, USB 1.8 HDD 20GB, 1.9.2.7-d, ADOS, rTorrent, OpenVPN, POPTOP, Squid, TwonkyMedia, Palantir, XMail, lighttpd, PHP, mysql, vnstat ...

  2. #317
    Quote Originally Posted by slashi View Post
    подскажите, естьли возможность в правило setrule добавлять не 1 порт, а диапазон портов? (в частности нужно добавить диапазон для приоретизации протокола RTP для SIP, использующего UDP).

    если такой опции сейчас нет - можно ли реализовать в новой версии?
    Внес в версию 0.4.2 небольшие изменения, позволяющие указывать диапазон портов. Писал по памяти (рабочая версия дома, если допустил ошибку исправлю). Версия черновая, специально для вас Так же добавил пример использования.

    Обращаюсь к автору скрипта. Спасибо! Работает отлично! Добавьте, пожалуйста, возможность указывать диапазон портов в официальную версию. Конечно, это можно сделать не так тапорно как это сделал я. Так, чтобы можно было указать диапазон в человекочитаемом формате: 21760:22015.
    Attached Files Attached Files
    Last edited by bva; 27-11-2009 at 16:17.

  3. #318
    Здравствуйте!

    Благодарю всех за отзывы, очень рад что мой труд получил столь высокую оценку Вдвойне рад, что нашлись последователи, которые смогли разобраться в скрипте и добавить нужную им функциональность, это очень здорово!

    Я буду только рад, если скрипт будет развиваться и дальше без моего участия. Пара просьб: давайте новым версиям новые номера, чтобы пользователи не путались, хорошо комментируйте свой код, и по возможности документируйте историю версий в сопроводительном текстовом файле.

    Считаю, что мавр сделал своё дело
    Желаю всем успехов!

  4. #319
    Quote Originally Posted by Nikus View Post
    Считаю, что мавр сделал своё дело
    Желаю всем успехов!
    Куда это Вы за собрались? Считаю что у проекта должен быть руководитель. Должен же кто-то следить за порядком. А то тут напишут писатели...

    З.Ы.: Возможность добавлять диапазон портов я таки доведу до ума в ближайшее время и выложу.

  5. #320
    Join Date
    Sep 2009
    Location
    Подольск
    Posts
    150
    Здравствуйте!
    Прошу помощи у разбирающихся товарищей.
    Прочитал всю тему, но подобной ситуации не нашел.
    Проблема состоит в следующем:
    Провайдер предоставляет мне радиоканал (только интернет) 2 Мбит/сек HalfDuplex.
    Вся проблема заключается в том, что 2 Мбит - это общая пропускная способность (DownLoad+UpLoad).
    Причем пропускная способность канала динамически меняется - при увеличении download снижается upload и наоборот.
    По проведенным тестам скорости я получил следующие результаты:
    DownLoad (при отсутствии UpLoad) = 2000 КБит/сек.
    UpLoad (при отсутствии DownLoad) = 1700 Кбит/ceк.
    DownLoad +UpLoad одновременно = 850/750 Кбит/сек.

    Настройки следующие:
    Code:
     
      WAN_DN_RATE=850
      WAN_UP_RATE=750
      WAN_ZONES="inet"
      WAN_ZONES_DN_RATE="800"
      WAN_ZONES_UP_RATE="700"
    Как ни настраиваю шейпер, приоритезация не работает.
    Более низкоприоритетный трафик забивает высокоприоритетный.
    Пробовал уменьшить параметр burst=25k (318 строка скрипта) до
    burst=15k (Чтобы уменьшить количество "прорвавшихся" пакетов). Не помогает.
    Пробовал уменьшить параметр ceil $((9*rate/10)) до ceil $((7*rate/10)) (344 строка скрипта). Помогает, но сильно сокращается утилизация канала.
    Подскажите, как настроить шейпер таким образом, чтобы использовать всю пропускную способность канала (2 Мбит) и при этом обеспечить приоритезацию трафика.

    PS:
    Сори что так "многа букаф"

    Hardware:
    RT-N16 1.9.2.7-rtn-r2775 | 2Gb USBFlash
    WL-500gPV1 1.9.2.7-d-r1825 | 299Mhz | 128Mb | Console port | 4 USB 2.0 port | 2Gb USBFlash (резерв)
    Link's:
    WAN: Radio 60 Mbit/sec HalfDuplex (Static IP) || LAN: Wi-Fi + LAN
    Software:
    nShaper | lighgttpd + php-fcgi | vnStat | RRD | syslog-ng | MC | ...

  6. #321
    SerGri, подозреваю, что решение есть
    Самым простым шагом будет объединение входного и выходного потоков в одном IMQ устройстве, для чего скрипт нужно поправить следующим образом:

    Code:
    clear_cfg() {
      <...>
      iptables -t mangle -D POSTROUTING -o $WAN_IF -j IMQ --todev 0 >/dev/null 2>&1
      <...>
    }
    
    <...>
    
    start() {
      <...>
      setrule() {
        <...>
        # setup rule
          tc filter add dev imq0 protocol ip parent 1:0 prio $str_p u32 \
              $str_m flowid 1:${CLSID_INET}${str_q}
          tc filter add dev imq0 protocol ip parent 1:0 prio $str_p u32 \
              $str_r flowid 1:${CLSID_INET}${str_q}
         #  if test $flag_both <...>
         #  tc filter add dev imq0<...>
         #  tc filter add dev imq1<...>
         #  fi
      }
      <...>
     
            while read ADDR B; do
                  <...>
                  tc filter add dev imq0 protocol ip parent 1:0 prio 1 u32 \
                    match ip src `toprefixmask $ADDR` \
                    flowid 1:2${i}
                  tc filter add dev imq0 protocol ip parent 1:0 prio 1 u32 \
                    match ip dst `toprefixmask $ADDR` \
                    flowid 1:2${i}
                  <...>
            done < $fname
      <...>
      iptables -t mangle -A POSTROUTING -o $WAN_IF -j IMQ --todev 0
    }
    Правда, статистика будет выводиться общая, в секции download. И, соответственно, настройки задавать тоже надо будет через одну эту секцию.
    Last edited by Nikus; 06-12-2009 at 07:21.

  7. #322
    Join Date
    Sep 2009
    Location
    Подольск
    Posts
    150
    Уважаемый Nikus!
    Сделал предложенные Вами изменения в скрипте.
    Работать все стало странно...
    при рестарте:
    Code:
    $ nshaper restart
    Setup shapers
    Setup zones
    Applying rules
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    RTNETLINK answers: Invalid argument
    nShaper restarted.
    И пока что, по начальному наблюдению, более низкоприоритетный трафик забивает по прежнему более высокоприоритерный.
    (Проще говоря, качалка файлов передавливает интернет-радио. )

    PS: Статистика теперь действительно только в секции "DownLoad".
    Last edited by SerGri; 06-12-2009 at 01:44.

    Hardware:
    RT-N16 1.9.2.7-rtn-r2775 | 2Gb USBFlash
    WL-500gPV1 1.9.2.7-d-r1825 | 299Mhz | 128Mb | Console port | 4 USB 2.0 port | 2Gb USBFlash (резерв)
    Link's:
    WAN: Radio 60 Mbit/sec HalfDuplex (Static IP) || LAN: Wi-Fi + LAN
    Software:
    nShaper | lighgttpd + php-fcgi | vnStat | RRD | syslog-ng | MC | ...

  8. #323
    Ошибки в своём посте исправил попробуйте ещё раз.

    Если низкоприоритетный трафик забивает высокоприоритетный - то это может быть признаком того, что провайдер не обеспечивает скорость, указанную в настройках скрипта. Для правильной работы приоретизации трафика в htb необходимо, чтобы реальная скорость в зоне превышала ту, что указывается в WAN_ZONES_xx_RATE. Проверьте скорости speedtest'ом (лучше несколько раз в течение суток), и укажите в настройках скрипта скорость на 5-10% меньшую, чем покажет тест.

    ЗЫ. Так как вносится изменения в правила iptables, скрипт необходимо остановить командой stop, отредактировать, и потом запустить командой start. В противном случае (при редактировании и перезапуске командой restart) в таблицах iptables останутся старые записи, которые могут нарушить работу скрипта! Удалить их можно командой iptables -t mangle -F, после чего следует (пере)запустить скрипт.
    Last edited by Nikus; 06-12-2009 at 07:43.

  9. #324
    Join Date
    Sep 2009
    Location
    Подольск
    Posts
    150

    Поправил скрипт во 2 варианте. ;)

    Уважаемый Nikus
    Quote Originally Posted by Nikus View Post
    Ошибки в своём посте исправил попробуйте ещё раз.
    Пропробовал. При запуске данного варианта ошибок уже не возникает:
    Code:
    $ nshaper restart
    Setup shapers
    Setup zones
    Applying rules
    nShaper restarted.
    Большое спасибо!
    Если низкоприоритетный трафик забивает высокоприоритетный - то это может быть признаком того, что провайдер не обеспечивает скорость, указанную в настройках скрипта. Для правильной работы приоретизации трафика в htb необходимо, чтобы реальная скорость в зоне превышала ту, что указывается в WAN_ZONES_xx_RATE. Проверьте скорости speedtest'ом (лучше несколько раз в течение суток), и укажите в настройках скрипта скорость на 5-10% меньшую, чем покажет тест.
    Так и сделал.
    Результаты, показанные SpeedTest-ом не отличались от высталенных ранее мною настроек, но при данных настройках все равно приоритезация работала не правильно.
    Тогда я пошел по другому пути - стал постепенно занижать (с шагом в 50 Кбит/сек) скорость DownLoad (не трогая настройки скорости UpLoad).
    Нашел оптимальные, при которых радио не "затыкается". Однако, суммарная скорость Up+Down получилась больше ширины канала... Странно мне это.
    В результате пришел к таким результатам:
    Code:
      
      WAN_DN_RATE=900
      WAN_UP_RATE=1600
      WAN_ZONES="inet"
      WAN_ZONES_DN_RATE="850"
      WAN_ZONES_UP_RATE="1500"
    При зарезании скорости DownLoad менее 400 Кбит/сек канал просто дохнет весь, и ограничение уствновленное в WAN_ZONES_DN_RATE действует и на Upload ...
    Всвязи с этим, теперь вопрос возник: - Параметры WAN_ZONES_DN_RATE, WAN_ZONES_UP_RATE по прежнему отвечают за Down и Upload соответственно или там теперь просто считается суммарный трафик, или теперь ограничение по DownLoad?

    ЗЫ. Так как вносится изменения в правила iptables, скрипт необходимо остановить командой stop, отредактировать, и потом запустить командой start. В противном случае (при редактировании и перезапуске командой restart) в таблицах iptables останутся старые записи, которые могут нарушить работу скрипта! Удалить их можно командой iptables -t mangle -F, после чего следует (пере)запустить скрипт.
    А я то никак не мог понять, почему возникла такая "Бешенная утечка памяти..."
    Также большое спасибо!
    Сейчас пока что все функционирует пока что нормально.
    Last edited by SerGri; 06-12-2009 at 20:55. Reason: Иправил очерпятки :)

    Hardware:
    RT-N16 1.9.2.7-rtn-r2775 | 2Gb USBFlash
    WL-500gPV1 1.9.2.7-d-r1825 | 299Mhz | 128Mb | Console port | 4 USB 2.0 port | 2Gb USBFlash (резерв)
    Link's:
    WAN: Radio 60 Mbit/sec HalfDuplex (Static IP) || LAN: Wi-Fi + LAN
    Software:
    nShaper | lighgttpd + php-fcgi | vnStat | RRD | syslog-ng | MC | ...

  10. #325
    Quote Originally Posted by SerGri View Post
    В результате пришел к таким результатам:
    Code:
      
      WAN_DN_RATE=900
      WAN_UP_RATE=1600
      WAN_ZONES="inet"
      WAN_ZONES_DN_RATE="850"
      WAN_ZONES_UP_RATE="1500"
    Наверное, Вы не совсем внимательно изучили тему, вот тут раскрывалась суть параметров WAN_xx_RATE и WAN_ZONES_xx_RATE.

    Думаю, настройка должна быть следующей:
    Code:
      
      WAN_DN_RATE=2048
      WAN_UP_RATE=2000
      WAN_ZONES="inet"
      WAN_ZONES_DN_RATE="1850" # download + upload <= 1850
      WAN_ZONES_UP_RATE="1850" # не используется в патченном скрипте!
    Quote Originally Posted by SerGri View Post
    Всвязи с этим, теперь вопрос возник: - Параметры WAN_ZONES_DN_RATE, WAN_ZONES_UP_RATE по прежнему отвечают за Down и Upload соответственно или там теперь просто считается суммарный трафик, или теперь ограничение по DownLoad?
    В патченном скрипте учитывается строго суммарный трафик, настраивается только в ветке download. Все настройки для ветки upload игнорируются. То же и со статистикой. Пробуйте дальше, по Вашей методике, найти оптимальное значение WAN_ZONES_DN_RATE. Остальные параметры трогать не нужно.

  11. #326

    Привет всем!

    У меня вопрос по скоростям в скрипте nshaper. У меня провайдер - билайн, предоставляет сетку 100 мбит с локальными ресурсами и инет 10 мбит. Какую скорость я должен вписать в параметр WAN_DN_RATE/WAN_UP_RATE? Физическую скорость интерфейса(1000000)? Или максимальную скорость инета по тарифу(10445), а потом дописывать в WAN_ZONES_DN_RATE/WAN_ZONES_UP_RATE зоны со скоростью локального пиринга и интернета?
    Спасибо за ответ!

  12. #327
    Quote Originally Posted by DarthSemafor View Post
    У меня вопрос по скоростям в скрипте nshaper. У меня провайдер - билайн, предоставляет сетку 100 мбит с локальными ресурсами и инет 10 мбит. Какую скорость я должен вписать в параметр WAN_DN_RATE/WAN_UP_RATE? Физическую скорость интерфейса(1000000)? Или максимальную скорость инета по тарифу(10445), а потом дописывать в WAN_ZONES_DN_RATE/WAN_ZONES_UP_RATE зоны со скоростью локального пиринга и интернета?
    Спасибо за ответ!
    Навскидку:
    PHP Code:
    WAN_IF=vlan1
    WAN_DN_RATE
    =100000   # указываем скорость порта, не меньше
    WAN_UP_RATE=100000   # указываем скорость порта, не больше

    WAN_ZONES="inet local"
    WAN_ZONES_DN_RATE="10000 99000"   # резервируем 445кбод инета
    WAN_ZONES_UP_RATE="10000 99000"   # и 1000кбод локального трафика 
    Резервы нужны чтоб приоритетный трафик мог свободно наращивать скорость до номинальных значений. Более подробно - в теме, в частности, по ссылке в моём предыдущем сообщении.

    Реально роутер не сможет прокачать все 100МБит в силу железных ограничений, и тогда локальный трафик может начать забивать высокоприоритетный интернетовский. В этом случае рекомендуется замерить реальную долговременную скорость до локальных ресурсов, и установить вместо 99000 измеренную скорость за вычетом 5-7% на резерв.
    Last edited by Nikus; 06-12-2009 at 22:13.

  13. #328
    Join Date
    Sep 2009
    Location
    Подольск
    Posts
    150
    Quote Originally Posted by Nikus View Post
    Наверное, Вы не совсем внимательно изучили тему, вот тут раскрывалась суть параметров WAN_xx_RATE и WAN_ZONES_xx_RATE.
    Вы абсолютно правы. Это сообщение я упустил из виду, так как там говорилось про модем, а у меня радиовынос из магистрали - фишку не просек...
    В патченном скрипте учитывается строго суммарный трафик, настраивается только в ветке download. Все настройки для ветки upload игнорируются. То же и со статистикой. Пробуйте дальше, по Вашей методике, найти оптимальное значение WAN_ZONES_DN_RATE. Остальные параметры трогать не нужно.
    Большое спасибо за разъяснения.
    На данный момент пришел я к следующим настройкам:
    Code:
      
    WAN_DN_RATE=2048
    WAN_UP_RATE=2000
    WAN_ZONES="inet"
    WAN_ZONES_DN_RATE="1300" # download + upload <= 1850
    WAN_ZONES_UP_RATE="1850" # не используется в патченном скрипте!
    При таких настройках приоритезация работает идеально, однако, я теряю примерно 250 Кбит/сек на UpLoad, или 600 Кбит/сек на DownLoad.
    Лучше все-рано не получается.
    Скорее всего при одновременной (Up+Down) загрузке канала линк сильно проседает по скорости.
    Спасибо за помощь ещё раз.
    PS:
    При отключенном шейпере на данный момент (практически идеальные условия - ночь, никто не мешает ) скорость при одновременной загруке канала:
    DownLoad - 850 Кбит/сек
    UpLoad - 550 КБит/сек
    При включенном шейпере:
    DownLoad - 920 Кбит/сек
    UpLoad - 460 КБит/сек
    Так что моё предположение про проседание канала от одновременной нагрузке скорее всего верно.
    Last edited by SerGri; 07-12-2009 at 02:04. Reason: Исправления в скорости WAN_ZONES_DN_RATE.

    Hardware:
    RT-N16 1.9.2.7-rtn-r2775 | 2Gb USBFlash
    WL-500gPV1 1.9.2.7-d-r1825 | 299Mhz | 128Mb | Console port | 4 USB 2.0 port | 2Gb USBFlash (резерв)
    Link's:
    WAN: Radio 60 Mbit/sec HalfDuplex (Static IP) || LAN: Wi-Fi + LAN
    Software:
    nShaper | lighgttpd + php-fcgi | vnStat | RRD | syslog-ng | MC | ...

  14. #329
    Quote Originally Posted by SerGri View Post
    Спасибо за помощь ещё раз.
    На здоровье!
    Quote Originally Posted by SerGri View Post
    PS:
    При отключенном шейпере на данный момент (практически идеальные условия - ночь, никто не мешает ) скорость при одновременной загруке канала:
    DownLoad - 850 Кбит/сек
    UpLoad - 550 КБит/сек
    При включенном шейпере:
    DownLoad - 920 Кбит/сек
    UpLoad - 460 КБит/сек
    Так что моё предположение про проседание канала от одновременной нагрузке скорее всего верно.
    Да, похоже шейпер у провайдера работает не совсем так, как ему положено... А быть может, это особенность работы оборудования (радиоканала), например, полудуплексный режим работы приёмопередатчика с накладными расходами на переключение направления передачи.
    Last edited by Nikus; 07-12-2009 at 03:41.

  15. #330
    Join Date
    Sep 2009
    Location
    Подольск
    Posts
    150
    Quote Originally Posted by Nikus View Post
    На здоровье!
    Да, похоже шейпер у провайдера работает не совсем так, как ему положено...
    Я точно знаю, что мой канал не шейпится. Тут срабатывает предел скорости передачи по радиооборудованию...http://www.3tel.ru/equipment_bls_al_breeze.html
    А быть может, это особенность работы оборудования (радиоканала), например, полудуплексный режим работы приёмопередатчика с накладными расходами на переключение направления передачи.
    Вот это, скорее всего, именно так. Полудуплекс...
    Last edited by SerGri; 07-12-2009 at 15:29.

    Hardware:
    RT-N16 1.9.2.7-rtn-r2775 | 2Gb USBFlash
    WL-500gPV1 1.9.2.7-d-r1825 | 299Mhz | 128Mb | Console port | 4 USB 2.0 port | 2Gb USBFlash (резерв)
    Link's:
    WAN: Radio 60 Mbit/sec HalfDuplex (Static IP) || LAN: Wi-Fi + LAN
    Software:
    nShaper | lighgttpd + php-fcgi | vnStat | RRD | syslog-ng | MC | ...

Page 22 of 56 FirstFirst ... 12202122232432 ... LastLast

Similar Threads

  1. Установка и настройка Quagga на роутере
    By mymp in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 149
    Last Post: 02-09-2016, 15:21
  2. Настройка PPTP VPN (accel-pppd) на роутере Asus
    By biGdada in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 305
    Last Post: 23-06-2016, 10:36
  3. Настройка CRON на роутере
    By dccharacter in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 338
    Last Post: 04-11-2014, 20:25
  4. Установка VLC на роутер ?
    By jek8 in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 88
    Last Post: 23-05-2013, 09:18
  5. Не получается настроить Virtual DMZ
    By xAL in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 167
    Last Post: 23-11-2012, 01:57

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •