Eine statische IP-Adresse bietet sich für Fälle an, in den entweder kein DHCP-Server zur Verfügung steht oder der Raspberry Pi als Server genutzt werden soll. Unter Debian Stretch gibt es mehrere Möglichkeiten um eine statische IP-Adresse zu vergeben. Nachfolgend die Variante über die Datei dhcpcd.conf.
1. Manuelle IP-Konfiguration
Normalerweise wird der DHCP-Dienst während der Installation des Betriebssystem aktiviert. Testen Sie trotzdem zunächst, ob der DHCP-Dienst auf Ihrem Interface läuft:
> sudo service dhcpcd status
Nachfolgend eine exemplarische Ausgabe:
dhcpcd.service - dhcpcd on all interfaces
Loaded: loaded (/lib/systemd/system/dhcpcd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-xx-xx hh:mm:ss CEST; 10min ago
Process: 322 ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -b (code=exited, status=0/SUCCESS)
Main PID: 354 (dhcpcd)
CGroup: /system.slice/dhcpcd.service
├─354 /sbin/dhcpcd -q -b
└─438 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
wlan0: probing address 192.168.0.10/24
wlan0: soliciting an IPv6 router
eth0: probing address 192.168.0.11/24
eth0: soliciting an IPv6 router
wlan0: leased 192.168.0.10 for 864000 seconds
wlan0: adding route to 192.168.0.0/24
wlan0: adding default route via 192.168.0.254
eth0: leased 192.168.0.11 for 864000 seconds
eth0: adding route to 192.168.0.0/24
eth0: adding default route via 192.168.0.254
Jetzt editieren Sie die Datei /etc/dhcpcd.conf
> sudo nano /etc/dhcpcd.conf
Scrollen Sie in der Datei solange herunter, bis Sie die folgende Mustervorgabe entdecken:
# Example static IP configuration:
#interface eth0
#static ip_address=192.168.0.10/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
#static routers=192.168.0.1
#static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1
Ändern Sie nun die Vorgabe gemäß Ihrer Netzwerkvorgaben ab. Achten Sie bei der Vergabe der statischen Adresse darauf, dass diese nicht aus dem Adressbereich kommt, in welchem der DHCP-Server Adressen vergibt. Um eine Zeile aktiv werden zu lassen, entfernen Sie die Raute vor der Zeile. Die Änderung könnte wir folgt aussehen:
# static ETH0 IP configuration:
interface eth0
static ip_address=192.168.0.100/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=192.168.0.254
static domain_name_servers=192.168.0.254 8.8.8.8
Speichern und beenden Sie den Editor nano mit den Tastenkombinationen 1. CTRL-O, 2. Enter, 3, CTRL-X
2. Aktivieren der neuen Netzwerkeinstellungen
Bis hierhin wurde nur die Konfigurationsdatei geändert. Damit die neuen Einstellungen aktiv werden muss entweder der Netzwerkdienst neu gestart werden oder der Raspberry wird komplett rebootet. Sofern Sie die Änderungen via SSH-Client auf dem Raspberry vorgenommen haben, dann empfiehlt sich ein Neustart:
> sudo reboot
Haben Sie direkt am dem System gearbeitet (z.B. durch eine an den Raspberry angeschlossene Tastatur), dann können Sie einfach den Netzwerkdienst neu starten:
> sudo service networking restart
Überzeugen Sie sich via des Befehls ifconfig oder service dhcpcd status davon, ob die gewünschten Änderungen durchgeführt wurden. Exemplarisch könnte die Ausgabe wie folgt aussehen:
● dhcpcd.service - dhcpcd on all interfaces
Loaded: loaded (/lib/systemd/system/dhcpcd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-08-26 16:22:18 CEST; 28min ago
Process: 322 ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -b (code=exited, status=0/SUCCESS)
Main PID: 354 (dhcpcd)
CGroup: /system.slice/dhcpcd.service
├─354 /sbin/dhcpcd -q -b
└─438 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
wlan0: probing address 192.168.0.10/24
wlan0: soliciting an IPv6 router
eth0: using static address 192.168.0.100/24
eth0: adding route to 192.168.0.0/24
eth0: adding default route via 192.168.0.254
wlan0: leased 192.168.0.10 for 864000 seconds
wlan0: adding route to 192.168.0.0/24
wlan0: adding default route via 192.168.0.254
eth0: no IPv6 Routers available
wlan0: no IPv6 Routers available
Das Protokoll IPv6 habe ich auf dem Router deaktiviert, daher erhält der Raspberry keine Zuweisung.