Prosba o opinie (routing i qos)

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

Moderatorzy: Moderatorzy, Administratorzy

rompere
Użytkownik
Posty: 24
Rejestracja: 2008-01-05, 19:14

Prosba o opinie (routing i qos)

Post autor: rompere »

Witam wszystkich,
Od paru dni zajmuje sie siecia komputerowa w jednej firmie udostepniajacej internet prywatnym uzytkownikom. Siec jest dosyc zaniedbana jesli chodzi o routing i musze w niej zrobic troche porzadkow - Uzytkownicy coraz czesciej narzekaja na problemy glownie jesli chodzi o gry, skype i multimedia. Niestety nie mam duzego doswiadczenia jesli chodzi o qos, dlatego mam pare pytan.
Na poczatek pare informacji:
- do sieci podlaczone jest ok 150 komputerow
- w tej chwili czekamy na podlaczenie kolejnego DSL i lacznie beda 3 DSL'e - 2 x 8Mbps i 1 x 4Mbps
- obecnie routing jest realizowany przez przekierowanie uslug na konkretne lacze i do tego jest dolaczony jakis skrypt htb z priorytetami na gry i www
- Serwer jest postawiony na calkiem niezlym sprzecie - Intel Core 2 Duo + 2GB RAM, zainstalowany swiezy Slackware 12 z przekompilowanym kernelem 2.6.21.5 (dodana obsluga Layer7)

Moim celem jest przygotowanie calej konfiguracji od podstaw - glownie jesli chodzi o qos i dopisanie do tego wszystkiego jakiegos porzadnego interfejsu w php.
A teraz pare pytan o wasze opinie na temat konfiguracji w sieci takiej jak ta:

1. ROUTING - co jest tutaj lepszym rozwiazaniem - podzial uslug na lacza, czy przydzielenie userow do konkretnego lacza (osobiscie chyba wole podzial wg uslug ze wzgledu na rozne przepustowosci lacz)
2. QOS - jak najlepiej to rozwiazac - czy powinienem zastosowac kolejki dla kazdego uzytkownika osobno, czy moze jakis porzadne kolejkowanie uslug? A moze skrypt taki jak ten http://linuxreviews.org/howtos/networki ... x2332.html
3. Co jeszcze do tego wszystkiego dorzucic (nie liczac squid bo juz zaczalem stawiac transparent proxy)

Wiem ze pytania sa dosyc ogolne, ale zalezy mi bardzo na opinii ludzi ktorzy maja juz doswiadczenie w administracji takimi sieciami. Nie chcial bym siedziec nad czyms co sie nie sprawdzi, a chce to rozwiazac porzadnie. Dzieki za wszystkie informacje.
Awatar użytkownika
ondreyos
Użytkownik
Posty: 331
Rejestracja: 2007-11-01, 17:31
Lokalizacja: Poznań

Re: Prosba o opinie (routing i qos)

Post autor: ondreyos »

a nie rozwazaliscie zmiany lacza? zamiast kilku klejonych dsl'i czy innych kombinacji, lepiej jedno porzadne lacze. sam mialem do serwera zestawione lacze 15mbit full duplex od gts-energis. pomijajac kwestie ulatwienia konfiguracji routera/serwera, jakosciowo bylo to lacze lepsze od dsl'i. wieksza wytrzymalosc jesli chodzi m. in. o ilosc pakietow, poza tym dsl ma kiepski upload (sprawdzilem przed chwila na stronie tepsy, czy czegos nie zmienili - 4mbit dsl ma upload 512, a 8mbit 640kbit... do tego pula osmioadresowa - wiec ludziom nie dasz raczej zewnetrznych adresow - a to fajna sprawa. w gts, futuro czy innych takich firmach mozesz praktycznie od reki dostac 256 adresow) - a ludziom korzystajacym np. ze skejpa to sie przydaje (pomijam takie ''oczywiste oczywistosci'' jak to, ze przeladowany upload spowoduje kiepskie dzialanie lacza, nawet jesli 50% czy wiecej downstreamu bedzie wolne)

co do pytania drugiego - w duzym skrocie mozna miec i wilka calego i owce cala (czyli podzial i na ludzi i na klasy/rodzaje ruchow) - zainteresuj sie imq. ja bym nawet zaczal od tego, a pozniej juz dopieszczal cala konfiguracje dodajac layer7

czy dzielic ludzi na lacza? pomijajac uzycie imq, ja bym zrobil (jesli pozostajemy przy opcji skladania lacza z kilku dsl'i) raczej podzial na uslugi - np. www,poczte i inne rzeczy, ktore przez ludzi sa najbardziej odczuwalne (czyli predzej zadzwonia z pretensjami, ze lacze zle dziala, jak bedzie sie strona powoli otwierac, a nie przy slabym transferze z osiolka) puscic jednym laczem (np. tym 4mbit) a ruch masowy pozostalymi. plus oczywiscie monitorowanie, ile ludziska zuzywaja i w razie czego korekty. chociaz najlepszym rozwiazaniem byloby jak pisalem zestawic jedno porzadne lacze (plus mozna zostawic jednego dsl'a w razie awarii lacza glownego, podczas normalnej pracy wykorzystywane np. do p2p).

jeszcze jedna rzecz mi przyszla do glowy. w wypadku przypisaniu rodzajow ruchu do lacza niektorzy ludzie moga nagrzebac w konfiguracjach programow np. p2p i miec z tego powodu problemy. sam tego nie mialem, ale widzialem pare razy u kolegi. wchodzi taki typek na strone whatismyip.com i widzi, ze ma adres 3.4.5.6 - bo www idzie w swiat np. dsl'em 4mbit. wiec taki sam adres wpisuje w ustawieniach osiolka. ale ruch p2p idzie przez lacze o adresie 3.4.7.9 - i zczynaja sie schody ;)

pozdr.
rompere
Użytkownik
Posty: 24
Rejestracja: 2008-01-05, 19:14

Re: Prosba o opinie (routing i qos)

Post autor: rompere »

Dzieki wielkie za odpowiedz.
Jesli chodzi o lacza to chyba bede musial o tym porozmawiac z szefem, ale nie jestem pewien jak to wychodzi kosztowo - musze sie rozejrzec po cenach bo z tego co wiem za te dsl'e placimy okolo 1200 netto.
Jesli chodzi o routing, to zakladajac ze pozostaniemy przy dsl zdecyduje sie raczej wlasnie na podzial wg uslug.
A co do kolejkowania, to jak to sie w praktyce odbywa? Musze najpierw zalozyc kolejki na uslugi, a pozniej na ip, czy odwrotnie?
I jeszcze jedno pytanie - czy jest jakis skuteczny sposob na skype? Mam spory problem z wysylaniem, ale glownie dlatego ze nie wiem jak oznaczyc te pakiety. Probowalem z layer7 ale cos nie bardzo mi to wychodzi.
Ostatnio zmieniony 2008-01-06, 15:31 przez rompere, łącznie zmieniany 1 raz.
Awatar użytkownika
ondreyos
Użytkownik
Posty: 331
Rejestracja: 2007-11-01, 17:31
Lokalizacja: Poznań

Re: Prosba o opinie (routing i qos)

Post autor: ondreyos »

1) dzieki za ''pomogl'' :)

2) nie chce wyjsc na buraka, ale poczytaj dokladnie o imq. nie da sie tego w jednym zdaniu opisac ;)

3) co do skype - e tej chwili ci nie powiem, ale za tak max. 2 tygodnie sam bede sie z tym problemem spotykal. wiec jesli do tego czasu sobie nie poradzisz, to daj znac - moze cos ciekawego napisze. i odwrotnie - jesli sam cos wymyslisz, to prosze - wrzuc na forum.

pozdr.
rompere
Użytkownik
Posty: 24
Rejestracja: 2008-01-05, 19:14

Re: Prosba o opinie (routing i qos)

Post autor: rompere »

Ok, z tego jak ja rozumiem imq, to jest to tylko podniesienie wirtualnych interfejsow dzieki ktorym mozna kontrolowac upload/download przy uzyciu htb. Ale moje pytanie dotyczy tego gdzie zakladac kolejki dla uzytkownikow, a gdzie dla uslug?
Poza tym zastanawiam sie czy jest sens zakladac kolejki na uslugi jesli juz bede mial kolejki dla uzytkownikow?
No i w koncu jak kolejkowac uzytkownikow? Czy mozna to zrobic podnoszac imq dla kazdego z lacz i tam zakladac kolejki dla userow? np. upload dla ip 192.168.0.2 bede mial:

Kod: Zaznacz cały

ip link set imq0 up
tc qdisc del dev imq0 root
tc qdisc add dev imq0 root handle 1: htb default 10
tc class add dev imq0 parent 1: classid 1:1 htb rate MAX_UPLOAD ceil MAX_UPLOAD
tc class add dev imq0 parent 1:1 classid 1:20 htb rate USER_UPLOAD ceil MAX_UPLOAD
tc filter add dev imq0 parent 1: protocol ip prio 1 u32 match ip src 192.168.0.2/24 flowid 1:20
tc qdisc add dev imq0 parent 1:20 handle 20:0 sfq perturb 10

iptables -t mangle -A POSTROUTING -o eth0 -j IMQ --todev 0
------------------------------------------------------------------------------
ip link set imq1 up
tc qdisc del dev imq1 root
tc qdisc add dev imq1 root handle 1: htb default 10
tc class add dev imq1 parent 1: classid 1:1 htb rate MAX_UPLOAD ceil MAX_UPLOAD
tc class add dev imq1 parent 1:1 classid 1:20 htb rate USER_UPLOAD ceil MAX_UPLOAD
tc filter add dev imq1 parent 1: protocol ip prio 1 u32 match ip src 192.168.0.2/24 flowid 1:20
tc qdisc add dev imq1 parent 1:20 handle 20:0 sfq perturb 10

iptables -t mangle -A POSTROUTING -o eth1 -j IMQ --todev 1
------------------------------------------------------------------------------
ip link set imq2 up
tc qdisc del dev imq2 root
tc qdisc add dev imq2 root handle 1: htb default 10
tc class add dev imq2 parent 1: classid 1:1 htb rate MAX_UPLOAD ceil MAX_UPLOAD
tc class add dev imq2 parent 1:1 classid 1:20 htb rate USER_UPLOAD ceil MAX_UPLOAD
tc filter add dev imq2 parent 1: protocol ip prio 1 u32 match ip src 192.168.0.2/24 flowid 1:20
tc qdisc add dev imq2 parent 1:20 handle 20:0 sfq perturb 10

iptables -t mangle -A POSTROUTING -o eth2 -j IMQ --todev 2
A moze ktos zna gotowe rozwiazania takiej konfiguracji.
Awatar użytkownika
matryc
Użytkownik
Posty: 74
Rejestracja: 2005-10-30, 09:51
Lokalizacja: Dąbrowa Tarnowska

Re: Prosba o opinie (routing i qos)

Post autor: matryc »

Czy mozna to zrobic podnoszac imq dla kazdego z lacz i tam zakladac kolejki dla userow?
Tak! Można założyć IMQ na każdy interfejs (ściąganie i wysyłanie osobno) i tam zakładać kolejki ale również można np. upload ze wszystkich interface wrzucić do jednego IMQ.
Poza tym zastanawiam sie czy jest sens zakladac kolejki na uslugi jesli juz bede mial kolejki dla uzytkownikow?
Jeśli chcesz robić kolejki dla każdego IP osobno to można to zrobić w takiej hierarchii, że najpier zakładasz kolejki dla każdego a potem jeszcze wewnątrz tej kolejki dla usług ale nie wydaje mi sie by bylo to sprawnym rozwiazaniem ze wzgledu na to, ze i tak majac 3 lacza i robiac routing robisz "kolejki" dla uslug bo dzielisz co na jakim laczu ma isc.
rompere
Użytkownik
Posty: 24
Rejestracja: 2008-01-05, 19:14

Re: Prosba o opinie (routing i qos)

Post autor: rompere »

matryc pisze:Tak! Można założyć IMQ na każdy interfejs (ściąganie i wysyłanie osobno) i tam zakładać kolejki ale również można np. upload ze wszystkich interface wrzucić do jednego IMQ.
Co bedzie lepszym rozwiazaniem? Chyba zalozenie 3 kolejek dla usera na kazde lacze pozwoli optymalnie wykorzystac lacza?
Czy przy takim rozwiazaniu przeliczanie wolnego ruchu bedzie sie odbywac niezaleznie? Tzn. Jesli ktos tylko przeglada www na laczu 1, to jego transfer z lacza 2 bedzie rozdzielony dla innych?
Ostatnio zmieniony 2008-01-07, 14:11 przez rompere, łącznie zmieniany 1 raz.
Awatar użytkownika
matryc
Użytkownik
Posty: 74
Rejestracja: 2005-10-30, 09:51
Lokalizacja: Dąbrowa Tarnowska

Re: Prosba o opinie (routing i qos)

Post autor: matryc »

Jesli nie masz wytycznych co do tego by kazdy user mial okreslona max predkosc to zastosuj rozwiazanie z osobnymi kolejkami na kazde lacze.
Jesli ktos tylko przeglada www na laczu 1, to jego transfer z lacza 2 bedzie rozdzielony dla innych?
TAK! :)
rompere
Użytkownik
Posty: 24
Rejestracja: 2008-01-05, 19:14

Re: Prosba o opinie (routing i qos)

Post autor: rompere »

Jeszcze jedno szybkie pytanie - jesli podnosze po 2 IMQ na 1 lacze i przekieruje do nich ruch:

Kod: Zaznacz cały

iptables -t mangle -A POSTROUTING -o eth0 -j IMQ --todev 0
iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 1
iptables -t mangle -A POSTROUTING -o eth1 -j IMQ --todev 2
iptables -t mangle -A PREROUTING -i eth1 -j IMQ --todev 3
iptables -t mangle -A POSTROUTING -o eth2 -j IMQ --todev 4
iptables -t mangle -A PREROUTING -i eth2 -j IMQ --todev 5
w ktorym miejscu powinienem robic nat:

Kod: Zaznacz cały

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source x.x.x.1
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source x.x.x.2
iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source x.x.x.3
??
IMQ behavior mam ustawione na IMQ AB
Ostatnio zmieniony 2008-01-08, 22:23 przez rompere, łącznie zmieniany 1 raz.
Awatar użytkownika
matryc
Użytkownik
Posty: 74
Rejestracja: 2005-10-30, 09:51
Lokalizacja: Dąbrowa Tarnowska

Re: Prosba o opinie (routing i qos)

Post autor: matryc »

NAT robisz bez zmian :!:
POZDRAWIAM :)
rompere
Użytkownik
Posty: 24
Rejestracja: 2008-01-05, 19:14

Re: Prosba o opinie (routing i qos)

Post autor: rompere »

Dzieki matryc :)
Niestety cos chyba mam naknocone. Robie tak:
- NAT

Kod: Zaznacz cały

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source x.x.x.1 
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source x.x.x.2 
iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source x.x.x.3 
- podnosze imq i przekierowuje na nie ruch:

Kod: Zaznacz cały

ip link set imq0 up
ip link set imq1 up
ip link set imq2 up
ip link set imq3 up
ip link set imq4 up
ip link set imq5 up

iptables -t mangle -A POSTROUTING -o eth0 -j IMQ --todev 0
iptables -t mangle -A PREROUTING -i eth0 -j IMQ --todev 1
iptables -t mangle -A POSTROUTING -o eth1 -j IMQ --todev 2
iptables -t mangle -A PREROUTING -i eth1 -j IMQ --todev 3
iptables -t mangle -A POSTROUTING -o eth2 -j IMQ --todev 4
iptables -t mangle -A PREROUTING -i eth2 -j IMQ --todev 5
- Tworze kolejki:

Kod: Zaznacz cały

########## UPLOAD eth0 ##########
tc qdisc del dev imq0 root
tc qdisc add dev imq0 root handle 1: htb default 10

tc class add dev imq0 parent 1: classid 1:1 htb rate 600kbit ceil 600kbit
tc class add dev imq0 parent 1:1 classid 1:10 htb rate 70kbit ceil 600kbit
tc class add dev imq0 parent 1:1 classid 1:20 htb rate 50kbit ceil 600kbit
tc class add dev imq0 parent 1:1 classid 1:30 htb rate 50kbit ceil 600kbit
tc class add dev imq0 parent 1:1 classid 1:40 htb rate 50kbit ceil 600kbit
tc class add dev imq0 parent 1:1 classid 1:50 htb rate 50kbit ceil 600kbit

tc filter add dev imq0 parent 1: protocol ip prio 1 u32 match ip src 192.168.0.2/24 flowid 1:20
tc filter add dev imq0 parent 1: protocol ip prio 1 u32 match ip src 192.168.0.3/24 flowid 1:30
tc filter add dev imq0 parent 1: protocol ip prio 1 u32 match ip src 192.168.0.4/24 flowid 1:40
tc filter add dev imq0 parent 1: protocol ip prio 1 u32 match ip src 192.168.0.5/24 flowid 1:50

tc qdisc add dev imq0 parent 1:10 handle 10:0 sfq perturb 10
tc qdisc add dev imq0 parent 1:20 handle 20:0 sfq perturb 10
tc qdisc add dev imq0 parent 1:30 handle 30:0 sfq perturb 10
tc qdisc add dev imq0 parent 1:40 handle 40:0 sfq perturb 10
tc qdisc add dev imq0 parent 1:50 handle 50:0 sfq perturb 10


########## Download eth0 ##########
tc qdisc del dev imq1 root
tc qdisc add dev imq1 root handle 1: htb default 10

tc class add dev imq1 parent 1: classid 1:1 htb rate 8000kbit ceil 8000kbit

tc class add dev imq1 parent 1:1 classid 1:10 htb rate 128kbit ceil 8000kbit burst 5k
tc class add dev imq1 parent 1:1 classid 1:20 htb rate 128kbit ceil 8000kbit burst 5k
tc class add dev imq1 parent 1:1 classid 1:30 htb rate 128kbit ceil 8000kbit burst 5k
tc class add dev imq1 parent 1:1 classid 1:40 htb rate 128kbit ceil 8000kbit burst 5k
tc class add dev imq1 parent 1:1 classid 1:50 htb rate 128kbit ceil 8000kbit burst 5k

tc filter add dev imq1 parent 1: protocol ip prio 1 u32 match ip dst 192.168.0.1/24 flowid 1:20
tc filter add dev imq1 parent 1: protocol ip prio 1 u32 match ip dst 192.168.0.3/24 flowid 1:30
tc filter add dev imq1 parent 1: protocol ip prio 1 u32 match ip dst 192.168.0.4/24 flowid 1:40
tc filter add dev imq1 parent 1: protocol ip prio 1 u32 match ip dst 192.168.0.5/24 flowid 1:50

tc qdisc add dev imq1 parent 1:10 handle 10:0 sfq perturb 10
tc qdisc add dev imq1 parent 1:20 handle 20:0 sfq perturb 10
tc qdisc add dev imq1 parent 1:30 handle 30:0 sfq perturb 10
tc qdisc add dev imq1 parent 1:40 handle 40:0 sfq perturb 10
tc qdisc add dev imq1 parent 1:50 handle 50:0 sfq perturb 10
I takie same kolejki dla pozostalych lacz.
I teraz problem - kiedy odpalam:

Kod: Zaznacz cały

tc-viewer --iface=imq0
widze tylko:

Kod: Zaznacz cały

1:1                  <  600000bit -  600000bit >  228196.0 bit/s  (441pps)
    1:20                 <   50000bit -  600000bit >  228196.0 bit/s  (441pps)
Tak jakby wszystko szlo do jednej kolejki. O co chodzi?
Ostatnio zmieniony 2008-01-08, 23:48 przez rompere, łącznie zmieniany 2 razy.
Awatar użytkownika
matryc
Użytkownik
Posty: 74
Rejestracja: 2005-10-30, 09:51
Lokalizacja: Dąbrowa Tarnowska

Re: Prosba o opinie (routing i qos)

Post autor: matryc »

tc filter add dev imq1 parent 1: protocol ip prio 1 u32 match ip dst 192.168.0.1/24 flowid 1:20
tc filter add dev imq1 parent 1: protocol ip prio 1 u32 match ip dst 192.168.0.3/24 flowid 1:30
tc filter add dev imq1 parent 1: protocol ip prio 1 u32 match ip dst 192.168.0.4/24 flowid 1:40
tc filter add dev imq1 parent 1: protocol ip prio 1 u32 match ip dst 192.168.0.5/24 flowid 1:50
Zmien:
192.168.0.2/24 --> 192.168.0.2/32 lub poprostu 192.168.0.2
192.168.0.3/24 --> 192.168.0.3/32 lub poprostu 192.168.0.3
192.168.0.4/24 --> 192.168.0.4/32 lub poprostu 192.168.0.4
192.168.0.5/24 --> 192.168.0.5/32 lub poprostu 192.168.0.5
:)
rompere
Użytkownik
Posty: 24
Rejestracja: 2008-01-05, 19:14

Re: Prosba o opinie (routing i qos)

Post autor: rompere »

Wyglada na to ze dziala (po usunieciu maski) - jeszcze raz dzieki matryc
A juz tak na marginesie - dlaczego boli go maska 24?
Awatar użytkownika
bzyk
Moderator w st. spocz.
Posty: 991
Rejestracja: 2004-06-05, 06:32
Lokalizacja: Pszczyna
Kontakt:

Re: Prosba o opinie (routing i qos)

Post autor: bzyk »

Czesc.

Zastanawia mnie, jak rozwiazesz problem skype przy takim uploadzie jaki daja dsle i przy tylu klientach. Korzystasz z layer7?
Ja niestety mam podobny problem; tzn. siec ponad 300ludzi i 2x4Mbit iDSL... Niestety do wlasciciela sieci nie dociera fakt ze trzeba wywalic wiecej kasy na normalne lacze, bo to co jest to bylo dobre 3 lata temu.
In /dev/null no one can hear you scream.
rompere
Użytkownik
Posty: 24
Rejestracja: 2008-01-05, 19:14

Re: Prosba o opinie (routing i qos)

Post autor: rompere »

bzyk na razie nie mam pojecia jak to bedzie wygladac - na dzis mam dostepne 2xDSL 8M i 1x4M na okolo 150 komputerow - mamy dzisiaj dostac jakas oferte na symetryka, wiec sie okaze.

ok, to jeszcze jedno pytanko - jak teraz do tego dolozyc dodatkowe rzeczy - na poczatek moze priorytet na ACK - tak zeby wychodzily jak najszybciej?
ODPOWIEDZ