QoS, шейпер и dual подключение

Post new topic   Reply to topic    DD-WRT Forum Index -> Использование и установка DD-WRT
Goto page Previous  1, 2
Author Message
yurybx
DD-WRT Novice


Joined: 06 Nov 2010
Posts: 11

PostPosted: Mon Nov 22, 2010 20:21    Post subject: Reply with quote
Ребята! Либо я тупой, либо с этим IPTables в dd-wrt что-то не то!
Составил скрипт на основе первого поста. Вот он:

TCA="tc class add dev br0"
TFA="tc filter add dev br0"
TQA="tc qdisc add dev br0"
SFQ="sfq perturb 10"
tc qdisc del dev br0 root
tc qdisc add dev br0 root handle 1: htb
tc class add dev br0 parent 1: classid 1:1 htb rate 1600kbit
$TCA parent 1:1 classid 1:10 htb rate 400kbit ceil 800kbit prio 4
$TQA parent 1:10 handle 10: $SFQ
$TFA parent 1:0 prio 4 protocol ip handle 10 fw flowid 1:10
iptables -t mangle -A POSTROUTING -p tcp --sport 1:3388 -d 10.1.3.128/25 -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -p tcp --sport 3390:5059 -d 10.1.3.128/25 -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -p tcp --sport 5062:65535 -d 10.1.3.128/25 -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -p udp --sport 1:5059 -d 10.1.3.128/25 -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -p udp --sport 5062:65535 -d 10.1.3.128/25 -j MARK --set-mark 10
TCAU="tc class add dev vlan2"
TFAU="tc filter add dev vlan2"
TQAU="tc qdisc add dev vlan2"
tc qdisc del dev vlan2 root
tc qdisc add dev vlan2 root handle 1: htb
tc class add dev vlan2 parent 1: classid 1:1 htb rate 800kbit
$TCAU parent 1:1 classid 1:10 htb rate 200kbit ceil 400kbit prio 4
$TQAU parent 1:10 handle 10: $SFQ
$TFAU parent 1:0 prio 4 protocol ip handle 10 fw flowid 1:10
iptables -t mangle -A PREROUTING -p tcp -s 10.1.3.128/25 --dport 1:3388 -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -p tcp -s 10.1.3.128/25 --dport 3390:5059 -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -p tcp -s 10.1.3.128/25 --dport 5062:65535 -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -p udp -s 10.1.3.128/25 --dport 1:5059 -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -p udp -s 10.1.3.128/25 --dport 5062:65535 -j MARK --set-mark 10

Пояснения:
10.1.3.128/25 - локальная сеть
пропущенные порты - которые не нужно шейпить

В результате имею тот же гемор: траффик снова шейпиться почему-то ВЕСЬ без разбору на входящий/исходящий, без разделения по портам. То-есть по порту 3389(RDP) я имею входящую скорость 400Кбит/с вместо 1600Кбит/с.
При этом, если забрать вторую часть (правиля для исходящего трафика), то входящий фильтруется правильно.
Подскажите, знатоки, как побороть эту проблему. Ведь исходящий траффик желательно тоже шейпить: в офисе стоит VoIP, которому нужен стабильний трафик в обе стороны (хоть и не большой). А если какому-то юзеру стукнет в голову запустить торрент и активно раздавать файлы, то накроется мой VoIP большим медным тазом.
Версия DD-WRT sp2 13064, режим работы - router.
Sponsor
Fodin
DD-WRT User


Joined: 07 Mar 2010
Posts: 52

PostPosted: Wed Nov 24, 2010 1:44    Post subject: Reply with quote
Что-то я только одну полосу вижу. В чем тогда смысл шейпенья? Чего ты хочешь достичь вообще в итоге?
Alec
DD-WRT User


Joined: 28 Jul 2009
Posts: 283
Location: Russia

PostPosted: Wed Jan 19, 2011 14:10    Post subject: Reply with quote
а вот интересно:
tc -s qdisk show
показывает устройства?
вообще можно посмотреть классы через tc?
у меня не получается получить вывод команды tc вообще.
я писал подобный скрипт используя qos hfsc и l7-filter.
но не могу разобраться именно с tc. т.к. она не показывает никакой информации.

_________________
Ищу работу системным администратором UNIX/BSD

Хочешь помочь?...
Помогай!:
yandex-money: 41001553394395
web-money: R235473246632
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Thu Apr 07, 2011 9:31    Post subject: Reply with quote
Alec wrote:
а вот интересно:
tc -s qdisk show
показывает устройства?
вообще можно посмотреть классы через tc?


tc -d -s class sh dev br0 (eth0, eth2, ppp0 и т.д.)
tc -s qdisc ls dev br0 (eth0, eth2, ppp0 и т.д.)
tc -s filter ls dev br0 (eth0, eth2, ppp0 и т.д.)

Команды sh и ls дают одинаковое значение.
andriy_a
DD-WRT Novice


Joined: 11 May 2011
Posts: 1

PostPosted: Wed May 11, 2011 18:55    Post subject: Reply with quote
Подскажите, а результат работы скрипта должен бить виден в виде маркировки соединений?
У меня если запустить
cat /proc/net/ip_conntrack
то у всех соединений mark=0.
Если включить стандартный Qos в интерфейсе то у пакетов появляется mark=30 40 0, в зависимости что я настроил.
Такое впечатление что скрипт не работает.
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Fri Jun 17, 2011 11:40    Post subject: Reply with quote
andriy_a wrote:

cat /proc/net/ip_conntrack


Например DNS повышенный - Exempt - mark 100 в стандартной QoS

tcp 6 45 TIME_WAIT src=192.168.1.2 dst=192.168.1.1 sport=52620 dport=80 packets=5 bytes=1100 src=192.168.1.1 dst=192.168.1.2 sport=80 dport=52620 packets=5 bytes=644 [ASSURED] mark=10 secmark=0 use=1
udp 17 17 src=192.168.1.2 dst=84.х.х.х sport=62050 dport=53 packets=1 bytes=57 [UNREPLIED] src=84.х.х.х dst=192.168.1.2 sport=53 dport=62050 packets=0 bytes=0 mark=100
AlexHighTower
DD-WRT User


Joined: 16 Aug 2011
Posts: 69

PostPosted: Wed Sep 14, 2011 10:13    Post subject: Reply with quote
привествую

сделал всё как в первом посте, но у меня чего то не ограничивается upload локальных клиентов...

скрипт вот такой:
Code:

WAN=$(nvram get wan_ifname)
SFQ="sfq perturb 10"
CU="tc class add dev $WAN"
FU="tc filter add dev $WAN"
QU="tc qdisc add dev $WAN"
tc qdisc del dev $WAN root
tc qdisc add dev $WAN root handle 1:0 htb
tc class add dev $WAN parent 1:0 classid 1:1 htb rate 40960kbit

# нормальная труба на весь канал
$CU parent 1:1 classid 1:10 htb rate 10240kbit ceil 40960kbit prio 2
# труба для всяких торрентов
$CU parent 1:1 classid 1:20 htb rate 1024kbit ceil 1480kbit prio 4

$QU parent 1:10 handle 10: $SFQ
$QU parent 1:20 handle 20: $SFQ

$FU parent 1:0 prio 2 protocol ip handle 10 fw flowid 1:10
$FU parent 1:0 prio 4 protocol ip handle 20 fw flowid 1:20

# даём всем внутренним клиентам поделённую ширину
iptables -t mangle -A PREROUTING -s 10.0.0.0/24 -d ! 10.0.0.0/24 -j MARK --set-mark 10

# режем одному торренты
iptables -t mangle -A PREROUTING -p tcp -s 10.0.0.56 -d ! 10.0.0.0/24 --dport 1025:65535 -j MARK --set-mark 20
iptables -t mangle -A PREROUTING -p udp -s 10.0.0.56 -d ! 10.0.0.0/24 --dport 1025:65535 -j MARK --set-mark 20


в итоге если посмтореть вывод iptables -t mangle -L PREROUTING
то счётчики растут

а юзер 10.0.0.56 реально на upload выбирает весь канал вместо причитающегося ~мегабита...

_________________
TP-Link TL-WR1043ND: DD-WRT v24-sp2 (08/07/10) std - build 14896
Asus RT-N16: DD-WRT build 19545 (kingmod)
djserg-minyar
DD-WRT Novice


Joined: 22 Aug 2011
Posts: 5

PostPosted: Sat Oct 29, 2011 6:50    Post subject: Reply with quote
Ребята подскажите простой скрипт обрезания скорости всем клиентам, на Upload и Download.
Сетка 192.168.2.0/24 скорость хочется по 100 кб.
FrostOrange
DD-WRT Novice


Joined: 11 Dec 2012
Posts: 1

PostPosted: Tue Dec 11, 2012 13:17    Post subject: Reply with quote
Здравствуйте, такая проблема: есть DIR-615 E4 на DD-WRT. Хотел разделить канал для компа и планшета (Galaxy Tab 2), написал скрипт, но он не работает.
В чем может быть проблема?
[spoiler]#--------------------------------------------
#WRT54 Script Generator v1.02
#(C) 2006-2007 Robert "Robson" Mytkowski
#--------------------------------------------
TCA="tc class add dev br0"
TFA="tc filter add dev br0"
TQA="tc qdisc add dev br0"
SFQ="sfq perturb 10"
tc qdisc del dev br0 root
tc qdisc add dev br0 root handle 1: htb
tc class add dev br0 parent 1: classid 1:1 htb rate 2048kbit
$TCA parent 1:1 classid 1:10 htb rate 1500kbit ceil 2048kbit prio 0
$TCA parent 1:1 classid 1:11 htb rate 548kbit ceil 2048kbit prio 2
$TQA parent 1:10 handle 10: $SFQ
$TQA parent 1:11 handle 11: $SFQ
$TFA parent 1:0 prio 0 protocol ip handle 10 fw flowid 1:10
$TFA parent 1:0 prio 2 protocol ip handle 11 fw flowid 1:11
iptables -t mangle -A POSTROUTING -d 192.168.1.132 -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -d 192.168.1.126 -j MARK --set-mark 11
TCAU="tc class add dev imq0"
TFAU="tc filter add dev imq0"
TQAU="tc qdisc add dev imq0"
modprobe imq
modprobe ipt_IMQ
ip link set imq0 up
tc qdisc del dev imq0 root
tc qdisc add dev imq0 root handle 1: htb
tc class add dev imq0 parent 1: classid 1:1 htb rate 2048kbit
$TCAU parent 1:1 classid 1:10 htb rate 1900kbit ceil 2048kbit prio 0
$TCAU parent 1:1 classid 1:11 htb rate 108kbit ceil 2048kbit prio 2
$TQAU parent 1:10 handle 10: $SFQ
$TQAU parent 1:11 handle 11: $SFQ
$TFAU parent 1:0 prio 0 protocol ip handle 10 fw flowid 1:10
$TFAU parent 1:0 prio 2 protocol ip handle 11 fw flowid 1:11
iptables -t mangle -A PREROUTING -s 192.168.1.132 -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -s 192.168.1.126 -j MARK --set-mark 11
iptables -t mangle -A PREROUTING -j IMQ --todev 0 [/spoiler]
192.168.1.132 - Комп
192.168.1.126 - Планшет
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Fri Dec 14, 2012 9:40    Post subject: Reply with quote
FrostOrange
проверьте работу:

tc -d -s class sh dev br0 (eth0, eth2, ppp0 и т.д.)
tc -s qdisc ls dev br0 (eth0, eth2, ppp0 и т.д.)
tc -s filter ls dev br0 (eth0, eth2, ppp0 и т.д.)

Команды sh и ls дают одинаковое значение.
b_e
DD-WRT Novice


Joined: 05 Feb 2013
Posts: 1

PostPosted: Tue Feb 05, 2013 7:05    Post subject: Reply with quote
DIR300/NRU
Тоже не шейпится upload. Но получилось родным QoS зашейпить таки. В Packet Scheduler выбрал HFSC (вместо HTB). Возможно если в скриптах использовать hfsc вместо htb аплоад будет нормально шейпиться.
dimas6000
DD-WRT Novice


Joined: 23 Jul 2016
Posts: 1

PostPosted: Sat Jul 23, 2016 17:57    Post subject: Re: QoS, шейпер и dual подключение Reply with quote
Может кто-нибудь объяснить как нормально настроить шейпер на tplink wr841nd? Прошивка: DD-WRT v24-sp2 (12/22/14) std.
Я пробовал использовать программу, на которую ссылка в начале поста. Пробовал использовать разные варианты скриптов из интернета. Пробовал скрипт из первого сообщения темы.
Но скорость не изменяется вообще никак. Как показывал speedtest 40мбит\с так и показывает -_-
Уже не знаю что и делать. Изначально хотел сделать 2 wi-fi сети, одну с минимальными ограничениями, чтобы кто-то один не смог заполнить весь канал, а вторую без пароля, но с ограничением скорости до ~1мбит\с и кол-ва клиентов до 5-7.

Вчера находил где-то в интернете, что под роутеры на Atheros надо модифицировать скрипты, но никаких пруфов там не было.
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Mon Jul 25, 2016 7:53    Post subject: Re: QoS, шейпер и dual подключение Reply with quote
dimas6000 wrote:
Может кто-нибудь объяснить как нормально настроить шейпер на tplink wr841nd? Прошивка: DD-WRT v24-sp2 (12/22/14) std.
Я пробовал использовать программу, на которую ссылка в начале поста. Пробовал использовать разные варианты скриптов из интернета. Пробовал скрипт из первого сообщения темы.
Но скорость не изменяется вообще никак. Как показывал speedtest 40мбит\с так и показывает -_-
Уже не знаю что и делать. Изначально хотел сделать 2 wi-fi сети, одну с минимальными ограничениями, чтобы кто-то один не смог заполнить весь канал, а вторую без пароля, но с ограничением скорости до ~1мбит\с и кол-ва клиентов до 5-7.

Вчера находил где-то в интернете, что под роутеры на Atheros надо модифицировать скрипты, но никаких пруфов там не было.

Для начало сейчас 2016 обновите прошивку, второе не надо пробовать кучу скриптов из интернета, а чуток разобрать в принципе работы шейпера и хотя бы одного скрипта.
Раньше он был как на скрине ниже (встроенный в прошивку), сейчас схема чуть другая но принцип тот-же. Все настройки можно делать через WEB http://192.168.1.1/QoS.asp
Если функционала не хватает, то тогда можно написать свой скрипт, но при этом разобраться со своими интерфейсами на роутере.

Посмотрите и разберите вот это пример :

Code:

#!/bin/sh
TCA="tc class add dev br0"
TFA="tc filter add dev br0"
TQA="tc qdisc add dev br0"
SFQ="sfq perturb 10"
tc qdisc del dev br0 root
tc qdisc add dev br0 root handle 1: htb
tc class add dev br0 parent 1: classid 1:1 htb rate 38000kbit
$TCA parent 1:1 classid 1:10 htb rate 10000kbit ceil 20000kbit prio 2
$TCA parent 1:1 classid 1:11 htb rate 5000kbit ceil 15000kbit prio 2
$TQA parent 1:10 handle 10: $SFQ
$TQA parent 1:11 handle 11: $SFQ
$TFA parent 1:0 prio 2 protocol ip handle 10 fw flowid 1:10
$TFA parent 1:0 prio 2 protocol ip handle 11 fw flowid 1:11
iptables -t mangle -A POSTROUTING -d 192.168.1.10 -j MARK --set-mark 10
iptables -t mangle -A POSTROUTING -d 192.168.1.20 -j MARK --set-mark 11
TCAU="tc class add dev imq0"
TFAU="tc filter add dev imq0"
TQAU="tc qdisc add dev imq0"
modprobe imq
modprobe ipt_IMQ
ip link set imq0 up
tc qdisc del dev imq0 root
tc qdisc add dev imq0 root handle 1: htb
tc class add dev imq0 parent 1: classid 1:1 htb rate 38000kbit
$TCAU parent 1:1 classid 1:10 htb rate 10000kbit ceil 20000kbit prio 2
$TCAU parent 1:1 classid 1:11 htb rate 5000kbit ceil 15000kbit prio 2
$TQAU parent 1:10 handle 10: $SFQ
$TQAU parent 1:11 handle 11: $SFQ
$TFAU parent 1:0 prio 2 protocol ip handle 10 fw flowid 1:10
$TFAU parent 1:0 prio 2 protocol ip handle 11 fw flowid 1:11
iptables -t mangle -A PREROUTING -s 192.168.1.10 -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -s 192.168.1.20 -j MARK --set-mark 11
iptables -t mangle -A PREROUTING -j IMQ --todev 0


IMQ можете не использовать, пример для двух IP .... 10 и .... 20 ограничение в скорости с возможностью поднятия ее в момент не загруженности канала.

Для проверки так же использовать
tc -s qdisc ls dev br0
tc -s class ls dev br0

Проверка пакетиков в cat /proc/net/ip_conntrack
Goto page Previous  1, 2 Display posts from previous:    Page 2 of 2
Post new topic   Reply to topic    DD-WRT Forum Index -> Использование и установка DD-WRT All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum