Portál AbcLinuxu, 8. května 2025 11:18
#!/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
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
QUEUE
a značkovat to v userspace (ale samozřejmě ne tak, že co paket, to dotaz na databázi).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.