zaza12 Опубликовано: 25 серпня, 2016 Опубликовано: 25 серпня, 2016 (відредаговано) В общем после пользования приоритета трафика около 3 лет на nas микротик, с переходом на nas freebsd ubilling ощутимо сказывается на пользовании. Поскольку сеть маленькая , в глубинке и почти все клиенты на точках , то 3м в трубе заполнить на раз, два и последующие запросы , игры или просто серфинг, пинг ого. Биллинг работает как часы , без нареканий. Привязал очереди к уже готовым трубам для каждого ip , перепробовал множество вариаций , но пока не могу запустить , может кто ткнет где не туда смотрю? К каждой трубе для каждого пользователя привязал 4 очереди с разными портами (потом можно добавить и по размеру файлов) . Очереди как бы заполняются , но скорость (например 3m) для каждого pipe почему то общая и для других ip , но по идее должна быть для каждого . Это одна из нескольких конфигураций , возможно кто подскажет где не так? Копию рабочего биллинга установил на виртуалку для оттачивания , чтобы клиенты не прибили за эксперименты! #onconnect #SPEED CONTROL ${fwcmd} pipe `expr $ID + 18101` config bw $SPEED$SCOUNT mask dst-ip 0xffffffff ${fwcmd} pipe `expr $ID + 101` config bw $UPSPEED$SCOUNT mask src-ip 0xffffffff # WAN -> LAN ${fwcmd} queue 111 config weight $wot queue 50 pipe `expr $ID + 18101` mask dst-ip 0xffffffff ${fwcmd} queue 112 config weight $http queue 50 pipe `expr $ID + 18101` mask dst-ip 0xffffffff ${fwcmd} queue 113 config weight $tcp queue 50 pipe `expr $ID + 18101` mask dst-ip 0xffffffff ${fwcmd} queue 114 config weight $all queue 50 pipe `expr $ID + 18101` mask dst-ip 0xffffffff # LAN -> WAN ${fwcmd} queue 211 config weight $wot queue 50 pipe `expr $ID + 101` mask src-ip 0xffffffff ${fwcmd} queue 212 config weight $http queue 50 pipe `expr $ID + 101` mask src-ip 0xffffffff ${fwcmd} queue 213 config weight $tcp queue 50 pipe `expr $ID + 101` mask src-ip 0xffffffff ${fwcmd} queue 214 config weight $all queue 50 pipe `expr $ID + 101` mask src-ip 0xffffffff #firewall.conf # WAN -> LAN ${FwCMD} add 13011 queue 111 ip from any ${wot} to any via ${LAN_IF} out ${FwCMD} add 13022 queue 112 ip from any ${http} to any via ${LAN_IF} out ${FwCMD} add 13033 queue 113 ip from any ${tcp} to any via ${LAN_IF} out ${FwCMD} add 13044 queue 114 ip from any not ${wot},${http},${tcp} to any via ${LAN_IF} out # LAN -> WAN ${FwCMD} add 13055 queue 211 ip from any to any ${wot} via ${LAN_IF} in ${FwCMD} add 13066 queue 212 ip from any to any ${http} via ${LAN_IF} in ${FwCMD} add 13077 queue 213 ip from any to any ${tcp} via ${LAN_IF} in ${FwCMD} add 13088 queue 214 ip from any to any not ${wot},${http},${tcp} via ${LAN_IF} in root@billing:~ # ipfw queue show q00213 50 sl. 0 flows (64 buckets) sched 101 weight 33 lmax 0 pri 0 droptail mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000 q00212 50 sl. 2 flows (64 buckets) sched 101 weight 50 lmax 0 pri 0 droptail mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp 6 ip 10.10.100.6/0 0.0.0.0/0 132 5762 0 0 0 14 ip 10.10.100.2/0 0.0.0.0/0 29 1330 0 0 0 q00214 50 sl. 1 flows (64 buckets) sched 101 weight 1 lmax 0 pri 0 droptail mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000 14 ip 10.10.100.2/0 0.0.0.0/0 60 4800 0 0 0 q00211 50 sl. 0 flows (64 buckets) sched 101 weight 100 lmax 0 pri 0 droptail mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000 q00111 50 sl. 0 flows (64 buckets) sched 18101 weight 100 lmax 0 pri 0 droptail mask: 0x00 0x00000000/0x0000 -> 0xffffffff/0x0000 q00114 50 sl. 1 flows (64 buckets) sched 18101 weight 1 lmax 0 pri 0 droptail mask: 0x00 0x00000000/0x0000 -> 0xffffffff/0x0000 22 ip 0.0.0.0/0 10.10.100.2/0 45 2664 0 0 0 q00113 50 sl. 0 flows (64 buckets) sched 18101 weight 33 lmax 0 pri 0 droptail mask: 0x00 0x00000000/0x0000 -> 0xffffffff/0x0000 q00112 50 sl. 1 flows (64 buckets) sched 18101 weight 50 lmax 0 pri 0 droptail mask: 0x00 0x00000000/0x0000 -> 0xffffffff/0x0000 18 ip 0.0.0.0/0 10.10.100.6/0 107 73002 15 10860 0 root@billing:~ # ipfw show 00004 58 3793 allow ip from table(2) to 10.10.100.1 dst-port 53 via em0 00004 58 10586 allow ip from 10.10.100.1 to table(2) src-port 53 via em0 00004 0 0 allow ip from table(2) to me dst-port 80 via em0 00004 0 0 allow ip from me to table(2) src-port 80 via em0 00005 0 0 fwd 127.0.0.1,80 ip from table(47) to not me dst-port 80 00005 0 0 fwd 127.0.0.1,80 ip from 172.32.0.0/20 to not me dst-port 80 00005 0 0 reset ip from 172.32.0.0/20 to any dst-port 443 00006 0 0 reset ip from table(47) to any dst-port 443,444 00006 0 0 allow ip from me to 172.32.0.0/20 via em0 out 00006 0 0 allow ip from 172.32.0.0/20 to me via em0 in 00101 28 1840 allow ip from me to 10.10.100.0/24 via em0 out 00102 1 328 allow ip from 10.10.100.0/24 to me via em0 in 06000 25885 13463718 nat 1 ip from table(2) to not table(9) out xmit em1 06001 23082 18714879 nat 1 ip from any to me in recv em1 13011 0 0 queue 111 ip from any 53,9081,9100,9090,8086,3724,9091,8087,6112,6881-6999 to any via em0 out 13022 22702 18675566 queue 112 ip from any 80,443,3128,8080,8081 to any via em0 out 13033 0 0 queue 113 ip from any 20,21,22,23,25,110,179,2222,3389 to any via em0 out 13044 276 18704 queue 114 ip from any not 53,9081,9100,9090,8086,3724,9091,8087,6112,6881-6999,80,443,3128,8080,8081,20,21,22,23,25,110,179,2222,3389 to any via em0 out 13055 0 0 queue 211 ip from any to any dst-port 53,9081,9100,9090,8086,3724,9091,8087,6112,6881-6999 via em0 in 13066 25736 13635783 queue 212 ip from any to any dst-port 80,443,3128,8080,8081 via em0 in 13077 0 0 queue 213 ip from any to any dst-port 20,21,22,23,25,110,179,2222,3389 via em0 in 13088 397 37455 queue 214 ip from any to any not dst-port 53,9081,9100,9090,8086,3724,9091,8087,6112,6881-6999,80,443,3128,8080,8081,20,21,22,23,25,110,179,2222,3389 via em0 in 14000 0 0 pipe tablearg ip from table(3) to any via em0 in 14001 0 0 pipe tablearg ip from any to table(4) via em0 out 65533 0 0 deny ip from table(2) to any via em0 65535 4667 857482 allow ip from any to any Відредаговано 26 серпня, 2016 zaza12
zaza12 Опубліковано: 25 серпня, 2016 Автор Опубліковано: 25 серпня, 2016 (відредаговано) интересно , а вообще кто то делал приоритезацию трафика когда либо для своих клиентов , или у всех тут не клиенты а хомячки , для которых это не нужно? В микротике приоритет в основном сильно ощутимо давал результат для очередей с помощью маркировки layer 7 (огромная база по распилке трафика) , это можно привязать потом Відредаговано 25 серпня, 2016 zaza12
zaza12 Опубліковано: 26 серпня, 2016 Автор Опубліковано: 26 серпня, 2016 (відредаговано) Все таки додул я как это реализовть, все запустилось даже лучше чем ожидал. Результат на девайсах ощутился сразу . Теперь правило для 3 и 4 таблички для труб в фаерволе можно не использовать, его заменили queue tablearg и подправить OnDisconnect, для удаления ip из новых табличек. На биллинг вроде не повлияло. Дальше можно играться с портами, или добавлять таблицы с хостами, да много чего можно накручивать. Получилось как то так onconnect # с weight параметрами можно поиграться wot=100 # Высокоприоритетный http=50 # HTTP tcp=33 # Остальной TCP all=1 # Остальной IP , # WAN -> LAN ${fwcmd} queue `expr $ID + 1001` config weight $wot queue 32Kbytes pipe `expr $ID + 18101` ${fwcmd} queue `expr $ID + 1002` config weight $http queue 32Kbytes pipe `expr $ID + 18101` ${fwcmd} queue `expr $ID + 1003` config weight $tcp queue 32Kbytes pipe `expr $ID + 18101` ${fwcmd} queue `expr $ID + 1004` config weight $all queue 32Kbytes pipe `expr $ID + 18101` # LAN -> WAN ${fwcmd} queue `expr $ID + 1011` config weight $wot queue 32Kbytes pipe `expr $ID + 101` ${fwcmd} queue `expr $ID + 1012` config weight $http queue 32Kbytes pipe `expr $ID + 101` ${fwcmd} queue `expr $ID + 1013` config weight $tcp queue 32Kbytes pipe `expr $ID + 101` ${fwcmd} queue `expr $ID + 1014` config weight $all queue 32Kbytes pipe `expr $ID + 101` # SHAPER ${fwcmd} table 4 add $IP `expr $ID + 18101` ${fwcmd} table 3 add $IP `expr $ID + 101` #QUEUE ${fwcmd} table 10 add $IP `expr $ID + 1001` ${fwcmd} table 20 add $IP `expr $ID + 1002` ${fwcmd} table 30 add $IP `expr $ID + 1003` ${fwcmd} table 40 add $IP `expr $ID + 1004` ${fwcmd} table 11 add $IP `expr $ID + 1011` ${fwcmd} table 21 add $IP `expr $ID + 1012` ${fwcmd} table 31 add $IP `expr $ID + 1013` ${fwcmd} table 41 add $IP `expr $ID + 1014` ondisconnect # DELETE FROM SHAPER ${fwcmd} table 3 delete $IP ${fwcmd} table 4 delete $IP ${fwcmd} table 10 delete $IP ${fwcmd} table 20 delete $IP ${fwcmd} table 30 delete $IP ${fwcmd} table 40 delete $IP ${fwcmd} table 11 delete $IP ${fwcmd} table 21 delete $IP ${fwcmd} table 31 delete $IP ${fwcmd} table 41 delete $IP firewall.conf wot="53,9081,9100,9090,8086,3724,9091,8087,6112,6881-6999" http="80,443,3128,8080,8081" tcp="20,21,22,23,25,110,179,2222,3389" # WAN -> LAN ${FwCMD} add 13011 queue tablearg ip from any ${wot} to table\(10\) via ${LAN_IF} out ${FwCMD} add 13022 queue tablearg ip from any ${http} to table\(20\) via ${LAN_IF} out ${FwCMD} add 13033 queue tablearg ip from any ${tcp} to table\(30\) via ${LAN_IF} out ${FwCMD} add 13044 queue tablearg ip from any not ${wot},${http},${tcp} to table\(40\) via ${LAN_IF} out # LAN -> WAN ${FwCMD} add 13055 queue tablearg ip from table\(11\) to any ${wot} via ${LAN_IF} in ${FwCMD} add 13066 queue tablearg ip from table\(21\) to any ${http} via ${LAN_IF} in ${FwCMD} add 13077 queue tablearg ip from table\(31\) to any ${tcp} via ${LAN_IF} in ${FwCMD} add 13088 queue tablearg ip from table\(41\) to any not ${wot},${http},${tcp} via ${LAN_IF} in #ipfw show только что применил на рабочем биллинге, все очереди заполняются, все шейпится, приоритет работает. 00004 6490 411870 allow ip from table(2) to 10.10.100.1 dst-port 53 via re0 00004 6490 1271223 allow ip from 10.10.100.1 to table(2) src-port 53 via re0 00004 0 0 allow ip from table(2) to me dst-port 80 via re0 00004 897 851643 allow ip from me to table(2) src-port 80 via re0 00005 4742 291300 fwd 127.0.0.1,80 ip from table(47) to not me dst-port 80 00005 0 0 fwd 127.0.0.1,80 ip from 172.32.0.0/20 to not me dst-port 80 00005 0 0 reset ip from 172.32.0.0/20 to any dst-port 443 00006 3539 219256 reset ip from table(47) to any dst-port 443,444 00006 0 0 allow ip from me to 172.32.0.0/20 via re0 out 00006 0 0 allow ip from 172.32.0.0/20 to me via re0 in 00101 1238 340072 allow ip from me to 10.10.100.0/24 via re0 out 00102 1133 118770 allow ip from 10.10.100.0/24 to me via re0 in 06000 2801906 272038544 nat 1 ip from table(2) to not table(9) out xmit re1 06001 3542839 4550092147 nat 1 ip from any to me in recv re1 13011 1657 356913 queue tablearg ip from any 53,9081,9100,9090,8086,3724,9091,8087,6112,6881-6999 to table(10) via re0 out 13022 3130131 4382390839 queue tablearg ip from any 80,443,3128,8080,8081 to table(20) via re0 out 13033 17 1269 queue tablearg ip from any 20,21,22,23,25,110,179,2222,3389 to table(30) via re0 out 13044 400825 165314111 queue tablearg ip from any not 53,9081,9100,9090,8086,3724,9091,8087,6112,6881-6999,80,443,3128,8080,8081,20,21,22,23,25,110,179,2222,3389 to table(40) via re0 out 13055 1964 225587 queue tablearg ip from table(11) to any dst-port 53,9081,9100,9090,8086,3724,9091,8087,6112,6881-6999 via re0 in 13066 2180849 175868149 queue tablearg ip from table(21) to any dst-port 80,443,3128,8080,8081 via re0 in 13077 12 699 queue tablearg ip from table(31) to any dst-port 20,21,22,23,25,110,179,2222,3389 via re0 in 13088 625322 97765731 queue tablearg ip from table(41) to any not dst-port 53,9081,9100,9090,8086,3724,9091,8087,6112,6881-6999,80,443,3128,8080,8081,20,21,22,23,25,110,179,2222,3389 via re0 in 65533 3222 271084 deny ip from table(2) to any via re0 65535 3505132 2748118133 allow ip from any to any Відредаговано 26 серпня, 2016 zaza12
zaza12 Опубліковано: 28 серпня, 2016 Автор Опубліковано: 28 серпня, 2016 (відредаговано) поправка , конфликт с очередями , разброс нужен побольше , что бы очередь не забрела в чужую трубу # WAN -> LAN ${fwcmd} queue `expr $ID + 1001` config weight $wot queue 10 `expr $ID + 18101` ${fwcmd} queue `expr $ID + 3002` config weight $http queue 10 pipe `expr $ID + 18101` ${fwcmd} queue `expr $ID + 5003` config weight $tcp queue 10 pipe `expr $ID + 18101` ${fwcmd} queue `expr $ID + 7004` config weight $all queue 10 pipe `expr $ID + 18101` # LAN -> WAN ${fwcmd} queue `expr $ID + 2001` config weight $wot queue 10 pipe `expr $ID + 101` ${fwcmd} queue `expr $ID + 4002` config weight $http queue 10 pipe `expr $ID + 101` ${fwcmd} queue `expr $ID + 6003` config weight $tcp queue 10 pipe `expr $ID + 101` ${fwcmd} queue `expr $ID + 8004` config weight $all queue 10 pipe `expr $ID + 101` и #QUEUE table соответственно ${fwcmd} table 10 add $IP `expr $ID + 1001` ${fwcmd} table 20 add $IP `expr $ID + 3001` итд Відредаговано 28 серпня, 2016 zaza12
a_n_h Опубліковано: 28 серпня, 2016 Опубліковано: 28 серпня, 2016 Все таки додул я как это реализовть Спасибо, что поделился!
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас