raspberry pi kao(as) wifi ap
DESCRIPTION
Setting Raspberry Pi in WIFI AP modeTRANSCRIPT
[Company name]
Raspberry Pi kao WiFI Access Point
[Document subtitle]
[Author name]
1.Priprema
Slika 1
Prije nego krenemo sa samim projektom trebalo bi napomenuti što nam je sve potrebno tj. što smo koristili kako bi ga realizirali.1.Raspberry Pi B+ model2.MicroSD kartica od najmanje 4GB na kojoj će biti pohranjen operativni sustav3.WiFi USB kartica za koju je bitno da podržava AP(Access Point) mode4.LAN kabel za povezivanje Pi-a sa Internet konekcijom za dijeljenje
Ukratko,ono što ćemo raditi je sljedeće:
- Omogućanvanje i konfiguracija WiFi pristupne točke- Dodjeljivanje IP adresa svim uređajima koji se spajaju na naš uređaj(DHCP)- Spajanje tj. omogućavanje dijeljenja Internet konekcije koju dobivamo putem ethernet konekcije i WiFi-a
Prije svega sa službenih stranica uređaja(http://www.raspberrypi.org/downloads/) moramo skinuti image operativnog sustava po želji, u ovom slučaju RASPBIAN(verzija Debiana za Raspberry Pi). Po skidanju image-a, potrebno je isti raspakirati na MicroSD karticu za što će nam biti potreban neki od besplatnih programa(mi smo koristili Win32DiskImager).
Ono sljedeće što moramo napraviti je instalirati potreban software koji će nam biti potreban za daljnju konfiguraciju. Ovo radimo odmah nakon inicijalno pokretanja Raspberry Pi-a.
sudo apt-get install hostapd udhcpd
Navedena komada služi da za skidanje dhcp servisa (preko interneta) odnosno dhcp servisa bez kojeg se dhcp nemi mogao podići. Apt-get je komadan preko koje dohvaćamo instalacijski paket. Config file samog servisa se nalazi u /etc/udhcp.conf , te se editiranjem navedene datoteke putem nano ili nekog drugog editora, konfigurira i sami servis.
2.Konfiguriranje DHCPA
Slika 2.
Nekoliko ključnih komanda se koristi u konfiguraciji dhcp-a, a to su:
start 192.168.5.2
end 192.168.5.20
Editiranjem ova dva polja (start i end) dhcp-u smo dodjelili range adresa koje će dodjeljivati klijentima spojenim na naš wifi AP. Start je naravno početak range-a,a end označava kraj adresa za dodjeljivanje.
Drugi dio u konfiguraciji iste datoteke se odnosi na polja dns, subnet te router.DNS se naravno odnosi na domain name server koji je u ovom slučaju adresa glavnog routera koji je izlaz prema internetu i koji se brine kako bi DNS radio. Polje router označava prvu adresu našeg Pi-a koji je AP.Nadalje, kako bi omogućili DHCP servis da se pokreće prilikom paljenja samog Pi-a potrebno je u direktoriju default (u njemu se nalaze postavke) editirati datoteku koja se odnosi na naš DHCP servis te staviti oznaku komentara # ispred linije koja po defaultu nije zakomentirana.
Slika 3
Slika 4.
Znači liniju koda ispod:
DHCPD_ENABLED="no"
Mijenjamo u…
#DHCPD_ENABLED="no"
Ono što je potrebno sljedeće napraviti je pridjeliti našem Pi AP-u statičku adresu na wlan sučelju. To također radimo tako da pomoću nano editora otvorimo sljedeću datoteku…nano /etc/network/interfaces
Slika 5
Slika 6.
iface wlan0 inet static
address 192.168.5.1
netmask 255.255.255.0
Sljedeće linije ne koristimo pa ćemo ih staviti u komentar tako što stavimo # ispred njih.
Allow-hotplug wlan 0 - komanda koja govori da se interface diže kada se netko spoji na njega (konkretno bi to bilo da se netko s kablom spoji na int ali mi nemamo kabl). U našem slučaju da netko uključi kabl na taj port wireless konekcija bi se isključila. Micanjem kabla wireless se ponovno pali
Wpa-roam- metoda s kojom se možeš spojiti na wireless mrežu bez grafičkog sučelja. iface default inet dhcp- komanda koja nativno dodjeljuje adrese putem DHCP-a svim
sučeljima
#allow-hotplug wlan0
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet manual
3.Autentifikacija (HOSTAPD)
1. Hostapd je u biti proces koji se vrti u pozadini i brine se o zahtjevima pojedinih servisa,a u našem slučaju se radi o autentifikaciji putem Wifi-a i samom AP-u
interface=wlan0 Sučelje na koje se odnosi
driver=nl80211 Upravljački program naše WIFI kartice
ssid=WIFI_PI SSID ili naziv naše pristupne točke
hw_mode=g Mod u kojem radi (b,g,n – ovisno o uređaju)
channel=6 Kanal rada uređaja
auth_algs=1 Način autentifikacije(open,shared,both)
wmm_enabled=0 Drugi naziv za QoS
Ovdje je moguće navesti još naredbi kojima je moguće postaviti neku od zaštita, ali smo se za potrebe našeg AP-a odlučili za otvoreni tip mreže kojem nije potrebna autentifikacija.
Kako bi omogućili sve gore navedeno, moramo editirati sljedeću datoteku naredbom sudo nano /etc/default/hostapd
Slika 7
Slika 8.
Mijenjamo sljedeću liniju…
#DAEMON_CONF=""
U
DAEMON_CONF="/etc/hostapd/hostapd.conf"
4.NAT
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
NAT ili Network Adress Translation se koristi kako bi se omogučilo da više korisnika koristi istu Internet konekciju. Defaultno je forwardiranje isključeno i s gornjom komandom smo to omogučili. Kako bi to omogučili prilikom pokretanja samog uređaja potrebno je napraviti sljedeće…
Slika 9.
…a to je maknuti komentar sa sljedeće linije kako bi izgledala ovako…
net.ipv4.ip_forward=1
Sljedeće, za omogućavanje NAT-a u kernelu, moramo pokrenuti sljedeći niz naredbi…
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state
RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
Značenje: nat : (filtriranje paketa) Forward : odnosi se na pakete koji su poslani prema hostu POSTROUTING : odnosi se na mrežne pakete koji su rutani prema van (radi s adresom
dobivenu od dhcp servera) MASQUERADE : Ako je host (Pi) spojen na Internet, ova funkcija omogućava ostalim
korisnicima pristup istom ESTABLISHED : veza je već ostvarena RELATED : konekcija je nova, ali je pridružena drugoj konekciji -t : -i : samo mečiraj pakete koji dolaze na specifirani interface
-o : odredišni interfrace -m state : odnosi se na paket -state : opisuje konekciju (NEW,RELATED,ESTABLISHED, INVALID) J: ključna riječ (accept,drop, log) navodi se najčešće na kraju i prethodi uvijek –j
opcija. (Jump to the specific target) accept : da će se paket prihvatiti drop : odbacije/ignorira (mi nemamo)
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Ova komanda sprema NAT modul trajno u kernel kako bi on bio dostupan nakon svakog restarta.
up iptables-restore < /etc/iptables.ipv4.nat
editiranje file u /etc/network/interfaces. Dodaje se na kraj (Vidi sliku 4.)
5.Aktivacija AP-a
sudo service hostapd start
sudo service udhcpd start
UDHPC – podiže dhcp Hostpad –podiže HOSTAPD autentifikaciju
sudo update-rc.d hostapd enable
sudo update-rc.d udhcpd enable
Zadnje dvije naredbe također omogućuju pokretanje gornja dva servisa prilikom pokretanja uređaja kako bi svaki put po startu bio u potpunosti funkcionalan.
Slika 10