Kako od Debian Linux-a napraviti ruter

Kako od Debian Linux-a napraviti ruter

Dao sam ovakav naziv teme mada se ovo odnosi manje više na sve Debian bazirane distibucije.Ovo možete da primenite u principu na Debianu, Ubuntu, Mintu, Manjaru, Archiju, Kaliju…

Zadatak koji ovde pred nama je da jednu internet konekciju sa vašeg računara podelite i prebacite na neku drugu na koju će se moći konektovati drugi klijenti. Jednostavno, drugim rečima, da napravite pravi ruter od vašeg računara, a da vam pritom sve bude funkcionalno u smislu da možete i pored toga da normalno da radite, da imate internet, a da vam ova nova mreža radi u pozadini bez ikakvih problema.  Pisao sam ranije kako možete to na Windows-u da uradite  sa jednim wifi adpterom, a ovde ću da objasnim kako se to radi na Linuxu. Ovde se bavimo  sledećom situacijom, da interent sa adaptera, sve jedno da li je wifi kartica (wlanX) ili mrežni (eth0), prebacimo na drugu wifi karicu koja će biti u AP modu.

Zadatak spada u malo složenije tako da bi početnici na Linuxu I oni koji baš ga slabo poznaju trebali biti malo obazriviji i da razumeju šta rade, da mi posle ne šalju poruke tipa “ja uradio ovo i sada nemam mrežu. kako da sredim to?”, kao što sam na mnogim sajtovima pročitao. Znači oprez je potreban i razumevanje šta se radi, a ne samo copy/paste. Ukoliko niste sigurni i ne razumete, odnosno ne poznajete Debian / Linux dobro – ne radite ovo.

Moguće je da ako nešto loše napravite nemate mrežu ili može da se desi da ja dok pišem ovo napravim neku nenamernu sintaksnu grešku (trudiću se da je ne napravim) pa da i to bude problem.Svakako ovo može da vam bude jedno korisno upitstvo kako se ovo radi, pa kada budete sigurni da ste razumuli sve šta treba, onda ovo i napravite za sebe. Ovo sam radio na Kali Linux-u, ali sam sva uputstva preuzeo od drugih distribucija. Arch Linux i Manjaro imaju najbolja upuutstva po tom pitanju, tako da ih i vi možete pronaći. (staviću linkove na kraju posta)

Ovde imamo više kombinacija.

Prva je kada imamo klasičnu mrežnu konekciju preko network adptera (eth0), preko koga dobijamo internet, a imamo wifi karticu preko koje hoćemo da povežemo druge uredje da bi imali pristup internetu.

Drugi slučaj je kada imamo dve wifi kartice.Preko jedne primamo internet, a drugu hoćemo da upotrebimo da se drugi uredjaji povežu i imaju pristup internetu. (ovim se sličajem bavim u ovom objašnjenu)

Treći slučaj je obrnuti prvi, kada primate internet preko wifi kartice i želite da ga prosledite na mrežni adapter gde možete posle da povežete ruter pa da se na njega kače klijenti.

Neću svaki od ovh slučajeva da objašnjavam, jer ih nisam koristio, ali princip bi uz male izmene trebalo da bude isti za sve. Teoretski to izgleda ovako. Vaš računar dobija internet preko nekog adaptera i sve radi ok. Vi hoćete da podelite tu internet konekciju da bi i drugi uredjaji mogli da imaju pristup internetu ili jednostavno hoćete da imate poboljšan i povećan signal u vašem okruženju. To se radi tako to što se napravi jedna nova mreža, instalira dns server na vašem kompjuteru, konfiguriše i to je to. Lako izgleda kako je napisano, ali tako nije u praksi, mada je kažem uz malo razmišljanja izvodljivo.

debian_ruter1

Ovo je shematski prikaz kako ovo funkcioniše u praksi. Računar i mreža su na 192.168.1.x, a klijenti su na drugoj mreži 10.42.0.x.  Napominjem da  sam radio na xfce okružunju i sa dve wifi kartice, tako da su moguća odstupanja od drugih okruženja i slučajeva. Takodje ovo sam napravio zato što mi je bio potreban internet u toaletu za Android. Toliko o tome zašto ljudi ponekad rade ovo. 🙂

Wifi karticu na kojoj želite da naparvite mrežu, morate prvo da proverite da li podržava AP mode. Otkucate komandu:

iw list

i vidite da li vam kartica podržava AP mod. Ako podržava onda možete ovo da napravite.

Ispis (boldovan je) koji treba da gledate je ovaj.

Supported interface modes:

* IBSS

* managed

* AP

* AP/VLAN

* WDS

* monitor

* mesh point

Znači morate da imate ovo AP i AP/VLAN da bi ste mogli da wifi karticu konfigurišete da radi dobro. Uglavnom kartice sa Atheros chipsetom ovo podržavaju, Znam da Ralink-ove takodje podržavaju, za ostale morate proveriti. 

PRVI KORAK:

Prvo krećemo od network managera na panel traci. Kada kliknemo na njega desnim klikom treba da nam izabci ovaj prozor i da ovako izgleda.

slika1

zatim idemo na Edit connection , pa na Add i onda imamo tu razne slučajeve

Možemo dodati hardweerske mreže ili virtualne. Ovde nas zanimaju hardverske mreže.

slika2

U padajućem meniju imamo Eternet,Wifi,Brodband,DSL,Bluetooth… nas ovde zanimaju samo prve dve, a napominjem da sam samo radio sa dve wifi kartice, medjutim teoretski bi ovo trebalo za sve gore pomenute slučajeve da radi i da nema nikavih problema, samo što se ovaj početni korak razlikuje u izboru i konfigurisanju adaptera. Da li je wifi ili eternet mreža u pitanju. Napominjem pravim drugu wifi mrežu I nju biramo.

Popunite sve parametre kao što su na slikama. Kako vam se mreža zove, šifru, da je delite I sve ostalo. Za ekripciju mreže birajte WPA/WPA2 (tab  Wi-Fi Security), izaberite kanal na kome da vam bude mreža (bitno), izaberete koja vam je MAC adresa dotičnog adaptera (provera se iz terminala sa komandom “sudo iwconfig” ), u delu ipv4 i ipv6 oastavlajte sve kako je nedirate ništa. Jedna napomena ovde. Na drugoj slici ispod ovoga dela teksta, gde imate polje “device”  birate onaj adapter koji stavljate u AP mode. (wlanX)  Takodje Mode polje mora da vam bude Hotspot. Kanal birajte teko da zauzmete kanal koji je najmanje zastupljen. To su obično 2,4,6… kanali.

slika2aslika2bslika2f

DRUGI KORAK:

Kad završimo ovo sledi da instalramo ova dva alata. hostapd i dnsmasq. Ukratko hostapd pravi tu virtualnu mrežu, dnsmasq prebacuje trafik (ovo je jako upršćeno za šta služe ovo alati). Opširnija objašnjenaj možeta naći na netu. U starim uputstvima mnogi su koristili isc-dhcp-server medjutim sa njim je jako teško ovo uspostaviti, tako da ga ne prporučujem. ( Da ovde dodam da bi bilo dobro pre instalacije ovih alata da uradite sudo apt-get update i sudo apt-get upgrade ). Za instalaciju koristimo ove dve komande:

sudo apt-get install hostapd

sudo apt-get install dnsmasq

Kada smo instalirali ova dva alata moramo da ih konfigurušemo. To je i najveći problem ovde, ta konfiguracija da se shvati šta treba da se konfiguriše i kako da bi sve radilo dobro. Prvo konfiguracija hostapd. Nalazi se u /etc/hostapd/hostapd.conf. Otvorite ga sa nekim editorom i sada popunite ova polja da ovako izgleda 

interface=wlan0                            *** koji interface, može wlan0,wlan1… odnosno onaj koji ćete koristiti
driver=nl80211                               *** ostavite ovo
ssid=ImeVašemreže                     *** mora da bude isti naziv kao u prvom koraku
hw_mode=g                                    *** koji mod podržava može i b/g ili  b/g/n (isti onaj koji ste stavili u prvom koraku)
channel=6                                        *** na kom kanalu (mora da bude isti kao u prvom koraku)
macaddr_acl=0                             *** odavde pa do kraja ostavite sve kako ovde piše
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=vašašifra                                *** mora da bude ista šifra kao u prvom koraku
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
Sačuvamo ovaj fajl u /etc/hostapd/hostapd.conf I završili smo sa hostapd-om.

Sada ide konfiguracija dnsmasq.conf , a možda vam i nije uopše potrebna ovo konfigurisanje dnsmasq.conf fajla (nisam načisto sa tim) jer nisam siguran da li je potrebno za wifi mrežu, za slučaj kada pebacujemo internet na mrežni adapter (eth0) mislim da je potrebno ovo, ali kažem da za ovo nisam siguran. Najbolje je da probate prvo bez ovoga odnosno da bilo šta menjate u dnsmasq cofig fajlu i da vidite da li vam radi nova mreža bez ovoga, ako radi onda ne dirajte ništa, ako ne radi onda pristupite izmenama. Boldovao sam ono što sam menjao u ovom config fajlu. 

# If you don’t want dnsmasq to read /etc/resolv.conf or any other

# file, getting its servers from this file instead (see below), then

# uncomment this.

no-resolv *** unkomnetovano  (unkomentovano znači obrsiti # ispred linije) 

———————————————————

# On systems which support it, dnsmasq binds the wildcard address,

# even when it is listening on only some interfaces. It then discards

# requests that it shouldn’t reply to. This has the advantage of

# working even when interfaces come and go and change address. If you

# want dnsmasq to really bind only the interfaces it is listening on,

# uncomment this option. About the only time you may need this is when

# running another nameserver on the same machine.

#bind-interfaces

interface=wlan0 *** ovo sam dodao (unkomentovao) kao adapter na kome je nova mreža

—————————————————————

Sada kada smo sve ovo završili, restartujemo računar I vidimo da li je mreža napravljena. Ovo dole je slika kako mi izgleda Network Manager posle ovoga kada sam napravio ovu drugu mrežu što počinje sa And……  Samo obratite pažnju na slici kakav je znak  kada je mreža u AP modu (nema onog plavog signala).

slika4prava

Ako vam ove druge mreže nema, a sve ostalo radi (imate internet) , onda treba da starujemo hostapd sa  komandom sudo /etc/init.d/hostapd start
I to bi trebalo da reši sve. Korisni linkovi :

https://forum.manjaro.org/index.php?topic=11644.0

https://nims11.wordpress.com/2013/05/22/using-hostapd-with-dnsmasq-to-create-virtual-wifi-access-point-in-linux/

https://nims11.wordpress.com/2012/04/27/hostapd-the-linux-way-to-create-virtual-wifi-access-point/

http://www.cyberciti.biz/faq/debian-ubuntu-linux-setting-wireless-access-point/

Ovde sam samo stavio linkove koji su meni pomogli.mada ima dosta uputstava na netu o ovome, ali preporučujem ne mojte samo copy/paste i bez razmišljanja da ovo radite. Takodje izbegavajte uputstva koja vam obajšnjavaju kako se radi sa isc-dhcp-server, jer tako sam vrlo teško odradio ovo i mnogo je teža konfiguracija. Isključivo radite sa dnsmasq, jer sebe lišavate mnogih problema. Ovako rekoh sam napravio mrežu koja radi fantistično bez problema. Odmah mi je aktivna po palljenju računara, može se nakačiti dosta klijenata na nju, ima pun protok. Kao što sam napisao ranije, ako ste spremni da malo eksperimentišete, možete ovo napraviti i za mrežnu karticu, samo malo razmislite kako bi trebalo i uspećete. Takodje korisna komada koja vam može zatrebati je “sudo service network-manager restart” (bez navodnika) .

DODATO: Na najnovijem Debinau uopšte nisu potrebna podešavanja hostapd i dnsmasq već je samo potrebno instalirati ih, kao i prvi korak da se odradi. Znači nije potrebno podešavnje conf fijlova

Za kontakt sa autorom ovih blogova koristite:
https://sigurnostnamrezi.wordpress.com/kontakt/

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s