wireless.uzice.net - Uzice bez zice

UPUTSTVO: KAKO OGRANIČITI PRISTUP INTERNETU KORISNICIMA KOJI NIZ POVEZANI NA DC HUB

Napraviti zajednicu nije mali posao. Potrebno je dosta ljudi, dosta volje i mnogo rada. Toga obično ima samo kod nekolicine članova mreže dok ostali uglavnom koriste sve blagodeti mreže i nemaju neki jak osećaj da treba nešto da joj pruže zauzvrat.

Najčešći problem koji administratori imaju u wireless zajednicama je što su svi zainteresovani uglavnom za to da koriste mrežu. Ako mreža omogućava pristup Internetu, pa još i besplatno kao naša, onda će se korisnicci samo time i zanimati, a neće se mnogo uključivati u lokalne aktivnosti u mreži. Toje opasno za formiranje osećaja pripadnosti zajednici kod korsinika.

Mi smo se opredelili da osnovni servis oko koga funkcioniše naša zajednica bude DirectConnect HUB. Ne zbog mogućnosti razmene datoteka nego zbog mogućnosti javnog i privatnog četa koji su osnov formianja zajednice. Razmena datoteka je samo dodatna pogodnost.

Naravno, imali smo problem što su korisnici redovno zaboravljali da uključe DC klijent jer im je najvažniji besplatan Internet. Najčešće je svega desetak procenata korisnika koji su u jednom momentu koristili Internet bili istovremeno povezanii na lokalni DC server. To je ozbiljno pretilo da celu ideju okrene naopako i da zajednica postane potpuno zapostavljena zbog Interneta.

Rešenje se samo nametnulo: trebalo je onemogućiti pristup Internetu onim korisnicima koji nisu povezani na lokalni DC hab. To je sasvim siguran način da se i oni najzaboravniji sete da uključe DC. Ako to ne urade, ništa od Interneta. Kako smo to namestili, odjednom je broj aktivnih korisnika na DC znatno porastao, a nije mnogo trebalo da ljudi otkriju i naviknu se na blagodeti međusobne komunikacije preko DC-a. Cilj je postignut, a zajednica je oživela i očvrsnula.

Da bi to bilo moguće izvestiovakvu konfiguraciju, potrebno je da budu ispunjeni neki uslovi. Ispostavilo se da je naša mreža već bila tako organizovana da je sve moglo da se uradi samo podešavanjima na ruteru.

Evo kako je izgledala konfiguracija mreže: MikroTik je imao tri mrežna adaptera: jedan je korišćen za povezivanje na Internet provadjera (wan), drugi za povezivanje lokalne mreže (lan), a MikroTik je tu imao ulogu klasičnog NAT rutera. Korisnicima je pristup Internetu omogućen preko nat maskarade-a.

Ruter je imao i treći mrežni adapter (srv) preko koga su na njega povezani lokalni serveri. Jedan od tih servera je i DC hab. Tako smo ranije napravili da bi serveri fizički bili odvojeni od lokalne mreže, izolovani i tako osigurani.

Kako je to sve bilo urađeno imate na slici. Lokalna mreža je bila u IP opsegu 10.10.10.0/24 dok su serveri u opsegu 10.10.11.0/24, a ruting je podešen klasično tako da se računari u obe lokalne podmreže mreže normalno "vide" između sebe.

Ovakva konfiguracija je neophodna da bi smo obezbedili da svaka konekcija iz lokalne mreže prema lokalnim serverima prolazi kroz Mikrotik. Tako je obezbeđeno da Mikrotik kontroliše sve te konekcije. Upravo to je i omogućilo lako rešenje naše ideje sa ograničenjem pristupa Internetu. Potrebno je samo bilo da podesimo da Mikrotik ne dozvoljava pristup Intenetu korisnicima koji nisu zakačeni na lokalni DC hab. Ako je kod vas DC server u istoj mreži kao i korisnici, ovakvakonfiguracije ne može da se napravi. Morate prvo u Mikrotik dodati još jedan mrežni adapter i na njega odvojiti dc server, u posebnu ip podmrežu.

Prvo što je trebalo uraditi, to je da se prepoznaju i izdvoje korisnici koji su povezani na DC hab. Pravo mesto za to je /ip firewall filter i to forward chain. Tu su sve konekcije koje prolaze kroz ruter. Potrebno je samo podesiti pravilo koje će odvojiti konekcije koje naprave korisnici prema DC HUB-u na port 411. Adrese takvih korisnika ćemo staviti u adresnu listu koju ćemo nazvati connected2dc. Pravilo glasi:

/ip firewall filter add chain=forward \
    protocol=tcp dst-port=411 connection-state=established dst-address-list=10.10.11.2 \
    action=add-src-to-address-list address-list=connected2dc address-list-timeout=10m30s

Ovo znači da svaka IP adresa sa koje je uspostavljena TCP konekcija port 411 na adresu dc servera (10.10.11.2) treba da bude dodata u listu adresa pod imenom connected2dc sa istekom vremena od 10 min 30 sec. U praksi to znači da korisnik mora da uspostavi konekciju sa hubom da bi uopšte bio registrovan kao konektovan, a da registrcija traje deset i po minuta. Ovo vreme smo utvrili eksperimentalnim putem. Sasvim je sigurno da, ako je korisnik stalno zakačen na dc server, najmanje jednom u deset minuta će biti ostvaren nekakav saobraćaj između njega i huba, te će korisnik stalno biti u listi zakačenih na DC server.

Kada imamo listu korisnika koji su povezani na sever preostaje da podesimo da samo oni mogu zasita i da izađu na Internet. To može da se uradi jednostavnom zabranom konekcija prema Internetu za sve korinike koji nisu u listi komandom:

/ip firewall filter add chain=forward \
    out-interface=wan src-address-list=!connected2dc action=drop

Ovo pravilo je jednostavno: svaka konekcija prema wan adapteru (to jest prema Internetu) koju napravi računar koji nije u listi connecte2dc neće biti dozvoljena. Prosto i jednostavno.

Međutim, mi ovim nismo bili zadovoljni jer smo sada imali novi problem: korisnicima koji nisu bili zakačeni na dc server Internet je bio potpuno zabranjen pa tako ni sajt naše mreže koji se takođe nalazi na Inernetu više nije bio dostupan. Zbog toga smo ovo drop pravilo uklonili, a rešenje smo tražili u u podešavanju NAT rutiranja (/ip firewall nat).

Do tada smo imali jedno src-nat pravilo koje je jednostavno maskiranjem omogućavalo Internet konekcije svima. Njega smo isključili i zamenili ga drugim pravilima. Umesto da NAT bude uključen svima, ograničili smo ga samo na one korisnike kojima je internet dozvoljen. A da bi i oni kojima nije dozvoljen pristup Internetu mogli da vide sajt mreže pre zabrane smo stavili posebno src-nat pravilo koje je omogućilo svima pristup samo našem sajtu. To izgleda ovako:

/ip firewall nat add chain=srcnat out-interface=wan dst-address=73.142.141.62 action=masquerade
/ip firewall nat add chain=srcnat out-interface=wan src-address-list=connected2dc action=masquerade

Prvo pravilo uključuje nat masquerade za sve konekcije na adresu 73.142.141.62 što je adresa servera na kojoj se nalazi naš sajt, a drugo pravilo uključuje nat masquerade za sve konekcije koje potiču sa računara koji su povezani i na DC. Ostalim konekcijama prema Internetu neće biti uključen NAT i pristup je samim tim onemogućen.

Ostao je još samo jedan problem. Korisnicima koji nisu povezani na DC HUB internet nije radio, ali oni nisu znali zbog čega, jer nisu pratili dešavanja u mreži. Usledili su mnogobrojni pozivi administratorima. Zbog toga smo došli na ideju da uradimo još jedan dodatak u podešavanju rutera: da onim korisnicima kojima nije dozvoljen pristup Internetu umesto sajtova koje su želeli da pogledaju "podmetnemo" naš sajt koji će ih obavestiti da im je pristup zabranjen, zbog čega i da moraju da uključe DC da bi im Internet bio dozvoljen. Na serveru na kome se nalazi hub podigli smo mali web server i na njega stavili samo jednu stranu sa svim potrebnim informacijama, a Mikrotik smo podesili tako da korisnicima, kojima nije dozvoljen pristup Internetu, sve web konekcije budu preusmerene na taj server. I to radi NAT samo umesto masquerade koristi se dst-nat preusmeravanje. Komanda izgleda ovako:

/ip firewall nat add chain=dstnat in-interface=lan \
    src-address-list=!connected2dc dst-address=!73.142.141.62 dst-port=80\
    action=dst-nat to-addresses=10.10.11.2 to-ports=0-65535

Ovo pravilo znači da http konekcije koje prave korisnici iz lokalne mreže a koji nisu povezani na DC HUB a nisu usmerene na naš sajt budu preusmerene na lokalni server na adresi 10.10.11.2. Lokalni server je isti onaj računar na kome je i dc hub.

Efekat je da kada korisnik u veb čitaču ukuca neku adresu, a zabranjen mu je pristup Internetu, umesto željenog sajta on bude usmeren na lokalni sajt koji sadrži obaveštenje o zabrani i šta je potrebno da učini da bi mu Internet radio.

Ovakvo podešavanje je zaista imalo dobre posledice. Svi korisnici su praktično naterani da se uključe na DC tako da je DC zajedništvo oživelo, pogotovo kada su provalili šta je DC ustvari i koliko je to i inače praktično. Danas možemo i da isključimo zabrane - korisnici će i dalje ostati na DC-u jer su se na njega navikli i to im je postao normalan način komunikacije. Dobra stvar je i što smo uspeli da sprovedemo zabranu pristupa tako da to korisnicima nije smetalo. Razumeli su da je samo potrebno da uključe DC klijent, i da će Internet odmah da im proradi, a pri tom nisu morali da masiraju administratore, jer su sva obaveštenja i uputstva dobijali automatski.

Mi smo ovo uradili sa DC HUB-om, međutim na isti način možete iskoristiti i neki drugi sistem za formiranje lokalne zajednice kao što je na primer IRC ili Jabber.

Na kraju mala napomena: stvarna konfiguracija je zbog nekih specifičnosti u stvari ispala komplikovanija. Ovde sam izdvojio one delove koji su sasim dovoljni da stvar radi. Međutim, nisam imao pri ruci sloboan ruter na kome bih sve ovo mogao i da proverim, te sam uputstvo sastavio napamet. Posotoji mogućnost da sam nešto prevideo i da sve ovo i neće odmah proraditi u vašem slučaju. No, ono što je bitno, to je da je objašnjen sam princip, a ako primetite neki problem javite da ispravim greške.

Predrag Supurović

Mikrotik forum za pomoć i razmenu znanja