Vast IP-adres: essentieel voor Raspberry Pi

Een statisch IP-adres (ook vast IP-adres genoemd) verandert niet, in tegenstelling tot een dynamisch IP-adres. De singleboard-computer Raspberry Pi moet altijd een statisch IP-adres hebben als je er gedurende langere tijd met andere apparaten toegang tot wilt hebben. Dit betreft zowel het privé IP-adres van de Raspberry Pi dat de computer in het lokale netwerk heeft, alsook het publieke IP-adres van het netwerk waarmee de Raspberry Pi op internet bereikbaar is (bijvoorbeeld als hij wordt gebruikt als server). Maar hoe voorzie je de Raspberry Pi van een IP-adres dat altijd gelijk blijft? Wij leggen uit welke mogelijkheden er zijn om een vast IP-adres op de Raspberry Pi in te stellen.


Adressering van de Raspberry Pi via een statisch IP-adres

Voor veel projecten met de kleine computer is het handig of noodzakelijk om de Raspberry Pi een vast IP-adres te geven. Voor we echter dieper ingaan op het gebruik van zo’n statisch IP-adres op de Raspberry Pi verduidelijken we eerst het verschil tussen de adressering van de computer in het privé (lokale) netwerk en het publiek toegankelijke internet. Privé en publieke IP-adressen moeten niet worden verward.


Adressering van de Raspberry Pi in de LAN via een privé IP-adres

Binnen een lokaal netwerk (ook Local Area Network of kort LAN genoemd) verdeelt een router data over de verschillende apparaten. De router is ook verantwoordelijk voor de uitgifte van IP-adressen – om precies te zijn de DHCP-server die in de router zit. De DHCP (Dynamic Host Configuration Protocol) kent bijvoorbeeld vrije IP-adressen automatisch toe aan corresponderende devices. Computers, smart-tv’s, smartphones of een Raspberry Pi ontvangen zo een adres waarmee ze met andere apparaten kunnen communiceren. Alle apparaten kunnen via hun zogenaamde MAC-adres uniek worden geïdentificeerd.

Omdat de IP-adressen in een privénetwerk met DHCP individueel worden toegekend en de koppeling van apparaten aan een IP-adres alleen geldig is binnen je lokale netwerk, worden dit privé IP-adressen genoemd. In de standaardinstellingen krijgt ook de Raspberry Pi zijn IP-adres via de DHCP-server. De privé IP-adressen van de afzonderlijke apparaten kunnen echter wisselen, afhankelijk van onder andere de configuratie van de DHCP-server.

Om de Raspberry Pi in je eigen LAN steeds onder hetzelfde adres te kunnen bereiken, moet hij worden voorzien van een statisch privé IP-adres. Zo’n vast IP-adres voor de Raspberry Pi kan bijvoorbeeld worden gebruikt voor het op afstand onderhouden van de computer met het netwerkprotocol SSH (Secure Shell): als je een SSH-programma hebt geïnstalleerd, kun je met SSH-client de Raspberry Pi op afstand besturen vanaf een andere computer. Dit is handig omdat je voor de bediening niet meer apart een monitor en toetsenbord hoeft aan te sluiten. Zolang de minicomputer alleen een dynamisch privé IP-adres heeft, moet je het actuele IP-adres bij elke SSH-toegang opnieuw uitzoeken en dit met de SSH-client verbinden – met een statisch privé IP-adres is dit niet nodig.

Het is essentieel om je Raspberry Pi een vast privé IP-adres te geven, wanneer je hem wilt gebruiken als server in de LAN. Als de Raspberry Pi server echter ook buiten het lokale netwerk continu bereikbaar moet zijn, moet je hem een ander vast adres toewijzen, waarmee de server bereikbaar is op internet. Dit kan bijvoorbeeld door middel van een internetaansluiting met een statisch publiek IP-adres of een DDNS-service.


Adressering van de Raspberry Pi op internet via een publiek IP-adres of DDNS

Wanneer de Raspberry Pi als server via het internet bereikbaar moet zijn, is het publieke IP-adres van je internetverbinding van belang. Vaak beschikt een internettoegang over een dynamisch IP-adres dat verandert na elke opstart en tenminste na 24 uur. Daarmee verandert het publieke IP-adres waarmee de Raspberry Pi server bereikbaar is.

Als je de Raspberry als ownCloud server of in een andere servervorm wilt gebruiken, ontstaat het volgende probleem: zodra de server een nieuw IP-adres krijgt, is hij alleen traceerbaar in de LAN. Als je je buiten het lokale netwerk bevindt, weet je dus niet onder welk adres de server nu bereikbaar is. De oplossing is een vast IP-adres. De eenvoudigste variant zou het gebruik van een internetaansluiting met een statisch publiek IP-adres zijn. Dit is echter vaak behoorlijk duur en wordt ook niet door alle internetproviders aangeboden.

Een andere oplossing is het gebruik van dynamisch DNS (DDNS). Dit verbindt je dynamische publieke IP-adres met een domeinnaam. Als je IP-adres verandert, leidt een programma het nieuwe adres door naar de domeinnaam. Wanneer je nu een server op de Raspberry Pi verbindt met de domeinnaam, is hij permanent online bereikbaar.

Er zijn gratis en betaalde DDNS-services. Voor je beslist, moet je eerst controleren of en welke DDNS-provider jouw router ondersteunt. Bezitters van een Fritz!Box-router kunnen ook gebruikmaken van de interne DDNS-functie van de Fritz!Box.


Met een router een statisch privé IP-adres toewijzen aan de Raspberry Pi

Veel routers ondersteunen de mogelijkheid om afzonderlijke apparaten binnen het lokale netwerk te voorzien van een vast IP-adres. Zo kun je bijvoorbeeld met een Fritz!Box-router instellen dat bepaalde apparaten altijd hetzelfde IP-adres krijgen. Ook diverse andere routers ondersteunen zo’n functie en kunnen worden gebruikt voor het verbinden van de Raspberry Pi met een vast IP-adres.

Bij elke router moet een vast IP-adres voor de Raspberry Pi iets anders worden ingericht. Het basisprincipe is altijd hetzelfde: je opent de gebruikersinterface van de router in je browser; via de handmatige IP-configuratie verbind je het MAC-adres van de Raspberry Pi met een IPv4-adres van je LAN. Meestal bestaat hiervoor een selectievak in de routerinterface waarin je kunt aangeven dat het IP-adres dat je automatisch wordt toegewezen, vanaf dat moment altijd moet worden gebruikt.


Een statisch IP-adres met DHCPCD toewijzen aan de Raspberry Pi

Raspbian Jessie of Jessie Lite – de op dit moment actuele Raspbian besturingssystemen – beschikken over een DHCP client daemon (DHCPCD) die met DHCP-servers van routers kan communiceren. Via de configuratiebestanden van de DHCP client daemon kunnen privé IP-adressen van een computer worden gewijzigd en langdurig worden vastgelegd. Hieronder laten wij zien hoe je een statisch IPv4-adres met 32 bits (niet te verwarren met een IPv6-adres dat over 128 bits beschikt) aan de Raspberry Pi toewijst.

Voor je met het toewijzen van een statisch privé IP-adres voor de Raspberry Pi begint, controleer je eerst of DHCPCD al is geactiveerd met het volgende commando:

sudo service dhcpcd status

Wanneer dit niet het geval is, activeer je DHCPC als volgt:

sudo service dhcpcd start
sudo systemctl enable dhcpcd

Nu controleer je of de configuratie van de bestanden /etc/network/interfaces de oorspronkelijke status heeft. Hiervoor moet de ‘’iface’’ configuratie bij de interfaces zijn ingesteld op "manual".

Je begint met het bewerken van het geactiveerde DHCPCD door de configuratiebestanden /etc/dhcpcd.conf te openen en het volgende commando uit te voeren:

sudo nano /etc/dhcpcd.conf

Nu ga je de configuratie van het vaste IP-adres uitvoeren. Als je Raspberry Pi met internet is verbonden via ethernet/netwerkkabel geef je het commando ‘’interface eth0’’, is hij verbonden via wifi, dan gebruik je het commando ‘’interface wlan0’’.

Voor het toewijzen van een IP-adres aan de Raspberry Pi gebruik je vervolgens het commando “static ip_address=’’, gevolgd door het gewenste IPv4-adres en de toevoeging “/24” (een afkorting van het subnetmask 255.255.255.0). Wanneer je de computer bijvoorbeeld wil verbinden met het IPv4-adres 192.168.0.4 moet het commando ‘’static ip_address=192.168.0.4/24’’ zijn. Daarbij mag het gebruikte adres natuurlijk niet ergens anders al in gebruik zijn en mag het zich niet in de adrespool van een DHCP-server bevinden.

Vervolgens moet je het adres van je gateway en je domeinnaamserver nog specificeren (doorgaans is dit voor allebei de router). De Raspberry Pi wendt zich tot het gateway-adres als het IP-adres, waar hij iets naar toe wil sturen, buiten het subnetmask ligt (in het voorbeeld dus buiten 192.168.0). In het volgende commando wordt het IPv4-adres 192.168.0.1 gebruikt als voorbeeld voor de gateway en de DNS-server. Het complete commando ziet er dan in ons voorbeeld zo uit (bij gebruik van een netwerkkabel voor de internetverbinding):

interface eth0
static ip_address=192.168.0.4/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

De bovenstaande commandoregels pas je aan de IPv4-adressen aan die je wilt gebruiken voor de Raspberry Pi of die je router heeft. Sla de veranderingen op met ‘’Ctrl + O’’ en bevestig ze vervolgens met de entertoets. Sluit het configuratiebestand met ‘’Ctrl + X’’ en start opnieuw op, zodat de nieuw toegewezen statische IP-adressen in het netwerk worden overgenomen:

sudo reboot

Controleer nu met een ping commando of de Raspberry Pi met zijn nieuwe IP-adres bereikbaar is in het netwerk:

ping raspberrypi.local

Als de verbinding van het IP-adres succesvol is geweest, kan je zien dat je je Raspberry Pi onder het nieuwe IP-adres met een ping kan bereiken.


Vaste IP-adressen voor de Raspberry Pi zijn soms noodzakelijk

Samenvattend kunnen we stellen dat er in principe twee verschillende IP-adressen zijn die van belang zijn voor de Raspberry Pi (en projecten met de Raspberry Pi): privé IP-adressen van de Raspberry Pi binnen het lokale netwerk en publieke IP-adressen van de internetverbinding.

Een statisch privé IP-adres is vooral noodzakelijk als je een Raspberry Pi als server wilt gebruiken, bijvoorbeeld met LAMP, OpenVPN of als mailserver of cloudserver. Wie de kleine computer vaak via SSH gebruikt, moet hem toch ook voorzien van een vast adres. De bovenstaande mogelijkheden laten zien dat dit relatief eenvoudig is.

Het toewijzen van een vast publiek adres waarmee je via internet toegang hebt tot de Raspberry Pi is iets ingewikkelder. Dit is nodig om bijv. een server die op de Raspberry Pi is geïnstalleerd steeds online bereikbaar te houden. Vaak is internettoegang echter alleen beschikbaar via een dynamisch publiek IP-adres, wat hier niet mogelijk is. Omdat een statisch adres niet door alle internetproviders wordt aangeboden (en indien wel, dan vaak relatief duur is), is een DDNS-service de beste oplossing. Hiervoor moet je echter opletten in welke vorm je router dynamisch DNS ondersteunt.