Skocz do zawartości

Przycięcia W Htb


Echelon_

Rekomendowane odpowiedzi

Witam, od pewnego czasu próbuję jakoś administrować siecią. Niestety praktycznie wcale nie znam się na (_linuxie_ → Linuksie) ORT. Pewien kolega skonfigurowal dla mnie przyciecia dla mojej sieci (HTB), ale niestety stracilem z nim koontakt i zwracam sie do was.

 

Co musze dopisac i w ktorych liniach, aby moc przyciac jeden z komputerow w mojej sieci bardziej, niz pozostale (np. 213.227.73.135)? Gosc mi podpadl, a nie chce kompletnie zablokowac mu dostepu do internetu, tylko przyciac go do np. 5 KB/s. Proszę, nie odsyłajcie mnie do manuali, bo moje studia naprawde nie pozwalają mi na spędzanie czasu na czytaniu setek, czy tysięcy stron i experymantowaniu :(.

 

Jeżeli ktoś potrafi mi pomoć, to bardzo proszę. A może wiecie co dokladnie wpisac, zeby np. dluznikow wrzucic do jakiejs bardzo wolnej klasy (tak to sie chyba nazywa)? Proszę o podawanie dokładnych komend i linijek, w ktore mam je wpisac. Wiem, ze to nieladnie z mojej strony, ale w inny sposob naprawde sobie nie poradze (probuje juz od ponad miesiaca).

 

W mojej sieci niektore komputery sa na maskaradzie, a niektore na adresach zewntrznych (213.227.73.130-142).

 

Konfiguracja HTB:

 

IN_SPEED="96kbit ceil 160kbit"

OUT_SPEED="96kbit ceil 160kbit"

 

echo -n "HTB: Tworze klasy i filtry"

tc qdisc del dev eth0 root handle 1: htb 2>/dev/null > /dev/null; echo -n "."

tc qdisc del dev eth1 root handle 1: htb 2>/dev/null > /dev/null; echo -n "."

 

tc qdisc add dev eth0 root handle 1: htb default 100; echo -n "."

tc qdisc add dev eth1 root handle 1: htb default 100; echo -n "."

 

tc class add dev eth0 parent 1: classid 1:1 htb rate 1Mbit prio 3; echo -n "."

tc class add dev eth1 parent 1: classid 1:1 htb rate 100Mbit prio 3; echo -n "."

 

 

# po LAN transfer s pelna predkoscia

tc class add dev eth1 parent 1:1 classid 1:2 htb rate 100Mbit prio 3

tc filter add dev eth1 parent 1: protocol ip prio 3 u32 match ip src 213.227.73.128/28 flowid 1:2

tc filter add dev eth1 parent 1: protocol ip prio 3 u32 match ip src 192.168.1.0/24 flowid 1:2

 

 

echo "ok"

echo "HTB: Ustawiam regulki dla:"

 

echo " - adresow rutowalnych z podsieci 213.227.73.128/28"

i=131

while [ $i -le 142 ]; do

ii=$[i+5000]

# IN

tc class add dev eth1 parent 1:1 classid 1:$ii htb rate $IN_SPEED prio 3 burst 3k

tc filter add dev eth1 parent 1: protocol ip prio 3 u32 match ip dst 213.227.73.$i flowid 1:$ii

# OUT

tc class add dev eth0 parent 1:1 classid 1:$ii htb rate $OUT_SPEED prio 3 burst 3k

tc filter add dev eth0 parent 1: protocol ip prio 3 u32 match ip src 213.227.73.$i flowid 1:$ii

 

i=$[i+1]

done

 

 

echo " - adresow wewnetrznych z podsieci 192.168.1.0/24"

i=2

while [ $i -le 254 ]; do

ii=$[i+1000]

# IN

tc class add dev eth1 parent 1:1 classid 1:$ii htb rate $IN_SPEED prio 3 burst 3k

tc filter add dev eth1 parent 1: protocol ip prio 3 u32 match ip dst 192.168.1.$i flowid 1:$ii

# OUT

## iptables -A POSTROUTING -t mangle -o eth0 -s 192.168.1.$i -j MARK --set-mark $ii

tc class add dev eth0 parent 1:1 classid 1:$ii htb rate $OUT_SPEED prio 3 burst 3k

tc filter add dev eth0 parent 1: protocol ip handle $ii fw flowid 1:$ii

 

i=$[i+1]

done

 

echo "HTB: Koniec"

Odnośnik do komentarza
Udostępnij na innych stronach

jednego kolesia tak latwo nie przytneisz jesli chcesz uzyc swojej konfiguracji, powod jest taki ze stosujesz w niej petle, wiec od razu przycinasz wszystkim z tego zakresu, jesli chcesz wybrac tylko tego jednego kolesia to musisz pozmieniac ten kod.

 

na szybkiego to tak:

------ciach---
echo " - adresow rutowalnych z podsieci 213.227.73.128/28"
i=131
while [ $i -le 134 ]; do
ii=$[i+5000]

if [ $i = 135 ]; then
i=136;
fi


# IN
tc class add dev eth1 parent 1:1 classid 1:$ii htb rate $IN_SPEED prio 3 burst 3k
tc filter add dev eth1 parent 1: protocol ip prio 3 u32 match ip dst 213.227.73.$i flowid 1:$ii
# OUT
tc class add dev eth0 parent 1:1 classid 1:$ii htb rate $OUT_SPEED prio 3 burst 3k
tc filter add dev eth0 parent 1: protocol ip prio 3 u32 match ip src 213.227.73.$i flowid 1:$ii

i=$[i+1]
done

#tutaj mozesz pobawic sie tymy wartosciami 96kbit i 160kbit, pamietaj ze to jest w bitach a nie w bajtach  (1bajt = 8 bitow), wiec pozmniejszaj je tak jak chcesz 
# IN dla tego 135
tc class add dev eth1 parent 1:1 classid 1:5135 htb rate 96kbit ceil 160kbit prio 3 burst 3k
tc filter add dev eth1 parent 1: protocol ip prio 3 u32 match ip dst 213.227.73.135 flowid 1:5135
# OUT dla tego 135
tc class add dev eth0 parent 1:1 classid 1:5135 htb rate 96kbit ceil 160kbit prio 3 burst 3k
tc filter add dev eth0 parent 1: protocol ip prio 3 u32 match ip src 213.227.73.135 flowid 1:5135
--------ciach--------------

 

jak widzisz, dodalem tam cos takiego w petli:

if [ $i = 135 ]; then

i=136;

fi

 

spowoduje to ze, adres ip z koncowka 135 zostanie pominiety, potem po zakonczneiu petli dla tego jednego wyselekcjowanego adresu przydzielilem pasmo, i tyle

pewnie da sie to zrobic ladniej, ale nie programuje w bashu....

Odnośnik do komentarza
Udostępnij na innych stronach

Bardzo Ci dziękuję :))). Zadziałało! :)

 

A czy da się to zastosować dla ip wewnetrznych (czyli jakiegos ip 192.168.1.xxx)? Probówałem przerobic regulke i wrzucic dla jakiegos IP wewnetrznego, ale niestety nie dziala.

 

EDIT: Jednak nie działa. Do numeru 134 jest OK, 135 jest przyciety, ale wszystkie numery kolejne ((_wogole_ → w ogóle) ORT → w ogóle) ORT nie podlegaja zadnemu przycieciu, tak, jakby nie byly uwzglednione :(

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 weeks later...

Jednak nie działa. Do numeru 134 jest OK, 135 jest przyciety, ale wszystkie numery kolejne ((_wogole_ → w ogóle) ORT → w ogóle) ORT nie podlegaja zadnemu przycieciu, tak, jakby nie byly uwzglednione

 

a racja, pomylilem sie przy wpisywaniu zakresu:

zamiast:

echo " - adresow rutowalnych z podsieci 213.227.73.128/28"
i=131
while [ $i -le 134 ]; do
ii=$[i+5000]

 

powinno byc:

echo " - adresow rutowalnych z podsieci 213.227.73.128/28"
i=131
while [ $i -le 142 ]; do
ii=$[i+5000]

 

ta liczba 142 oznacza ostatnia cyferke IP a ja wpsialem u gory 134 to z tego rozpedu :P

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...