wireless.uzice.net - Uzice bez zice

UPUTSTVO: MIKROTIK - KAKO OGRANIČITI BROJ KONEKCIJA PO KORISNIKU

Veoma čest problem u deljenju internet protoka je taj da neko od korisnika pokrene preveliki broj istovremenih konekcija. Ovo je u stvari mnogo veći problem od preterivanja sa protokom, jer za svaku konekciju ruter mora da odvoji memoriju i ako konekcija ima previše, počinju problemi sa radom samog rutera.

Najčešći razlog uspostavljanja prevelikog broja konekcija od strane korisnika je koršćenje P2P programa za download. To je po pravilu povezano i sa preteranim otperećenjem po protoku. P2P programi umeju da naprave broj konekcija koji se meri hiljadama.

Na nekomercijalnim mrežama, koje po pravilu imaju slabe internet veze koje je potrebno razumno i obzirno koristiti, takvo ponašanje korisnika je neprihvatljivo. Nažalost, retko kada se administratori mreža mogu osloniti na dobrovoljno razumno ponašanje korisnika, što zato što oni jednostavno o tome ne vode računa, što zato to i ne znaju da izazivaju problem a n akrajukrajeva neki P2P programi i nemaju opcije kojima bi se njihovo ponašanje moglo kontrolisati u ovom smislu.

Ograničenjem broja konekcija rešava se ne samo problem broja konekcija već i problem preteranog korišćenja p2p programa. Sve što treba uraditi to je da se korisniku postavi ograničenje na razuman broj istvoremenih konekcija, tako da se zaštiti internet link i ruter od opterećenja. Za p2p saobraćaj je karakteristično da je protok u srazmeri sa brojem istovremenih konekcija, tako da, ako ograničite broj konekcija, ograničili ste i protok.

Najjednostavnije je postaviti opšte ograničenje na interfejs preko koga su korsinici povezani na ruter komandom:

/ip firewall chain=forward in-interface=lan protocol=tcp connection-limit=10,32 action=drop

Ovim će ruter svakom korisniku koji je povezan na lan interfejs dozvoliti deset TCP konekcija. Ovo ce ogranicavati sav saobracaj, pa ako to ne želite, recimo lokalni saobraćaj koji prolazi kroz ruter ne treba da bude ograničen, morate ovo pravilo dopuniti tako da obuhvati samo onaj saobraćaj koji želite da ograničite. Recimo, ovo pravilo dopunite sa out-interface=wan ako je wan internet konekcija, i tako će se pravilo odnositi samo na konekcije koje korisnici sa lan interfejsa prave preko wan interfejsa, odnosno prema Internetu.

Najveći problem je u stvari smisliti koliki broj konekcija je dovoljan. Pri tom treba imati u vidu da ako korisnik na primer otvori neku web stranu, ona sama može da napravi i stotinak istvoremenih konekcija i da to nije ništa neobično. Ako ograničenje dozvoljava manje, to znači da neki elementi web strane neće biti učitani, najčešće slike. Postavite ograničenje na 10 konekcija, a onda povećavajte dok ne dobiejte zadovoljavajuću funkcionalnost. Neke preporuke su da ograničenje bude na 80-tak konekcija da bi normalan internet saobraćaj funkcionisao.

Možete takođe da kombinujete više ograničenja, recimo da postavite posebno ograničenje za p2p saobraćaj, koje je rigoroznije (dozvoljava manje konekcija) a posebno za ostali sabraćaj.

Kod ovakvog načina ograničavanja imamo jedan problem: radi samo sa TCP konekcijama. Veliki broj problematicnih konekcija su UDP tipa i ona ovim neće biti regulisana.

Mikrotik ima još jedan način ograničenja konekcija, a to je po broju konekcija u jedinici vremena (u jednoj sekundi, jednom minutu ili jednom satu). Ono radi sa svim tipovima konekcija što je velika prednost. Mana je što ne možete da ograničite apsolutni broj konekcija, ali to i nije toliko bitno, pošto i nije cilj da imamo egzaktan broj konekcija već bilo kakav sistem ograničenja koji će obezbediti smanjenje opterećenja rutera.

Tako možemo upotrebiti sledeće pravilo:

/ip firewall filter chain=forward in-interface=lan out-interface=pppoe-adsl limit=1,5 action=allow
/ip firewall filter chain=forward in-interface=lan out-interface=pppoe-adsl action=drop

Ovo pravilo uvek ide u paru, to jest sastoji se od dva. Prva komanda podešava da se dozvoljava jedna konekcija u sekundi, a drugo pravilo zabranjuje sve konekcije koje nisu obuhvaćene prvim pravilom. Dakle u jednoj sekundi ce samo jedna konekcija biti dozvoljena.

Parametar limit ima tri podparametra koji su razdvojeni zarezima. Prvi se odnosi na dozvoljeni broj konekcija, drugi se odnosni na period (sekund, minut, sat) a treći je burst. Drugi parametar može biti izostavljen i tada to znači da se ograničenje odnosi na broj konekcija u jednoj sekundi. Burst je prilično šturo objašnjen u uputstvu, ali po mojim probama, radi slično kao i burst u simple queues. U praksi, dozvoljava određeni broj konekcija pre nego što izračuna statistiku. Tako onaj korisnik koji ne opterećuje link konstantno, u stvari biti pošteđen ograničenja.

Opet, i ovaj primer se odnosi na sve konekcije koje prođu kroz ruter iz lokalne mreže, pa ako želite da dodatno ograničite na koje će se konekcije ono odnositi moraćete ga prilagoditi svojim potrebama.

Predrag Supurović