Portál AbcLinuxu, 27. dubna 2024 05:56


Dotaz: QOS - HTB z mysql

8.3.2010 20:15 motorcb | skóre: 12
QOS - HTB z mysql
Přečteno: 513×
Odpovědět | Admin
Zdravim.
Nyni mam natvrdo v bashi pravidla pro qos.

#!/bin/sh

RATE=256

#eth0 : wan
#eth1 : lan

tc qdisc del dev eth1 root
tc qdisc add dev eth1 root handle 1:0 htb

tc class add dev eth1 parent 1:0 classid 1:1 htb rate ${RATE}kbit
tc class add dev eth1 parent 1:1 classid 1:11 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit
tc class add dev eth1 parent 1:1 classid 1:12 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit
tc class add dev eth1 parent 1:1 classid 1:13 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit
tc class add dev eth1 parent 1:1 classid 1:14 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit

tc qdisc add dev eth1 parent 1:11 handle 11:0 sfq perturb 10
tc qdisc add dev eth1 parent 1:12 handle 12:0 sfq perturb 10
tc qdisc add dev eth1 parent 1:13 handle 13:0 sfq perturb 10
tc qdisc add dev eth1 parent 1:14 handle 14:0 sfq perturb 10

iptables -t mangle -F FORWARD
iptables -t mangle -A FORWARD -j MARK --set-mark 4
iptables -t mangle -A FORWARD -d 192.168.0.1 -j MARK --set-mark 1
iptables -t mangle -A FORWARD -d 192.168.0.2 -j MARK --set-mark 2
iptables -t mangle -A FORWARD -d 192.168.0.3 -j MARK --set-mark 3

tc filter add dev eth1 parent 1:0 protocol ip handle 1 fw flowid 1:11
tc filter add dev eth1 parent 1:0 protocol ip handle 2 fw flowid 1:12
tc filter add dev eth1 parent 1:0 protocol ip handle 3 fw flowid 1:13
tc filter add dev eth1 parent 1:0 protocol ip handle 4 fw flowid 1:14


Chtel bych to upravit abych si z tabaze vytahl ip adresy a tem znackoval pakety a pro kazdou vytvoril htb class.
Jelikoz dotazy na mysql v bashi se mi jevi jako tezko pouzitelne, chtel bych pouzit nejaky lepsi jazyk. Co byste doporucili? Asi bych to videl na Python, nebo Perl. Nebo byste doporusili neco lepsiho? Ale nevim jak v techto jazycich vykonavat vyse uvedene prikazy jako v Bashi? Jde to nejak jednoduse?
Dekuji za napady a rady
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.3.2010 20:34 qwertysimo | skóre: 3
Rozbalit Rozbalit vše Re: QOS - HTB z mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
Riešil som to pred pár rokmi. Výstup perl skriptu, podobný tvojmu, som ukladal do bash skriptu. Mne osobne sa to takto jednoduchšie ladilo. Z perlu idú vykonávať aj systémové príkazy samozrejme, ak to chces all-in-one.
9.3.2010 10:32 oron | skóre: 27
Rozbalit Rozbalit vše Re: QOS - HTB z mysql
pouzivam mysql dotaz v jednoduchom bash scripte asi takto:
IFS=" ";

a=`/usr/bin/mysql -N -h localhost -u_user_ -p_passwd_ _nazov_db_ -e"select ....."`;


IFS='
'
pole=($a);              #nacitanie IP do pola
#pocet=${#pole[@]};


for IP in ${pole[*]} ; do        #prejdeme pole

    echo $IP;

done


9.3.2010 10:37 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: QOS - HTB z mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
Bude-li těch adres hodně, možná by bylo místo generování pravidel lepší použít target QUEUE a značkovat to v userspace (ale samozřejmě ne tak, že co paket, to dotaz na databázi).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.