Die aktuelle Raspbian Jessie bzw. Jessie Lite Version verfügt wie Windows über einen DHCP Client Daemon (DHCPCD), der mit DHCP-Servern von Routern kommunizieren kann. Über die Konfigurationsdatei des DHCP Client Daemons lässt sich die private IP-Adresse des Raspberry Pi einstellen und langfristig festlegen. Im Folgenden geben wir dem Raspberry Pi eine feste IPv4-Adresse mit 32 Bit (nicht zu verwechseln mit einer IPv6-Adresse, die über 128 Bit verfügt).
Bevor Du mit der Einrichtung einer statischen privaten IP-Adresse für den Raspberry Pi beginnst, prüfe zunächst über den folgenden Befehl, ob DHCPCD bereits aktiviert ist:
sudo service dhcpcd status
Sollte der Dienst nicht aktiviert sein, kannst Du dieses wie folgt nachholen:
sudo service dhcpcd start sudo systemctl enable dhcpcd
Nun stelle sicher, dass die Konfiguration der Datei /etc/network/interfaces den Auslieferungsstatus besitzt. Hierfür muss bei den Schnittstellen die Konfiguration „iface“ auf „manual“ stehen. Die Datei sollte so oder so ähnlich aussehen:
# interfaces(5) file used by ifup(8) and ifdown(8) # Please note that this file is written to be used with dhcpcd # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf' # Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d auto lo iface lo inet loopback iface eth0 inet manual # onboard wlan Raspberry Pi 3 or USB adapter allow-hotplug wlan0 iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf # additonal USB wlan adapter allow-hotplug wlan1 iface wlan1 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Nun musst Du die Konfigurationsdatei des DHCPCDs mit folgendem Befehl bearbeiten:
sudo nano /etc/dhcpcd.conf
Nun erfolgt die Konfiguration der festen IP-Adresse. Wenn Dein Raspberry Pi via Ethernet/Netzwerkkabel mit dem Internet verbunden ist, bearbeite den Eintrag mit „interface eth0“; sollte dies über WLAN geschehen, nutze hingegen den Befehl „interface wlan0“.
Für die Zuweisung einer IP-Adresse an den Raspberry Pi verwende den Eintrag „static ip_address=“, gefolgt von der gewünschten IPv4-Adresse und dem Zusatz „/24“ (eine Abkürzung der Subnetzmaske 255.255.255.0). Wenn Du Deinen Raspberry Pi beispielsweise mit der IPv4-Adresse 192.168.115.41 verknüpfen möchtest, muss das Kommando „static ip_address=192.168.115.41/24“ lauten. Dabei ist selbstverständlich zu beachten, dass die verwendete Adresse noch nicht anderweitig genutzt wird. Genauso wenig darf sie sich im Adresspool eines DHCP-Servers befinden.
Anschließend musst Du noch die Adresse Deines Gateways und Domain-Name-Servers festlegen (für gewöhnlich ist beides der Router). An die Gateway-Adresse wendet sich der Raspberry Pi, wenn eine IP-Adresse, an die er etwas senden will, außerhalb der Subnetzmaske liegt (im Beispiel also außerhalb des Bereichs 192.168.115.xxx). Im nachstehenden Beispiel wird für Gateway und DNS-Server exemplarisch die IPv4-Adresse 192.168.115.1 verwendet.
# Static IP configuration for eth0 interface eth0 static ip_address=192.168.115.41/24 static routers=192.168.115.1 static domain_name_servers=192.168.115.1
Um einem WLAN-Adapter eine feste IP zuzuweisen muss die Konfiguration wie folgt aussehen. Im Beispiel verwende ich die IP 192.168.115.42 für das Interface wlan0:
# Static IP configuration for wlan0 interface wlan0 static ip_address=192.168.115.42/24 static routers=192.168.115.1 static domain_name_servers=192.168.115.1
Die komplette Konfiguration mit festen IPs für Netzwerkkarte und WLAN-Adapter könnte dann so aussehen:
# Use the hardware address of the interface for the Client ID. clientid # or # Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361. # duid # Persist interface configuration when dhcpcd exits. persistent # Rapid commit support. # Safe to enable by default because it requires the equivalent option set # on the server to actually work. option rapid_commit # A list of options to request from the DHCP server. option domain_name_servers, domain_name, domain_search, host_name option classless_static_routes # Most distributions have NTP support. option ntp_servers # Respect the network MTU. # Some interface drivers reset when changing the MTU so disabled by default. # option interface_mtu # A ServerID is required by RFC2131. require dhcp_server_identifier # Generate Stable Private IPv6 Addresses instead of hardware based ones slaac private # A hook script is provided to lookup the hostname if not set by the DHCP # server, but it should not be run by default. nohook lookup-hostname # Static IP configuration for eth0 interface eth0 static ip_address=192.168.115.41/24 static routers=192.168.115.1 static domain_name_servers=192.168.115.1 # Static IP configuration for wlan0 interface wlan0 static ip_address=192.168.115.42/24 static routers=192.168.115.1 static domain_name_servers=192.168.115.1 # Static IP configuration for wlan1 interface wlan1 static ip_address=192.168.115.43/24 static routers=192.168.115.1 static domain_name_servers=192.168.115.1
Nach einem Neustart des Pi kannst Du mit einem Ping überprüfen, ob der Raspberry Pi mit seiner neuen IP-Adresse im Netzwerk erreichbar ist:
C:\>ping raspberrypi.local -4 Ping wird ausgeführt für raspberrypi.local [192.168.115.41] mit 32 Bytes Daten: Antwort von 192.168.115.41: Bytes=32 Zeit=3ms TTL=64 Antwort von 192.168.115.41: Bytes=32 Zeit=2ms TTL=64 Antwort von 192.168.115.41: Bytes=32 Zeit=2ms TTL=64 Antwort von 192.168.115.41: Bytes=32 Zeit=2ms TTL=64 Ping-Statistik für 192.168.115.41: Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0 (0% Verlust), Ca. Zeitangaben in Millisek.: Minimum = 2ms, Maximum = 3ms, Mittelwert = 2ms C:\>
Ob die Verknüpfung der IP-Adresse erfolgreich war, siehst Du daran, dass Du den Pi unter der neu vergebenen IP-Adresse mit einem Ping erreichen kannst.