Wireless Accesspoint

Een Raspberry Pi accesspoint is een geweldige manier om de wifi-dekking te vergroten en extra toegang tot je netwerk te bieden. Het kan tevens als basis dienen voor een VPN- of Tor-router.

In deze tutorial laat ik zien hoe een draadloos accesspoint ingesteld wordt en hoe je meerdere pakketten configureert waarmee gebruikers verbinding kunnen maken alsof het een router is.

Je moet er rekening mee houden dat de wifi-connectie van de Raspberry Pi waarschijnlijk niet zoveel verkeer aankan als een gewone router. Het uitbreiden van de Raspberry Pi met een wifi-dongle zal niet veel uithalen. Dit betekent dat voorkomen moet worden dat er te veel verbindingen met het apparaat worden gemaakt om te voorkomen dat het de techniek overbelast en traag wordt.

Het draadloze accesspoint instellen
Zoals met de meeste tutorials die ik doe, gebruikt deze gewoon een schone versie van Raspbian die is bijgewerkt naar de nieuwste pakketten.

Voor het opzetten van het Raspberry Pi wireless accesspoint maken we gebruik van twee pakketten. Deze twee pakketten zijn hostapd en dnsmasq

  • Hostapd is het pakket waarmee we een Raspberry Pi met wifi in een accesspoint kunnen veranderen.
  • Dnsmasq fungeert als zowel een DHCP- als DNS-server, zodat we IP-adressen kunnen toewijzen en DNS-verzoeken kunnen verwerken via de Raspberry Pi zelf.

Dnsmasq is eenvoudig in te stellen en te configureren. Het heeft ook het voordeel dat het enigszins licht van gewicht is in vergelijking met isc-dhcp-server en bind9-pakketten.

Let op! Hiervoor moet je een ethernet-netwerkverbinding en niet de wifi-verbinding.

1. Voordat we beginnen met het installeren en instellen van de pakketten, voeren we eerst een update uit op de Raspberry Pi door de volgende twee opdrachten uit te voeren.

sudo apt update
sudo apt upgrade

2. Als dat gedaan is, kunnen we de twee pakketten installeren, de volgende opdracht uitvoeren om hostapd, dnsmasq en iptables te installeren.

sudo apt install hostapd dnsmasq iptables

3. Nu de pakketten geïnstalleerd zijn, willen we nog niet dat ze actief zijn, omdat we ze nog niet correct hebben geconfigureerd.

Stop de uitvoering van de pakketten door de volgende twee opdrachten in de terminal te gebruiken. Deze commando’s vertellen de systeembeheerder om de dnsmasq- en hostapd-services te stoppen.

sudo systemctl stop hostapd
sudo systemctl stop dnsmasq

4. Nu hostapd en dnsmasq zijn gestopt, willen we de dhcpd-configuratie wijzigen zodat we de controle over de wlan0-interface kunnen overnemen.

Met dit bestand zullen we de Raspberry Pi met een statisch IP-adres voorzien en het vertellen om geen gebruik te maken van het wpa_supplicant-bestand, zodat we het puur als een accesspoint kunnen configureren.

Voer de volgende opdracht uit op uw Raspberry Pi om het dhcpcd.conf-bestand te wijzigen.

sudo nano /etc/dhcpcd.conf

5. Binnen dhcpcd.conf moeten we de volgende regels onderaan toevoegen, dit zal onze wlan0-interface instellen zoals we dat willen voor onze tutorial.

Let op! Als je een upgrade voor Raspbian Stretch hebt uitgevoerd, moet wlan0 mogelijk nog worden gewijzigd. Als je een Raspberry Pi 3 met de ingebouwde wifi gebruikt, kun je wlan0 blijven gebruiken. 

Gebruik de ifconfig-opdracht om te zien wat de nieuwe namen zijn, ze zijn waarschijnlijk vrij lang. Je moet elke verwijzing naar de nieuwe waarden in deze zelfstudie bijwerken.

interface wlan0
    static ip_address=192.168.220.1/24
    nohook wpa_supplicant

Pas de eerste drie waarden van het statische IP-adres aan naar het formaat van jouw netwerk.

Nu kunnen we het bestand opslaan en afsluiten door op Ctrl+o gevolgd door Ctrl-x te drukken.

6. Nu moeten we de dhcpd-service opnieuw opstarten, zodat deze in al onze configuratiewijzigingen wordt geladen. Voer hiervoor de volgende opdracht uit.

sudo systemctl restart dhcpcd

7. Vervolgens moeten we de hostapd-configuratie aanpassen. Hiervoor moeten we beginnen met het bewerken van het configuratiebestand met de volgende opdracht.

sudo nano /etc/hostapd/hostapd.conf

8. In het bestand hostapd.conf moeten we de volgende regels schrijven, deze stellen in hoe we willen communiceren met het wlan-apparaat. De enige echte regels waar je wat moet invullen, zijn de regels: ssid= en de wpa_passphrase=.

Als vuistregel moet je proberen jouw WPA-wachtwoordzin langer dan 6 tekens te maken om de verbinding veilig te houden.

OPMERKING: als je deze tutorial doet met een ander wifi-apparaat dan de ingebouwde Pi 3 wifi, moet je misschien ook de driver=-regel wijzigen in de beste driver voor je apparaat. Google kan je helpen uit te zoeken wat hiervoor de beste driver is.

interface=wlan0
driver=nl80211

hw_mode=g
channel=6
ieee80211n=1
wmm_enabled=0
macaddr_acl=0
ignore_broadcast_ssid=0

auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

# Dit is de naam van het netwerk
ssid=RPi-Access
# Het netwerk wachtwoord
wpa_passphrase=Picademie

Vergeet niet om wpa_passphrase te wijzigen in jouw eigen wachtwoord, zorg ervoor dat je het instelt op iets veiligs zodat willekeurige mensen, zoals je buren, niet zomaar verbinding kunnen maken met het Wi-Fi-toegangspunt.

Nu kunnen we het bestand opslaan en afsluiten door op Ctrl+o gevolgd door Ctrl-te drukken.

9. We zouden nu onze hostapd-configuratie moeten hebben, maar voordat deze kan worden gebruikt, moeten we twee bestanden bewerken. Deze bestanden zijn wat hostapd zal lezen om ons nieuwe configuratiebestand te vinden.

Voer de volgende opdracht uit om te beginnen met het bewerken van de eerste van deze twee bestanden.

sudo nano /etc/default/hostapd

10. In het bestand hostapd moeten we de volgende regel vinden en vervangen.
Zoek de regel:

#DAEMON_CONF=””

Vervangen deze door:

DAEMON_CONF=”/etc/hostapd/hostapd.conf”

Nu kunnen we het bestand opslaan en afsluiten door op Ctrl+o gevolgd door Ctrl-te drukken.

11. Nu moeten we het tweede configuratiebestand bewerken, dit bestand bevindt zich in de map init.d. We kunnen het bestand bewerken met het volgende commando:

sudo nano /etc/init.d/hostapd

12. In het bestand hostapd moeten we de volgende regel vinden en vervangen.
Zoek de regel:

DAEMON_CONF=

Vervangen door:

DAEMON_CONF=/etc/hostapd/hostapd.conf

Nu kunnen we het bestand opslaan en afsluiten door op Ctrl+o gevolgd door Ctrl-te drukken.

13. Nu hostapd is ingesteld, moeten we doorgaan met het instellen van dnsmasq. Voordat we beginnen met het bewerken van het configuratiebestand, zullen we de huidige hernoemen omdat we geen van de huidige configuraties nodig hebben.
We kunnen dit doen met het volgende mv-commando op onze Raspberry Pi.

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

14. Nu het oorspronkelijke configuratiebestand is hernoemd, kunnen we beginnen met het maken van ons eigen nieuwe configuratiebestand. We zullen het nieuwe bestand maken en bewerken met het nano-commando.

sudo nano /etc/dnsmasq.conf

15. Voeg aan dit bestand de volgende regels toe.
Deze regels vertellen de dnsmasq-service hoe alle verbindingen moeten worden afgehandeld en voor welke interface ze moeten worden afgehandeld.

interface=wlan0      # Gebruik interface wlan0  
server=1.1.1.1       # Gebruik Cloudflare DNS  
dhcp-range=192.168.220.50,192.168.220.150,12h # IP bereik en lease tijd

Pas de eerste drie waarden van de statische IP-adressen aan naar het formaat van jouw netwerk.

Nu kunnen we het bestand opslaan en afsluiten door op Ctrl+o gevolgd door Ctrl-te drukken.

16. Vervolgens moeten we de Raspberry Pi zo configureren dat al het verkeer van onze wlan0-verbinding naar onze ethernetverbinding wordt doorgestuurd.

Eerst moeten we het inschakelen via het configuratiebestand sysctl.conf, dus laten we beginnen met het bewerken ervan met de volgende opdracht.

sudo nano /etc/sysctl.conf

17. Binnen dit bestand moet je de volgende regel vinden en de # aan het begin ervan verwijderen. Zoek de regel:

#net.ipv4.ip_forward=1

Vervang het door:

net.ipv4.ip_forward=1

18. Omdat ik niet wil dat we wachten tot het bij de volgende keer opgestart wordt ingeschakeld, kunnen we het volgende commando uitvoeren om het onmiddellijk te activeren.

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

19. Nu IPv4 Forwarding is ingeschakeld, kunnen we een NAT configureren tussen onze wlan0-interface en onze eth0-interface. Kortom, dit zal al het verkeer van ons toegangspunt doorsturen naar onze ethernetverbinding.

Voer de volgende opdracht uit om de nieuwe regels aan de iptable toe te voegen.

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

20. De iptable wordt bij elke opstart van de Raspberry Pi leeggemaakt, dus moeten we onze nieuwe regels ergens opslaan zodat ze bij elke opstart opnieuw worden geladen.

Voer de volgende opdracht uit om onze nieuwe set regels op te slaan.

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

21. Nu onze nieuwe regels veilig ergens zijn opgeslagen, moeten we ervoor zorgen dat dit bestand bij elke herstart opnieuw wordt geladen. De eenvoudigste manier om hiermee om te gaan, is door het bestand rc.local te wijzigen.

Voer de volgende opdracht uit om te beginnen met het bewerken van het bestand.

sudo nano /etc/rc.local

22. Nu we in dit bestand zijn, moeten we de onderstaande regel toevoegen. Zorg ervoor dat deze regel boven exit 0 verschijnt. Deze regel leest in feite de instellingen uit ons bestand iptables.ipv4.nat en laadt ze in de iptables.

Zoek de regel:

exit 0

Voeg boven “exit 0” het volgende toe:

sudo hostapd /etc/hostapd/hostapd.conf &
iptables-restore < /etc/iptables.ipv4.nat

Nu kunnen we het bestand /etc/rc.local opslaan en afsluiten door op Ctrl+o gevolgd door Ctrl-te drukken.

23. Ten slotte hoeven we alleen maar de twee services hostapd en dnsmasq te starten en ze via systemctl in te schakelen. Voer hiervoor de volgende opdrachten uit.

sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
sudo service dnsmasq start

24. Na deze lange reeks van commando’s zou je een volledig operationele Raspberry Pi draadloos accesspoint moeten hebben. Je kunt dit testen door een van je draadloze apparaten, zoals je smartphone of tablet te gebruiken en verbinding te maken met je nieuwe accesspoint met behulp van het ingestelde SSID en het WPA-wachtwoord.

Om ervoor te zorgen dat alles soepel verloopt, kun je het beste nu opnieuw opstarten. Dit zorgt ervoor dat alles opnieuw wordt ingeschakeld. Voer de volgende opdracht uit om de Raspberry Pi opnieuw op te starten.

sudo reboot

Als alles goed gegaan is heb je nu een accesspoint waar je al het internetverkeer kunt routeren. Je kunt de tutorial het ook uitbreiden om er een VPN- of Tor-router van te maken.

Have A Nice Day!