Sal,
Am si eu o intrebare/problema cum vreti sa-i spuneti. Ea suna cam asa: Am o 
banda metro de 50Mbits si extern de 2Mbits. Am un GW cu 2 placi de retea. Pe 
eth0 am ip-ul dat de ISP. Am 2 clase pe care fac FW cf indicatiilor ISP-ului si 
sunt rutate /23. Acum:
- am incercat sa fac un script HTB care sa poata face garantari SEPARAT pe 
rutele de ext/metro. Ex: (clasele mele sunt xxx.xxx.178.0/23) pe ip-ul 178.7 
vreau 256Kbits ext si 8Mbits metro; pe IP-ul 178.200 vreau 64kbits ext si 1Mbit 
metro. Ratele de upload sa fie la jumatatea celor de dw (daca pot sa le 
introduc eu manual ar fi perfect).
- un prieten mi-a dat urmatorul script: 
#!/bin/bash
ETH_IN="eth1"
ETH_OUT="eth0"
BANDA_TOTALA="2Mbit"
# pentru neclasificati ar trebui sa fie banda minima  - 1k  - aici ar trebui sa 
ajunga trafic necunoscut,
# care nu e organizat in shape-uri
BANDA_NECLASIFICATI="8kbit"

#Shape-uri generale
/sbin/tc qdisc del dev $ETH_IN root
/sbin/tc qdisc del dev $ETH_OUT root
/sbin/tc qdisc add dev $ETH_IN root handle 1 htb default 10 r2q 2
/sbin/tc qdisc add dev $ETH_OUT root handle 1 htb default 10 r2q 2
/sbin/tc class add dev $ETH_IN parent 1: classid 1:2 htb rate $BANDA_TOTALA
/sbin/tc class add dev $ETH_OUT parent 1: classid 1:2 htb rate $BANDA_TOTALA
/sbin/tc class add dev $ETH_IN parent 1:2 classid 1:10 htb rate 
$BANDA_NECLASIFICATI prio 4
/sbin/tc class add dev $ETH_OUT parent 1:2 classid 1:10 htb rate 
$BANDA_NECLASIFICATI prio 4

#Shape-uri client 1 - IP 194.126.178.1 si 194.126.179.0/28
/sbin/tc class add dev $ETH_IN parent 1:2 classid 1:101 htb rate 1024kbit ceil 
1100kbit quantum 65000 prio 4 burst 10k
/sbin/tc class add dev $ETH_OUT parent 1:2 classid 1:101 htb rate 1024kbit ceil 
1100kbit quantum 65000 prio 4 burst 10k
/sbin/tc filter add dev $ETH_IN parent 1:0 protocol ip prio 100 u32 match ip 
dst 194.126.178.7/32 classid 1:101
/sbin/tc filter add dev $ETH_OUT parent 1:0 protocol ip prio 100 u32 match ip 
src 194.126.178.7/32 classid 1:101
#/sbin/tc filter add dev $ETH_IN parent 1:0 protocol ip prio 100 u32 match ip 
dst 194.126.179.0/28 classid 1:101
#/sbin/tc filter add dev $ETH_OUT parent 1:0 protocol ip prio 100 u32 match ip 
src 194.126.179.0/28 classid 1:101


#Shape-uri client 2 - IP 194.126.178.128/25
#/sbin/tc class add dev $ETH_IN parent 1:2 classid 1:102 htb rate 15Mbit ceil 
15Mbit quantum 65000 prio 4 burst 10k
#/sbin/tc class add dev $ETH_OUT parent 1:2 classid 1:102 htb rate 20Mbit ceil 
30Mbit quantum 65000 prio 4 burst 10k
#/sbin/tc filter add dev $ETH_IN parent 1:0 protocol ip prio 100 u32 match ip 
dst 194.126.178.128/25 classid 1:102
#/sbin/tc filter add dev $ETH_OUT parent 1:0 protocol ip prio 100 u32 match ip 
src 194.126.178.128/25 classid 1:102


# in exemplul asta clientul 1 are 2 subnet-uri si banda download = banda upload 
= 10 Mb garantati si 20 Mb limita
# iar clientul 2 are un subnet si banda download fixata la 15Mb si upload 20Mb 
garantat si 30 Mb limita superioara

# ATENTIE la filtrele pe eth-uri. Intotdeauna se pun la plecarea pe respectivul 
eth.
# Ex. pt. pachete catre 194.126.178.2 download-ul va intra pe eth0 si va
# iesi pe eth1 asa ca se pune filtrul pt. download pe eth1 cu dst
# iar upload-ul va intra pe eth1 (dinspre client) si va iesi pe eth0 (spre
# provider) asa ca se va pune filtrul pe eth0 cu src
 

el a mentionat faptul ca acest script face garantarile si limitele doar pt 
banda externa. Testand pe ip-ul 178.7 .. stupoare: scriptul limiteaza TOT in 
valorile introduse de mine. Am si un script care foloseste iptables+mangle insa 
isi pierde regulile (nu stiu din ce cauza) dupa aproximativ 5 minute.

- mentionez faptul ca am toate clasele de metro intr-un fisier numit clases. 

Pls help pt k sunt disperat!
Vlad

--- 
Detalii despre listele noastre de mail: http://www.lug.ro/


Raspunde prin e-mail lui