Zo maak je een wifi-punt van je Raspberry Pi
Als je op zolder of in de tuin wifi nodig hebt en toevallig nog een Raspberry Pi hebt liggen, hoef je geen draadloos toegangspunt meer te kopen: je maakt dit gewoon zelf. Je installeert gewoon de software RaspAP op je Raspberry Pi en configureert het daarna eenvoudig via de ingebouwde webinterface. RaspAP is ook te combineren met een adblocker, vpn-server, Tor of een captive portal.
01 Raspberry Pi met wifi
Als je een Raspberry Pi over hebt, kun je daarmee een draadloos netwerk opzetten waarop je kunt verbinden. Daarbij maakt het niet zoveel uit over welk model van de Pi het gaat, al behaalt het nieuwste model, de Raspberry Pi 4, wel de hoogste prestaties. Je hebt uiteraard een wifi-chip nodig, dus je gebruikt of minimaal een Raspberry Pi 3 ofwel een ouder model dat je via een van de usb-poorten uitbreidt met een wifi-adapter zoals de Edimax EW-7811Un. Voor de eenvoud veronderstellen we dat je de Pi op je thuisnetwerk aansluit via een ethernetkabel.
©PXimport
02 Raspbian installeren
Daarna dien je Raspbian Buster Lite op je Pi te installeren.. Kort samengevat: download Raspbian Buster Lite, schrijf het image met balenaEtcher naar een micro-sd-kaart, schakel ssh in, start de Pi op en log met een ssh-client op je Pi in via het netwerk. Wijzig daarna het standaardwachtwoord en update alle pakketten. Daarna is je Pi klaar om er een draadloos toegangspunt van te maken.
©PXimport
Wifi-prestaties van de Pi
Er zijn belangrijke verschillen in wifi-prestaties tussen de verschillende Pi-modellen. De Raspberry Pi Zero W(H) en Raspberry Pi 3 ondersteunen 802.11n in de 2,4 GHz-band. Uit benchmarks van de Raspberry Pi Foundation blijkt dat die eerste een doorvoersnelheid van 25 Mbit/s haalt en die tweede 50 Mbit/s. De Raspberry Pi 3B+, 3A+ en 4B ondersteunen 802.11 b/g/n/ac, zowel in de 2,4GHz- als in de 5GHz-band. In die eerste band ligt de doorvoersnelheid van die modellen rond de 60 Mbit/s en in die tweede rond de 100 Mbit/s, met een uitschieter voor de Raspberry Pi 4B naar 114 Mbit/s.
©PXimport
03 Extra configuratie
Start in de terminal het configuratieprogramma van Raspbian met de opdracht sudo raspi-config, ga met de pijltjestoetsen naar 4 Localisation Options en druk op Enter. Kies daarna I4 Change Wi-fi Country en bevestig dan je land. Als je wilt dat de webinterface van RaspAP automatisch de taal van je webbrowser herkent als die op Nederlands ingesteld is, open je ook I1 Change Locale en vink je met de spatiebalk de utf-8-versie van je taal aan in de lijst, bijvoorbeeld nl_NL.UTF-8 voor Nederlands. Ga daarna met de tabtoets naar Ok en bevestig met Enter. De standaardtaal mag je in de volgende stap op en_GB.UTF-8 laten staan. Verlaat het programma tot slot met Finish.
©PXimport
04 RaspAP installeren
Download eerst het installatieprogramma van RaspAP met de opdracht wget -q https://git.io/voEUQ -O /tmp/raspap en voer het programma dan uit met bash /tmp/raspap. Bevestig met y en een druk op Enter dat je RaspAP wilt installeren. Je krijgt daarna te zien welke pakketten er geïnstalleerd worden: bevestig weer met y en Enter. Na de installatie krijg je nog enkele vragen over de configuratie: bevestig telkens met Enter om de aangeraden configuratie te kiezen. Helemaal op het einde krijg je de vraag om je Pi te herstarten: kies y en Enter om dat te doen.
©PXimport
05 Webinterface
Vanaf nu heb je de opdrachtregel niet meer nodig. Na de herstart is je draadloze toegangspunt actief met raspi-webgui als ssid en ChangeMe als wachtwoord. Verbind met dit draadloze netwerk: je krijgt dan een ip-adres toegekend en toegang tot internet via de ethernetinterface van de Pi. Bezoek dan het ip-adres 10.3.141.1 in je webbrowser. Log in op de webinterface met admin als gebruikersnaam en secret als wachtwoord. Je krijgt nu het dashboard te zien met wat statistieken over het toegangspunt, waaronder een lijst met verbonden toestellen met hun ip-adres en mac-adres.
©PXimport
06 Taal instellen
Als je taal onverwacht niet in het Nederlands staat, klik dan links op System en dan op het tabblad Language. Daar kun je handmatig je taal instellen. Sla je wijziging op en herlaad de pagina. Eventueel dien je je Pi te herstarten (dat kan in het tabblad System). Krijg je dan nog de interface in het Engels te zien, kijk dan na of je in stap 3 wel echt nl_NL.UTF-8 als taal hebt toegevoegd: zo merkten we dat RaspAP de taal nl_BE.UTF-8 niet als Nederlands herkende. Als je dit opgelost hebt, zie je alles in het Nederlands staan.
©PXimport
07 Hotspotinstellingen
Bekijk eerst de hotspotinstellingen. Klik daarvoor links op Configureer hotspot. In het eerste tabblad kun je het ssid, de draadloze modus en het kanaal veranderen (zie ook het kader ‘Welk wifi-kanaal kiezen?’). Kijk ook in het tabblad Geavanceerd na of de landcode daar wel correct staat. In het tabblad Beveiliging is er doorgaans geen reden om de standaardkeuzes WPA en TKIP te aanvaarden: kies voor de veiligere opties WPA2 en CCMP. Verander ook het wachtwoord ChangeMe. Sla je instellingen op en herstart daarna je Pi of klik (als je de webinterface niet via het wifi-netwerk van RaspAP bezoekt) op Stop hotspot en daarna Start hotspot.
©PXimport
08 Wachtwoord veranderen
Naast het wachtwoord voor je ssid dien je ook nog het wachtwoord voor de webinterface van RaspAP te veranderen. Dat doe je in Configureer authenticatie. Eventueel kun je ook de standaard gebruikersnaam admin veranderen. Maar het belangrijkste is dat je het standaardwachtwoord secret (dat je bij Oud wachtwoord invult) vervangt door een veiliger wachtwoord. Vul je nieuwe wachtwoord twee keer in en klik op Instellingen opslaan. Daarna vraagt de webinterface het nieuwe wachtwoord. Het is belangrijk dat zowel het ssid-wachtwoord als het wachtwoord van je webinterface sterk genoeg zijn, zodat onbevoegden geen toegang tot je netwerk en de configuratie van je hotspot hebben.
©PXimport
Welk wifi-kanaal kiezen?
Welk wifi-kanaal je voor RaspAP instelt, hangt voornamelijk af van welke kanalen er in je buurt al in gebruik zijn. Als meerdere draadloze netwerken van hetzelfde kanaal gebruikmaken, dan gaat dit vaak ten koste van de verbindingssnelheid. Op de 2,4GHz-band overlappen die kanalen bovendien, wat het nog problematischer maakt. De eerste stap is dus om te bekijken welke kanalen er al in gebruik zijn. Dat kan onder Android met een app zoals Wifi Analyzer, waarin je ook mooi de overlapping van de kanalen te zien krijgt. Kies voor RaspAP een kanaal dat zo min mogelijk overlapt met de andere netwerken.
09 Verbindingsproblemen oplossen
Als het je niet lukt om op je wifi-toegangspunt te verbinden, ga dan naar Configureer hotspot / Geavanceerd en schakel de optie Logboek uitvoer in. Klik op Instellingen opslaan en herstart de hotspot met Stop hotspot en daarna Start hotspot. Daarna krijg je in het tabblad Logfile logs te zien die je op de oorzaak van je problemen kunnen wijzen. Zoek voor een oplossing naar de foutmelding die je te zien krijgt in Google of op de GitHub-pagina van RaspAP.
©PXimport
10 Dhcp-server instellen
RaspAP draait een dhcp-server op de draadloze interface, die je via het menu Configureer DHCP server kunt instellen. Standaard deelt die ip-adressen uit van 10.3.141.50 tot 10.3.141.255, maar dat kun je veranderen. In het tabblad Clienten lijst krijg je te zien welke dhpc-leases geconfigureerd zijn. In Static Leases configureer je vaste ip-adressen. Je vult dan het mac-adres van een apparaat in en het ip-adres dat het toegekend moet krijgen. Klik daarna op Voeg toe en dan Instellingen opslaan. Dat is vooral handig als je op een van de via wifi aangesloten apparaten een server wilt draaien of met een firewall op basis van het ip-adres specifiek netwerkverkeer al dan niet wilt toestaan.
©PXimport
11 Draadloos in plaats van ethernet
Je kunt met RaspAP ook een draadloos toegangspunt opzetten op een plaats waar je geen ethernetaansluiting hebt. Je dient dan een tweede wifi-interface via usb aan te sluiten op je Raspberry Pi, die je dan in plaats van een ethernetkabel gebruikt om met je router te verbinden. Open eerst het configuratiebestand van RaspAP met sudo nano /var/www/html/includes/config.php en verander in de regel define('RASPI_WIFI_CLIENT_INTERFACE', 'wlan0'); wlan0 door wlan1. Sla je wijziging op met Ctrl+O en sluit nano af met Ctrl+X. Open dan met nano het bestand /etc/dhcpcd.conf en voeg helemaal op het einde de regel nohook wpa_supplicant toe en plaats een hekje (#) vooraan de regel static routers=10.3.141.1. Voer daarna de opdracht sudo systemctl restart hostapd.service uit.
©PXimport
Https
Standaard draait de webinterface van RaspAP op http, niet op het versleutelde https. Op de wiki van het project vind je hoe je https-ondersteuning activeert. In het kort komt het hier op neer: je draait je eigen lokale certificaatautoriteit (CA), maakt een certificaat voor RaspAP aan en ondertekent dat. Daarna configureer je lighttpd, de door RaspAP gebruikte webserver, zodat die je certificaat gebruikt voor versleutelde communicatie met de webinterface. Tot slot moet je ook op elk apparaat waarmee je de webinterface wilt bezoeken het rootcertificaat (van je eigen certificaatautoriteit) downloaden zodat het certificaat van RaspAP vertrouwd wordt en in je webbrowser een groen slotje krijgt.
©PXimport
12 Wifi-client configureren
Klik daarna in de webinterface van RaspAP links op Configureer WiFi apparaat en rechts op Herscan. Kies het draadloze netwerk dat voor RaspAP als toegang tot je thuisnetwerk dient. Vul het wachtwoord bij het juiste netwerk in en klik op Add en daarna op Connect. Schakel daarna in Configureer hotspot / Geavanceerd de WiFi client AP mode in, klik op Instellingen opslaan en herstart de hotspot. Overigens is dit een stap waarin je tegen wat problemen kunt aanlopen. Als er iets niet lukt, kijk dan eens bij de issues op de GitHub-pagina van RaspAP of iemand een vergelijkbaar probleem heeft gehad en dat heeft opgelost.
©PXimport
13 RaspAP upgraden
RaspAP is nog volop ontwikkeling. Regelmatig upgraden naar de nieuwste versie is daarom aangeraden. Helaas gaat dat (nog) niet via de webinterface en dien je daarvoor enkele opdrachten in te typen. Zoek eerst op wat de nieuwste versie is, en of die nieuwer is dan het versienummer dat je linksboven in de webinterface van RaspAP te zien krijgt. Voer daarna de volgende opdrachten op je Pi uit: ga naar de juiste directory met cd /var/www/html, download de laatste broncode met sudo git fetch --tags en installeer daarna de gewenste versie met (bijvoorbeeld voor versie 1.6.1) sudo git checkout tags/1.6.1.
©PXimport
14 RaspAP verwijderen
Als je RaspAP als een tijdelijke oplossing hebt gebruikt, wil je het programma achteraf wellicht verwijderen. Gelukkig levert RaspAP een de-installatiescript mee dat niet alleen alle sporen van het programma zelf verwijdert, maar ook je systeemconfiguratiebestanden terugzet naar de versies waarvan RaspAP tijdens zijn installatie een kopie heeft gemaakt. Het gaat dan onder andere om de configuratie van je netwerkinterfaces, dns en dhcp. Ga daarvoor naar de juiste map met cd /var/www/html/installers en voer het script uit met ./uninstall.sh.
©PXimport
Extra diensten integreren
RaspAP kun je nog uitbreiden met extra diensten. Helaas is de integratie daarvan nog niet helemaal af, zodat je op dit gebied zelf nog wat configuratiewerk dient te doen. Maar op de wiki en in de issues van de GitHub-pagina vind je hier extra informatie over. Zo kun je een OpenVPN-client integreren, zodat alle clients die met je toegangspunt verbinden via een specifieke vpn-server surfen. Je kunt Tor op je Pi installeren, zodat alle wifi-clients automatisch via het Tor-netwerk anoniem surfen. En ook de adblocker Pi-hole kun je laten samenwerken met RaspAP om automatisch advertenties te blokkeren bij alle verbonden wifi-clients.
©PXimport