Portál AbcLinuxu, 4. listopadu 2025 05:03
.  
Mam to zkopilovani v jadre nehlasi to zadnou chybu jen to neomezuje.
Jeste  eth0 je sitovka do internetu eth2 je sitovka do moji site ostatnich sitovek se omezovani rychlosti netyka.  Nevedel by nekdo kde delam chybu.
pro nastaveni htb pouzivam toto:
RATE=64
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1:0 htb
tc class add dev eth0 parent 1:0 classid 1:1 htb rate ${RATE}kbit quantum 1500
tc class add dev eth0 parent 1:1 classid 1:11 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit quantum 1500
tc class add dev eth0 parent 1:1 classid 1:12 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit quantum 1500
tc class add dev eth0 parent 1:1 classid 1:13 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit quantum 1500
tc class add dev eth0 parent 1:1 classid 1:14 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit quantum 1500
tc qdisc add dev eth0 parent 1:11 handle 11:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:12 handle 12:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:13 handle 13:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:14 handle 14:0 sfq perturb 10
iptables -t mangle -A FORWARD -j MARK --set-mark 4
iptables -t mangle -A FORWARD -d 10.176.0.34 -j MARK --set-mark 1
iptables -t mangle -A FORWARD -d 10.176.0.71 -j MARK --set-mark 2
iptables -t mangle -A FORWARD -d 10.176.0.2 -j MARK --set-mark 3
tc filter add dev eth0 parent 1:0 protocol ip handle 1 fw flowid 1:11
tc filter add dev eth0 parent 1:0 protocol ip handle 2 fw flowid 1:12
tc filter add dev eth0 parent 1:0 protocol ip handle 3 fw flowid 1:13
tc filter add dev eth0 parent 1:0 protocol ip handle 4 fw flowid 1:14
Dik za odpoved
            
 ale nevim proc jen do internetu 
downstream bude 256Kbit
upstream bude 128Kbit
potrebuju omezit ty tri adresi ktere jsou v tom scriptu
            #    --upstream--
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1:0 htb
tc class add dev eth0 parent 1:0 classid 1:1 htb rate ${UPRATE}kbit quantum 1500
tc class add dev eth0 parent 1:1 classid 1:11 htb rate $[${UPRATE}/4]kbit ceil ${UPRATE}kbit quantum 1500
tc class add dev eth0 parent 1:1 classid 1:12 htb rate $[${UPRATE}/4]kbit ceil ${UPRATE}kbit quantum 1500
tc class add dev eth0 parent 1:1 classid 1:13 htb rate $[${UPRATE}/4]kbit ceil ${UPRATE}kbit quantum 1500
tc class add dev eth0 parent 1:1 classid 1:14 htb rate $[${UPRATE}/4]kbit ceil ${UPRATE}kbit quantum 1500 
tc qdisc add dev eth0 parent 1:11 handle 11:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:12 handle 12:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:13 handle 13:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:14 handle 14:0 sfq perturb 10 
#    --downstream--
tc qdisc del dev eth2 root
tc qdisc add dev eth2 root handle 1:0 htb
tc class add dev eth2 parent 1:0 classid 1:1 htb rate ${DOWNRATE}kbit quantum 1500
tc class add dev eth2 parent 1:1 classid 1:11 htb rate $[${DOWNRATE}/4]kbit ceil ${DOWNRATE}kbit quantum 1500
tc class add dev eth2 parent 1:1 classid 1:12 htb rate $[${DOWNRATE}/4]kbit ceil ${DOWNRATE}kbit quantum 1500
tc class add dev eth2 parent 1:1 classid 1:13 htb rate $[${DOWNRATE}/4]kbit ceil ${DOWNRATE}kbit quantum 1500
tc class add dev eth2 parent 1:1 classid 1:14 htb rate $[${DOWNRATE}/4]kbit ceil ${DOWNRATE}kbit quantum 1500 
tc qdisc add dev eth2 parent 1:11 handle 11:0 sfq perturb 10
tc qdisc add dev eth2 parent 1:12 handle 12:0 sfq perturb 10
tc qdisc add dev eth2 parent 1:13 handle 13:0 sfq perturb 10
tc qdisc add dev eth2 parent 1:14 handle 14:0 sfq perturb 10 
#    --filtering--
tc filter add dev eth0 parent 1:0 protocol ip handle 1 fw flowid 1:11
tc filter add dev eth0 parent 1:0 protocol ip handle 2 fw flowid 1:12
tc filter add dev eth0 parent 1:0 protocol ip handle 3 fw flowid 1:13
tc filter add dev eth0 parent 1:0 protocol ip handle 4 fw flowid 1:14 
tc filter add dev eth2 parent 1:0 protocol ip handle 1 fw flowid 1:11
tc filter add dev eth2 parent 1:0 protocol ip handle 2 fw flowid 1:12
tc filter add dev eth2 parent 1:0 protocol ip handle 3 fw flowid 1:13
tc filter add dev eth2 parent 1:0 protocol ip handle 4 fw flowid 1:14 
Potud to bylo jenom zobecnění Tvého skriptu. Důvod, proč to nechodilo, byl ve špatném markování. Musíš si uvědomit, že si shapoval odchozí traffic na eth2 a markoval jsi v prvním kroku všechny pakety forwardované routerem značkou "4", potud je to OK, ale potom jsi markoval jenom příchozí forwardované pakety značkami 1,2,3. To proto, že tam máš podmínku -d, čili cílovou IP. Aby to chodilo, musel bys použít -s. Nicméně pro můj skript je třeba markování rozšířit, pro oba směry, jenom to číslo "4" může zůstat, to platí obecně. Takže za iptables část by pak vypadala takto:
iptables -t mangle -A FORWARD -j MARK --set-mark 4
iptables -t mangle -A FORWARD -i eth0 -d 10.176.0.34 -j MARK --set-mark 1
iptables -t mangle -A FORWARD -i eth0 -d 10.176.0.71 -j MARK --set-mark 2
iptables -t mangle -A FORWARD -i eth0 -d 10.176.0.2  -j MARK --set-mark 3 
iptables -t mangle -A FORWARD -o eth0 -s 10.176.0.34 -j MARK --set-mark 1
iptables -t mangle -A FORWARD -o eth0 -s 10.176.0.71 -j MARK --set-mark 2
iptables -t mangle -A FORWARD -o eth0 -s 10.176.0.2  -j MARK --set-mark 3 
jinak pomocí
watch -n 1 iptables -t mangle -L -v -n
ověříš markování
a pomocí 
watch -n 1 tc -s class show dev eth0
resp.
watch -n 1 tc -s class show dev eth2
ověříš rozhazování paktů do tříd.
zatím
            
  dekuji moc za pomoct uz me to funguje jak ma
zatím
            
 ) tak jeste jednou dekuji za radu
            
        Tiskni
            
                Sdílej:
                
                
                
                
                
                
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.