Устранение неполадок QoS прошивки маршрутизатора dd-wrt

Я использую прошивку dd-wrt на своем роутере, и мне это очень нравится!

Но - я не уверен, что качество обслуживания (QoS) работает над этим. Я настроил это следующим образом:

  • http, порт 80 - Премиум
  • битторрент, порт 6969 - Bulk
  • https, порт 443 - Премиум
  • днс, порт 53 - Премиум

Согласно документации QoS, эти уровни:

полоса пропускания распределяется на основе следующего процента значений восходящей линии связи и нисходящей линии связи для каждого класса:

  • Освобождение: 100 Мбит / с - игнорирует глобальные ограничения.
  • Премиум: 75% - 100%
  • Экспресс: 15% - 100%
  • Стандарт: 10% - 100%
  • Массовая: 1,5% - 100%

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

Документация QoS дает некоторые шаги для проверки QoS ...

То, что вам будет интересно посмотреть, будет первым набором IP-адреса источника и назначения, включая номера портов. Далее наличие l7proto и поля "mark". Записи указывают текущий приоритет QoS соединения в реальном времени, примененный к ним на основе поля "метка". Значения "mark" соответствуют следующим

  • Освобожден: 100
  • Премиум: 10
  • Экспресс: 20
  • Стандарт: 30
  • Bulk: 40
  • (без соответствия QoS): 0

Вы можете увидеть "mark=0" для некоторых сервисов l7proto, даже если они настроены в списке правил QoS. Это может означать, что система сопоставления с образцом уровня 7 не соответствует новому или измененному заголовку для этого протокола. Таможенное обслуживание на матчах порта обычно заботится об этом.

На порту 6969 (bittorrent) я вижу странную смесь вещей с mark=0 а также mark=40 вот так

cat /proc/net/ip_conntrack

udp  17 105 src=98.162.182.42 dst=1.2.3.4 sport=64512 dport=6969 пакетов =3 байта =290 src=10.0.0.2 dst=98.162.182.42 sport=6969 dport=64512 пакетов = 4 байта =202 [ASSURED] mark=0 secmark=0 use=1
tcp  6 117 TIME_WAIT src=98.248.173.174 dst=1.2.3.4 sport=51114 dport=6969 пакетов = 12 байтов =704 src=10.0.0.2 dst=98.248.173.174 sport=6969 dport=51114 пакета = 10 байт =440 [ASSURED] mark=40 secmark=0 use=1
tcp  6 598 ESTABLISHED src=165.132.128.201 dst=1.2.3.4 sport=57218 dport=6969 пакетов = 8024 байта =9919881 src=10.0.0.2 dst=165.132.128.201 sport=6969 dport=57218 пакетов = 4211 байт =239607 отметка [ASSURED] =0 secmark=0 use=1
tcp  6 586 ESTABLISHED src=68.46.9.24 dst=1.2.3.4 sport=64688 dport=6969 пакетов = 6 байт = 490 src = 10.0.0.2 dst = 68.46.9.24 sport = 6969 dport = 64688 пакетов = 8 байт =944 [ASSURED] mark=40 secmark=0 use=1
udp 17 45 src=222.254.228.38 dst=1.2.3.4 sport=25438 dport=6969 пакетов = 5 байтов =454 src=10.0.0.2 dst=222.254.228.38 sport=6969 dport=25438 пакетов =3 байта = 154 [A SSURED] mark = 0 secmark = 0 use = 1

(полный файл виден на http://pastebin.com/AZE6EtWm)

Я немного поигрался с этим журналом и не вижу никаких паттернов!

Почему какой-то битрейт-трафик порта 6969 помечен mark=0 (не соответствует) QoS dd-wrt, в то время как другие помечены mark=40 (Навалом) .. есть идеи?

4 ответа

Решение

Хотя он только формирует исходящий трафик, вы можете найти этот отличный сценарий QoS ( зеркало на pastebin) в блоге Алекса Райса полезным. Это было через несколько авторов и воплощений. Обязательно установите UPLINK, а также DEV правильно. Для меня значение по умолчанию для DEV было неверным, используйте прокомментированные $(nvram get wan_ifname) вместо этого, или правильное значение от выполнения nvram get wan_iframe через SSH.

Кроме того, вместо того, чтобы использовать его, вы можете продублировать его конфигурацию в графическом интерфейсе QoS. Вы увидите, что он использует 1024:65535 для массового трафика, а другие параметры (80,22,3389 и т. Д.) Имеют приоритет. Сценарий хорошо работает для меня и использует HFSC, как рекомендовано.


Кроме того, если вы не используете скрипт, вы можете столкнуться с соответствующими ошибками для вашей версии.

Например: QoS, установленный на WAN, отправляет трафик восходящей линии в очередь нисходящей линии
Затем поймите, что этот патч не работает, потому что: Команды в сценарии rc_firewall не применяются в QoS

Вы можете обойти проблему с помощью скрипта, который выполняется после rc_firewall, как указано в заявке. Лично я включил JFFS и поместил скрипт с исправлением в /jffs/etc/config/qos.ipup так же, как упоминалось.

Мне было удобно использовать KiTTY и WinSCP. Вы можете подключиться по SSH к маршрутизатору с помощью KiTTY для устранения неполадок / проверки, как в первом билете, и сразу перейти к просмотру файлов на маршрутизаторе с помощью Start WinSCP команда под верхним левым значком KiTTY. Если это не удается (маршрутизатор не запускает SFTP по умолчанию), вы можете включить FTP и подключиться вручную или просто добавить файл с помощью команд Unix. Не забудьте установить право владельца на выполнение сценария.

Я заметил, что многие люди жалуются на то, что QoS не работает в DD-WRT, поэтому вместо этого они переключаются на Tomato. Он прекрасно работает в томатном (я использую его). У Tomato также есть очень хорошие графики, которые полезны для настройки ваших настроек QoS.

Недостатком Tomato, по сравнению с DD-WRT, является то, что он имеет меньше функций, хотя есть несколько сборок модов, которые добавляют определенные вещи, такие как USB-накопитель и OpenVPN. Однако, как отметил Джефф Этвуд ниже, он поддерживает только чипсеты Broadcom.

Я использую мод Teddy Bear на моем Netgear WNR3500L. Сейчас я использую мод Toastman, основанный на Teddy Bear, с большим количеством функций и улучшенными классами QoS по умолчанию, которые работают для большинства людей.

Лично единственное, чего мне не хватает в Tomato - это поддержка VLAN и трансляция нескольких SSID. (В моде Toastman теперь есть и то, и другое, а также Captive Portal для вторичного SSID).

Я обнаружил, что DD-WRT v24 sp2 build 15362 очень стабильно работает на моем Netgear WNDR3700 v1, НО, несмотря на огромное количество времени, затрачиваемого на настройку как QoS, так и TCP Vegas (контроль перегрузки), ни один механизм не работает на этой превосходной прошивке для входящего трафика (мне не нужен исходящий контроль, так как я не использую VOIP).

Например, независимо от того, какие опции (Mac Control, Netmask, Service Control) я использую в своих попытках расставить приоритеты входящего видео трафика и расставить приоритеты входящего битового торрент-трафика, ничего не работает. Я подтвердил это

Итог: используйте DD-WRT, если вам нужны все другие функции (особенно трансляция нескольких SSID), но используйте Tomato, если у вас есть подходящий чипсет ( Tomato недоступен для WNDR3700 на базе Atheros) и ему нравятся его функции QoS.

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

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

Другие вопросы по тегам