Harmonogram QoS
|
wujo11 |
Dodano 29-01-2010 11:10
|
User
Posty: 55
Dołączył: 15/09/2008 15:39
|
Zastanawiam się czy jest opcja zrobienia harmonogramu QoS? W skrócie czy można ustalić dwie oddzielne reguły QoS, które różnią się parametrami łącza i godzinami pracy. Obecnie mam diametralnie różniące się pasmo dzienne i nocne, a manualna zmiana QoS to nie jest wyjście.
Asus Wl500Gp z najnowszym OpenWRT i Gargulcem na pokładzie, ale mogę zmienić jeśli inny FW miałby w/w opcję. |
|
|
|
shibby |
Dodano 29-01-2010 11:13
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
tomato ma
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
wujo11 |
Dodano 29-01-2010 12:06
|
User
Posty: 55
Dołączył: 15/09/2008 15:39
|
Dzięki za info, najwyraźniej czeka mnie przesiadka na Pomidora. |
|
|
|
shibby |
Dodano 29-01-2010 12:14
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
ale ja nie powiedzialem ze opewnrt tez tego nie ma
poprostu przygotuj sobie 2 pliki z roznymi koniguracjami QoS i skrypt co crona ktory bedzie je podmienial i przekadowywal usluge o danej godzinie.
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
obsy |
Dodano 29-01-2010 12:46
|
VIP
Posty: 5775
Dołączył: 31/10/2006 20:06
|
W openwrt wartości do qos masz w uci. Wiec standardowo:
rano
uci set qos.wan.download=4096
uci set qos.wan.upload=512
/etc/init.d/qos restart
w nocy
uci set qos.wan.download=16000
uci set qos.wan.upload=512
/etc/init.d/qos restart
w cronie. Nawet bez commita i tyle.
|
|
|
|
wujo11 |
Dodano 29-01-2010 15:43
|
User
Posty: 55
Dołączył: 15/09/2008 15:39
|
Ok. Powolutku.
Jak wyżej wspomniałem mam Gargulca i katalogu /etc/init.d/qos nie mam, natomiast jest /etc/init.d/qos_gargoyle ale i tak jest pusty. A że z poziomu Gargulca możliwości eksportu gotowego QoS'a do pliku nie ma, zastanawiam się jak to zrobić. Dodam od razu, że nie zależy mi tylko i wyłącznie na ustawieniu limitu DL/UL ale by działała cała hierarchia podziału pasma. |
|
|
|
obsy |
Dodano 29-01-2010 17:22
|
VIP
Posty: 5775
Dołączył: 31/10/2006 20:06
|
W gargoyle masz /etc/init.d/qos_gargoyle który startuje qos oraz /etc/config/qos_gargoyle w którym masz parametry.
Normalnie przy pomocy uci przestawiasz wartości i restartujesz qos. Ew. Skonfiguruj go sobie tak jak chcesz, zapisz na bok plik /etc/config/qos_gargoyle, przestaw tak jak ma być w nocy. Zapisz na bok.
Później w cronie tylko podmiana pliku i restart usługi. (ale podmiana pliku jest bez sensu, lepiej to pierwsze rozwiazanie)
|
|
|
|
sloan |
Dodano 29-01-2010 17:27
|
User
Posty: 13
Dołączył: 22/01/2008 19:55
|
Ja zrobiłem to tak (wbijasz się po ssh):
1. konfigurujesz w gui qos z pierwszymi parametrami
2.
cat /etc/config/qos_gargoyle > /root/dzien
3. konfigurujesz w gui qos z drugimi parametrami
4.
cat /etc/config/qos_gargoyle > /root/noc
5. tworzysz dwa skrypty
/root/dzien.sh i /root/noc.sh i
dzien.sh
#!/bin/sh
cat /root/dzien > /etc/config/qos_gargoyle
/etc/init.d/qos_gargoyle reload
noc.sh
#!/bin/sh
cat /root/noc > /etc/config/qos_gargoyle
/etc/init.d/qos_gargoyle reload
6. tworzysz plik
o treści
#!/bin/sh /etc/rc.common
START=75
STOP=75
boot () {
sleep 5
czas=`/bin/date +%k%M%S`
if
[ "$czas" -ge 130000 ] && [ "$czas" -le 230000 ] ;
then /root/dzien.sh
else
/root/noc.sh
fi
}
start () {
sleep 5
czas=`/bin/date +%k%M%S`
if
[ "$czas" -ge 130000 ] && [ "$czas" -le 230000 ] ;
then /root/dzien.sh
else
/root/noc.sh
fi
}
restart () {
sleep 5
czas=`/bin/date +%k%M%S`
if
[ "$czas" -ge 130000 ] && [ "$czas" -le 230000 ] ;
then /root/dzien.sh
else
/root/noc.sh
fi
}
(za parametry 130000 i 230000 podstawiasz własne godziny zmiany prędkości łącza)
7.
chmod +x /etc/init.d/user && /etc/ini.d/user enable && /ect/init.d/user start
8.
i wstawiasz
0 13 * * * /root/dzien.sh
0 23 * * * /root/skrypty/noc.sh
za 13 i 23 wstawiasz własne godziny.
9.
10. cieszysz się działającym qos'em.
Edytowany przez sloan dnia 29-01-2010 18:28
|
|
|
|
obsy |
Dodano 29-01-2010 17:50
|
VIP
Posty: 5775
Dołączył: 31/10/2006 20:06
|
Gotowiec!
|
|
|
|
sloan |
Dodano 29-01-2010 17:53
|
User
Posty: 13
Dołączył: 22/01/2008 19:55
|
Wiem. Może się jeszcze komuś w przyszłości przyda. |
|
|
|
wujo11 |
Dodano 29-01-2010 17:55
|
User
Posty: 55
Dołączył: 15/09/2008 15:39
|
Super panowie, dzięki za informacje! Dzięki @solan za gotowy skrypt. Wszystko wydaje się jasne. Dam znać jak się u mnie sprawdzi.
edit: w pkt. 7 literowkia 'ini.d' zamiast 'init.d', i 'ect' zamiast 'etc'
Edytowany przez wujo11 dnia 29-01-2010 18:21
|
|
|
|
sloan |
Dodano 29-01-2010 18:29
|
User
Posty: 13
Dołączył: 22/01/2008 19:55
|
Błędy poprawione. |
|
|
|
jarek7714 |
Dodano 11-05-2012 11:11
|
Super User
Posty: 637
Dołączył: 19/02/2010 23:21
|
@solan skorzystałem z tego gotowca, lecz mimo łyknięcia wszystkiego przez ssh cron nie zmienia tych parametrów? Próbowałem też Cytat uci set qos.wan.download=4096
uci set qos.wan.upload=512
/etc/init.d/qos restart
w nocy
uci set qos.wan.download=16000
uci set qos.wan.upload=512
/etc/init.d/qos restart
, ale konsola nie przyjmuje mi tych skryptów. Gargoyle wersja 1.5.4 by obsy
jareq
|
|
|