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/
