DSL 8 Mbit, podział na 10 komputerow

Serwery i sieci oparte na Slackware, wszelkiego rodzaju usługi, troubleshooting.

Moderatorzy: Moderatorzy, Administratorzy

croan
Użytkownik
Posty: 10
Rejestracja: 2008-05-07, 09:48

DSL 8 Mbit, podział na 10 komputerow

Post autor: croan »

Witam, mam pytanie, czy ktoś z Was dysponuje gotowym skryptem do podziału łącza przez htb? Mam na myśli również podział upload'u. Podział 80 kb na 10 komputerów w ten sposob zeby nie skakaly pingi w cs i innych grach sieciowych. Mam zainstalowany kernel z linuxbox ze storny djgregora, slackware wersja 12. Niestety w counter striku pingi czasem skacza do 1000 ms i chcialbym tę niedogodnośc wyeliminowac.
Robert
Awatar użytkownika
dienet
Moderator
Posty: 2105
Rejestracja: 2007-07-24, 18:58
Lokalizacja: Racibórz/Rybnik

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: dienet »

A ile płacisz? ;]
Pozdr0
dienet
[img]http://i164.photobucket.com/albums/u19/slawek15/kotekeo0lq3.jpg[/img]
croan
Użytkownik
Posty: 10
Rejestracja: 2008-05-07, 09:48

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: croan »

daj numer tel.
Awatar użytkownika
webster
Użytkownik
Posty: 1269
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: webster »

chcesz jedynie kontrolowac transfer na podstawie portow na ktorych grasz, czy kazdemu porowno przydzielic lacza ?
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook
croan
Użytkownik
Posty: 10
Rejestracja: 2008-05-07, 09:48

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: croan »

chce dać każdemu po rowno łącze, może być na sztywno, ważne żeby pingi nie skakaly
Awatar użytkownika
webster
Użytkownik
Posty: 1269
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: webster »

Troche wypilem, ale naskrobalem cos takiego :) powinno dzialac :) Zwroc uwage na siec jaka jest w petli while, dalem 192.168.0 standardowo, zmien jak masz inaczej

Kod: Zaznacz cały

echo "Uruchamiam HTB ..."
echo
echo "################################### USTAWIENIA GLOBALNE ##############################"
echo "########### Interfejsy"
LAN="eth0"      ;echo Lan: $LAN
NET="eth1"      ;echo Wyjscie do neta: $NET
echo
#############################################################################################
echo "# Przedial tranferu NETA ..."
MAX_DOWN="10000kbit"
MIN_DOWN="10000kbit"

MAX_UP="10000kbit"
MIN_UP="10000kbit"
echo "DOWNLOAD:"
echo -n "Max: $MAX_DOWN" ; echo "       Min: $MIN_DOWN";
echo 
echo "UPLOAD:"
echo -n "Max: $MAX_UP" ; echo "    Min: $MIN_UP";
echo

echo "######################################################################################"
echo "############# User"
echo "# Przedial tranferu dla User ..."
MAX_DOWN_USER="1000kbit"
MIN_DOWN_USER="1000kbit"

MAX_UP_USER="1000kbit"
MIN_UP_USER="1000kbit"

echo "DOWNLOAD:"
echo -n "Max: $MAX_DOWN_USER" ; echo "       Min: $MIN_DOWN_USER";
echo 
echo "UPLOAD:"
echo -n "Max: $MAX_UP_USER" ; echo "    Min: $MIN_UP_USER";
echo 

echo "################# Ustawiam HTB dla Downloadu -> pakiet wchodzi do $LAN
#####################"
tc qdisc del root dev $LAN
tc qdisc add dev $LAN root handle 1:0 htb default 1
tc class add dev $LAN parent 1:0 classid 1:1 htb rate $MAX_DOWN ceil $MIN_DOWN prio 1 quantum 1500
tc class add dev $LAN parent 1:1 classid 1:2 htb rate $MAX_DOWN_USER ceil $MIN_DOWN_USER prio 2 quantum 1500

ip=0
        while [ "$ip" != "254" ];
do ip=`expr $ip + 1`; tc filter add dev $LAN protocol ip parent 1:0 u32 match ip dst 192.168.0.$ip flowid 1:2
        done

echo "OK."


echo 
echo "################ Ustawiam HTB dla Uploadu -> pakiet wychodzi przez $NET
#####################"
tc qdisc del root dev $NET
tc qdisc add dev $NET root handle 1:0 htb default 1
tc class add dev $NET parent 1:0 classid 1:1 htb rate $MAX_DOWN ceil $MIN_DOWN prio 1 quantum 1500
tc class add dev $NET parent 1:1 classid 1:2 htb rate $MAX_DOWN_USER ceil $MIN_DOWN_USER prio 2 quantum 1500
        
ip=0
        while [ "$ip" != "254" ];
do ip=`expr $ip + 1`; tc filter add dev $NET protocol ip parent 1:0 u32 match ip src 192.168.0.$ip flowid 1:2
        done
echo "OK."
Ostatnio zmieniony 2009-10-22, 20:59 przez webster, łącznie zmieniany 3 razy.
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook
croan
Użytkownik
Posty: 10
Rejestracja: 2008-05-07, 09:48

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: croan »

Wielkie dzieki, dzisiaj to przetestuje :)
pozdrawiam
Awatar użytkownika
webster
Użytkownik
Posty: 1269
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: webster »

nie ma sprawy, Daj cynq czy pomoglo :)
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook
memus
Użytkownik
Posty: 245
Rejestracja: 2005-09-27, 17:17

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: memus »

Ten skrypt webstera jest dziwny. Tworzysz jedną klasę i kierujesz do niej wszystkie komputery. Nie wiem w takim razie po co ta jedna klasa ma ustawioną minimalna przepustowość.
Ostatnio zmieniony 2009-10-23, 19:10 przez memus, łącznie zmieniany 1 raz.
Pajaczek
Użytkownik
Posty: 1439
Rejestracja: 2006-08-03, 13:16
Lokalizacja: Winny Gród

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: Pajaczek »

He he... faktycznie dobre to. Ale to nie jedyna niedoróbka tego "skryptu".

Wydajesz się nie rozróżniać Downloadu od Uploadu, fakt definiujesz 4 wartości, ale w obu kierunkach używasz MAX_DOWN*, czyli zaledwie 2 z nich, w dodatku wszystkie 4 mają taką samą wartość, po co więc tyle ich stworzyłeś.

Przy tak napisanym skrypcie, htb będzie ucinał do: 1mbit ściągania (dla wszystkich) oraz... 1mbit wysyłania - co znacznie przekracza standardowe możliwości DSL8 (640kb?). O ile obcięcie 8mbit do 1 spowoduje jakieś tam kształtowanie pasma, choć bezsensownie stratne, o tyle to drugie "przycinanie" już jest całkiem bzdurne, bo spowoduje... nic, żadne kształtowanie nie będzie miało miejsca. Nie użyłeś żadnego miksowania - sfq, tbf... to hasła na dziś.

Kod: Zaznacz cały

rate $MAX_DOWN ceil $MIN_DOWN
I tak 4 razy... MAX_* sugeruje, że może być większe od MIN_* otóż nie może, ceil nie może być mniejsze od rate, bo traci to sens.

[ Dodano: 2009-10-23, 20:46 ]
webster pisze:Daj cynq czy pomoglo
Nieładnie tak eksperymentować na innych :twisted:
memus
Użytkownik
Posty: 245
Rejestracja: 2005-09-27, 17:17

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: memus »

webster pisze:Troche wypilem, ale naskrobalem cos takiego :)
Pajaczek chyba jednak trzeba go usprawiedliwić ;p
croan
Użytkownik
Posty: 10
Rejestracja: 2008-05-07, 09:48

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: croan »

Witam, niestety po głębszym przetestowaniu regulki nie działają prawidłowo. Czy ktoś może mi pomóc w powyższym temacie ?
Awatar użytkownika
bzyk
Moderator w st. spocz.
Posty: 991
Rejestracja: 2004-06-05, 06:32
Lokalizacja: Pszczyna
Kontakt:

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: bzyk »

nicesharper i wyciac w diably cale p2p - lub bardzo powaznie je ograniczyc.
Na forum mozesz dostac wedke. Jezeli chcesz rybe to musisz zaplacic.
In /dev/null no one can hear you scream.
Pajaczek
Użytkownik
Posty: 1439
Rejestracja: 2006-08-03, 13:16
Lokalizacja: Winny Gród

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: Pajaczek »

croan pisze:niestety po głębszym przetestowaniu regulki nie działają prawidłowo.
Działają prawidłowo... tzn. tak, jak je ktoś napisał - bzdurnie. A że nie spełnia to Twojego założenia, to nic dziwnego. Przeczytaj sobie powyżej dlaczego.
bzyk pisze:Na forum mozesz dostac wedke. Jezeli chcesz rybe to musisz zaplacic.
Zawsze może karmić się rybą taką, jak powyższa - darmowa i w promocji... tylko trochę śmierdzi.

Tak między nami, to trochę poczytać, jakiś tam szkielet już wyżej masz, przerób to by było zgodne z założeniami i już.
Ostatnio zmieniony 2009-10-30, 00:43 przez Pajaczek, łącznie zmieniany 1 raz.
croan
Użytkownik
Posty: 10
Rejestracja: 2008-05-07, 09:48

Re: DSL 8 Mbit, podział na 10 komputerow

Post autor: croan »

tak miedzy nami, to niceshaper nie chce sie u mnie skompilować bo mi wywala błędy, mam kompilacje gotową z innej wersji gcc i nie działa prawidłowo na obecnej, tylko jeszcze gorzej niż bez podziału. Co do wędki, tylko pytałem ... nie chcecie pomagać to napiszcie. Chyba to najprostszy sposób komunikacji międzyludzkiej. To wszystko. Dzięki Pa
ODPOWIEDZ