Raspberry Pi – Statische IP-Adresse einrichten



Inhalt

Der Raspberry Pi bekommt standardmäßig eine dynamische IP-Adresse von dem DHCP-Server des Netzwerkrouters zugewiesen. Der Nachteil ist dass sich diese Adresse oft ändert oder bei einem kleinen Netzwerk ändern kann. Es wird also nicht sichergestellt dass der RPi immer unter der gleichen Adresse erreichbar sein wird. Diese Eigenschaft ist problematisch wenn man den RPi regelmässig über SSH-Client ansprechen oder als Server nutzten will. Aus diesen Gründen ist es sinnvoll dem RPi eine feste, statische IP-Adresse zu vergeben.


Statische IP-Adresse im Raspbian Wheezy konfigurieren

Bei Raspbian Wheezy gibt es zwei unterschiedliche Vorgehensweisen bei der statischen IP-Adresse Konfiguration. Der Grund ist der ab dem 5. Mai 2015 eingeführte, standardmässig aktive DHCP Client Daemon (DHCPCD), der bei einer manuellen Konfiguration zum Problem werden kann und im schlimmsten Fall den RPi mit zwei IP-Adressen (primary, secondary) laufen lässt.

Den dhcpcd Status kann man abfragen mit:

$ sudo service dhcpcd status

Ist die Ausgabe dhcpcd: unrecognized service, dann ist der Daemon nicht installiert und man kann die manuelle Konfiguration regulär wie in Raspbian Wheezy bis 2015-05-05 beschrieben durchführen. Ist der Daemon aktiv dann ist die Vorgehensweise wie in Raspbian Wheezy ab 2015-05-05.

Raspbian Wheezy bis 2015-05-05

Öffne die Konfigurationsdatei:

$ sudo nano /etc/network/interfaces

Sollte diese Datei leer sein dann mit STRG+X schliessen und diese öffnen:

$ sudo nano /etc/systemd/network

Die Stelle in der Datei

auto eth0
iface eth0 inet dhcp

oder

auto eth0
allow-hotplug eth0
iface eth0 inet manual

ersetzt man mit

# Ethernet
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
dns-domain raspberrypi.local # optional

Bemerkung: Dieses Beispiel bezieht sich auf die Ethernet-Schnittstelle (eth0). Genauso kann man aber diese Einstellungen für WLAN (wlan0) nutzen. Wichtig ist dass die IP-Adresse ausserhalb des DHCP-Server-Adress-Pools liegt. In der Routerkonfiguration kann der dynamische IP Bereich überprüft werden.

 

Die Konfigurationsdatei mit STRG+O, ENTER speichern und mit STRG+X schliessen.

Überprüfen ob die folgenden Einträge in der /etc/resolv.conf Datei existieren. Wenn nicht, hinzufügen:

nameserver 192.168.1.1
domain localhost raspberrypi.local

Raspbian Wheezy rebooten:

$ sudo reboot

Die IP-Adressen-Konfiguration überprüfen wie hier beschrieben.

Raspbian Wheezy ab 2015-05-05

Der dhcpcd wird zuerst angehalten und von dem erneuten Start beim Booten ausgeschlossen.

$ sudo service dhcpcd stop
$ sudo update-rc.d -f dhcpcd remove

Jetzt kann die Konfiguration wie in Raspbian Wheezy bis 2015-05-05 beschrieben durchgeführt werden.


Statische IP-Adresse im Raspbian Jessie konfigurieren

In Raspbian Jessie ist standardmäßig ein DHCP Client Daemon (DHCPCD) aktiviert. Die IPv4-Konfiguration wird über eine Konfigurationsdatei des DHCPCD vorgenommen.

Den Status des dhcpcd überprüfen:

$ sudo service dhcpcd status

Ist der dhcpcd installiert, aber ausgeschaltet, dann soll er mit folgenden Befehlen eingeschaltet werden. Erst dann sollte man die Konfiguration durchführen.

$ sudo service dhcpcd start
$ sudo systemctl enable dhcpcd

Die Datei /etc/network/interfaces sollte den Originalzustand haben und die Schittstellen müssen in der Option iface auf manual gesetzt sein.

Die statische IPv4-Konfiguration wird in der Datei /etc/dhcpcd.conf eingetragen:

$ sudo nano /etc/dhcpcd.conf

Folgende Zeilen werden hinzugefügt:

interface eth0
static ip_address=192.168.1.100/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

Die Datei mit STRG+O, ENTER speichern und mit STRG+X schliessen.

 

Bemerkung: Dieses Beispiel bezieht sich auf die Ethernet-Schnittstelle (eth0). Genauso kann man aber diese Einstellungen für WLAN (wlan0) nutzen. Wichtig ist dass die IP-Adresse ausserhalb des DHCP-Server-Adress-Pools liegt. In der Routerkonfiguration kann der dynamische IP Bereich überprüft werden. Die Zahl „24“ hinter der IP-Adresse ist ein Kürzel für die Subnetzmaske 255.255.255.0.

 

Raspbian Jessie neustarten:

$ sudo reboot

Die IP-Adressen-Konfiguration überprüfen wie hier beschrieben.

 



Anzeige

Statische IP-Adressen-Konfiguration überprüfen

Die IP-Adressen-Konfiguration wird überprüft mit

$ ip a

Es sollte nur eine Zeile inet mit der statischen IP-Adresse vorhanden sein.

 

Das Standard-Gatway (ermöglicht den Internetzugriff) wird überprüft mit

$ ip r

Die Zeile default soll auf die richtige IP-Adresse (z.B. 192.168.1.1) zeigen.

 

Die DNS-Server-Adresse wird überprüft mit

$ cat /etc/resolv.conf

In der Zeile hinter nameserver soll die DNS-Server IP-Adresse stehen.

Erläuterung zu der /etc/network/interfaces Datei

Die Netzwerk-Konfigurationsdatei /etc/network/interfaces sieht standardmäßig nach Raspbian Jessie Neuinstallation wie folgt aus:

# Please note that this file is written to be used with dhcpcd.
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'.

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet manual

auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

auto wlan1
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

auto <INTERFACE> – die Schnittstelle während des Systemstarts aktivieren und entsprechend dem iface-Eintrag konfigurieren

lo – localhost loopback (Nachrichten- und Informationskanal). Diese Schnittstelle dient der lokalen Kommunikation auf dem Rechner und muss immer vorhanden sein. Fehlt dieser Eintrag, so können Programme nicht mehr untereinander kommunizieren.

eth0 – Die Ethernet-Schnittstelle (RJ45-Port) die den Raspberry Pi über ein Kabel mit dem LAN verbindet. Weitere Schnittstellen werden durchnummeriert (eth1, eth2…)

wlan0, wlan1 – Die Funk-Schnittstellen für WLAN/Wifi. Weitere Schnittstellen werden durchnummeriert (wlan2, wlan3…)

wpa-conf – die Konfigurationsdatei der WLAN-Authentifizierung

allow-hotplug <INTERFACE> – aktiviert die Schnittstelle und konfiguriert sie entsprechend dem iface-Eintrag. Tritt ein Kernel-Hotplug-Ereignis an der Schnittstelle ein, zum Beispiel durch das Einstecken des Netzwerkkabels an einem aktiven Port oder das Erkennen eines konfigurierten WLANs, wird die Schnittstelle aktiviert. Die Option „allow-hotplug“ schließt „auto“ mit ein.

iface <INTERFACE> <PROTOCOL> <OPTION> – die Konfiguration der <INTERFACE> Schnittstelle mit dem <PROTOCOL> und <OPTION>.

Der Parameter <PROTOCOL> kann einen der folgenden Werte haben:

  • inet – für IPv4 Protokoll
  • inet6 – für IPv6 Protokoll
  • ipx – für IPX/SPX Protokoll

Die folgenden <OPTION> Parameter sind verfügbar:

  • manual – die /etc/network/interfaces Datei ist für die IP-Konfiguration nicht zuständig
  • static – statische IP-Konfiguration, die weitere Angaben erfordert
  • dhcp – der Bezug der IP-Konfiguration erfolgt von einem DHCP-Server
  • loopback – lokale Nachrichten- und Informationsschleife bei lo Schnittstelle

 

 






Raspbian Jessie/Raspbian Jessie Lite/Ubuntu MATE installieren



Die SD-Karte muss mit FAT32-Dateisystem formatiert worden sein. Die Anleitung befindet sich hier.

Je nach Betriebsystem sind unterschiedlich große SD-Karten betnötigt:

  • Raspbian Jessie Lite (mind. 4 GB)
  • Raspbian Jessie (mind. 8 GB)
  • Ubuntu MATE 16.04 LTS (mind. 16 GB)

Für gute Performance sind SDHC-Karten Class 6 und Class 10 empfohlen.

Bemerkung: Für Ubuntu MATE 16.04 LTS ist ein Raspberry Pi 2 oder 3 die Voraussetzung.

Image herunterladen

Hier kann man die OS-Image-Archivdateien herunterladen:


Image auf die SD-Karte übertragen

Windows

Entpacke das Image aus der heruntergeladenen Archivdatei mit 7-zip.

Instaliere und starte Win32 Disk Imager mit Administratorrechten.

Win32 Disk Imager - Bild 1
Win32 Disk Imager Hauptfenster

Lade die Image-Datei, wähle das SD-Karten-Ziel-Laufwerk aus und klicke auf Write.

Win32DiskImager - Bild 2
Win32DiskImager – Warnung

Bestätige die Warnung mit Yes wenn das richtige Laufwerk ausgewählt worden ist.

Win32DiskImager - Bild 3
Win32DiskImager – Schreiben abgeschlossen

Mit OK abschliessen. Das Image ist auf der SD-Karte. Sie kann jeztz in den Raspberry Pi gesteckt und hochgefahren werden.

 

Übrigens das Tool funktioniert auch umgekehrt. Es kann von der SD-Karte ein Image erstellen wenn man einen Image-Dateinamen (mit .img-Endung) angibt und Read betätigt.

Anzeige

Linux/Mac OS

Navigiere zu dem Ordner wo die Image-Archivdatei heruntergeladen wurde. Standardmässig ist es der Downloads-Ordner:

cd /home/username/Downloads; ll

Entpacke die Archivdatei.

ZIP-Archiv mit: unzip Dateiname

XZ-Archiv mit: unxz Dateiname

Tipp: Soll die XZ-Archivdatei nicht gelöscht werden nach dem Entpacken, benutze unxz -k Dateiname.

Ubuntu_Install - Bild 1
Ubuntu MATE Image-Archivdatei entpacken

Mit dem Befehl sudo fdisk -l den SD-Karten-Pfad herausfinden:

Ubuntu_Install Bild 3
Pfad zum SD-Karten-Laufwerk herausfinden

Image-Dateinamen mit ll anzeigen:

Ubuntu_Install - Bild 2
Image Datainame


Image auf die SD-Karte schreiben:

          sudo dd bs=4M if=IMAGE of=DEVICE (auf Mac OS: sudo dd bs=4m if=IMAGE of=DEVICE)

Ubuntu_Install - Bild 4
Image auf die SD-Karte schreiben

Überprüfe mit dem Befehl sync ob das Image fehlerfrei geschrieben wurde.

Bemerkung: Wie man sieht in der dd-Befehlsausgabe, reicht der Speicherplatz einer 8 GB SD-Karte nicht aus für die Ubuntu MATE 16.04 LTS Installation. Die Image-Datei ist zwar physikalisch mit 7,5 GB kleiner als die SD-Karte mit 7,8 GB, die aber nicht Vollständig zu verfügung stehen (geschützter und reservierter Bereich).