Устранение неполадок 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, как и он, прекрасно работает при загрузке, а не столько при загрузке. Причина этого заключается в том, что маршрутизатор контролирует трафик, выходящий из сети (восходящий канал), но не трафик, входящий в сеть, поскольку он не контролирует входящий поток данных.
Я знаю, что вы не большой поклонник просмотра сообщений на форуме, но, возможно, вы захотите оставить свои вопросы там.