Raspberry Pi in dostopna točka
Pred nekaj tedni sem tudi sam imel težave z vzpostavitvijo dostopne točke na mojem Raspberry Piju. Poiskušal sem z večimi “how to” vodiči, a se je pri vsakem nekje zataknilo. Po nekaj dnevih izgubljanja živcev mi je končno uspelo najdi vodič, ki je po manjših popravkih deloval brezhibno.
Za odpiranje datotek sem uporabil program nano, ki je že nameščen v malini. Za shranjevanje dokumentov moramo uporabiti kombinacijo tipk CTRL+O, ter CTRL+X da dokument zapremo. Konfiguracijske datoteke moramo odpreti kot root (dodamo “sudo” pred komando”), saj drugače dokumenta ne bomo mogli shraniti.
Pred začetkom bomo preverili ali je malina naš Wifi adapter pravilno zaznala in če le-ta sploh podpira delovanje v načinu dostopne točke. Najprej preverimo z ukazom:
1 |
lsusb |
Če v izpis dobimo kaj podobno temu je naš Wifi adapter pravilno zaznan in lahko nadaljujemo.
1 |
Bus 001 Device 005: ID 07d1:3c09 D-Link System DWA-140 RangeBooster N Adapter(rev.B1) [Ralink RT2870] |
Sedaj moramo preveriti ali naš adapter podpira način dostopne točke. Najprej namestimo “iw” z ukazom:
1 |
sudo apt-get install iw |
Nato pa pogledamo z ukazom:
1 |
iw list |
Poiščemo “Supported interface modes” ter pogledamo ali je način “AP” med njimi. Primer izpisa:
1 2 3 4 5 6 7 8 |
Supported interface modes: IBSS Managed AP AP/VLAN WDS Monitor Mesh point |
Če naš adapter podpira “AP” lahko nadaljujemo. Sedaj moramo namesti še dva programska paketa:
1 |
sudo apt-get install hostapd udhcpd |
Ko smo paketa namestili lahko izklopimo internet, saj ga za naprej ne bomo več potrebovali. Urediti moramo konfiguracijsko datoteko udhcpd-ja. To storimo z ukazom:
1 |
sudo nano /etc/udhcpd.conf |
Vse v tej datoteki izbrišemo, ter nadomestimo z:
1 2 3 4 5 6 7 8 |
start 192.168.42.2 end 192.168.42.20 interface wlan0 remaining yes opt dns 8.8.8.8 4.2.2.2 opt subnet 255.255.255.0 opt router 192.168.42.1 opt lease 864000 |
Datoteko shranimo in omogočimo DHCP strežnik z ukazom:
1 |
sudo nano /etc/udhcpd.conf |
Poiščemo vrstico:
1 |
DHCPD_ENABLED="no" |
ter jo spremenimo v:
1 |
DHCPD_ENABLED="yes" |
Shranimo in sedaj lahko nadaljujemo. Sedaj moramo naš Wifi adapter ustaviti in mu nastaviti statični IP naslov. To storimo z ukazoma:
1 2 |
sudo ifdown wlan0 sudo ifconfig wlan0 192.168.42.1 |
Ker želimo, da ima wlan0 tudi ob naslednem zagonu statični IP moramo odpreti:
1 |
sudo nano /etc/network/interfaces |
Ter poiskati naslednjo vrstico:
1 |
iface wlan0 inet (dhcp ali manual) |
Če vrstica ne obstaja naslednjo kodo vnesemo na koncu datoteke.
1 2 3 |
iface wlan0 inet static address 192.168.42.1 netmask 255.255.255.0 |
Prav tako pa te vrstice:
1 2 3 |
allow-hotplug wlan0 wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet manual |
Spremenimo v:
1 2 3 |
#allow-hotplug wlan0 #wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf #iface default inet manual |
Spremenjeno datoteko shranimo in ustvarimo novo datoteko z ukazom:
1 |
sudo nano /etc/hostapd.conf |
Če želimo zaščiteno dostopno točko vanjo vpišemo:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
interface=wlan0 driver=nl80211 ssid=MojaVarnaDostopnaTocka hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=MojeSuperVarnoGeslo wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP |
Če pa želimo vzpostaviti odprto dostopno točko pa:
1 2 3 4 5 6 |
interface=wlan0 ssid=MojaNeTakoVarnaDostopnaTocka hw_mode=g channel=6 auth_algs=1 wmm_enabled=0 |
Seveda ssid ter wpa_passphrase lahko spremenimo v poljubno vrednost. Pod do datoteke moramo vnesti v hostapd-jevo konfiguracijsko datoteko, zato odpremo:
1 |
sudo nano /etc/default/hostapd |
Ter vrstico:
1 |
DAEMON_CONF="" |
Spremenimo v:
1 |
DAEMON_CONF="/etc/hostapd/hostapd.conf" |
Datoteko shranimo. Sedaj moramo omogočiti NAT. Odpremo:
1 |
sudo nano /etc/sysctl.conf |
Ter čisto na koncu dodamo vrstico:
1 |
net.ipv4.ip_forward=1 |
Sedaj zaženemo še naslednje komande:
1 2 3 4 |
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 sudo sh -c "iptables-save > /etc/iptables.ipv4.nat" |
Ker tudi za “iptables” želimo, da se nastavijo z vsakim zagonom v datoteko:
1 |
sudo nano /etc/network/interfaces |
Dodamo vrstico:
1 |
up iptables-restore < /etc/iptables.ipv4.nat |
Datoteko shranimo in zaženemo še zadnje ukaze:
1 2 3 4 |
sudo service hostapd start sudo service udhcpd start sudo update-rc.d hostapd enable sudo update-rc.d udhcpd enable |
Sedaj resetiramo našo malino in upamo, da smo vse naredili pravilno. Malino z UTP kablom povežemo na mrežni usmerjevalnik ter se povežemo na našo novo dostopno točko. Če lahko preko naše dostopne točke dostopate do interneta ste končali. Srečno!
Skoraj delujoči vodič sem našel na http://www.rpiblog.com/2012/12/turn-raspberry-pi-into-wireless-access.html.