Aus Raspberry Pi Geek 05/2016

Netzwerkkonfiguration unter Raspbian “Jessie” (Seite 2)

Aufräumarbeiten

Der erste Schritt zu einer einfachen und sauberen Netzwerkkonfiguration besteht darin, alle Dienste zu entfernen, die hier Probleme bereiten. Ein Beispiel dazu zeigt Listing 4: Das erste Kommando deinstalliert die Pakete dhcpcd5 und openresolv – Letzteres empfiehlt Debian nur für komplexe Setups, auf einfachen Raspbian-Systemen sorgt es nur für unnötige Komplexität.

Der Aufruf in Zeile 3 deaktiviert als Nächstes den alten Kompatibilitätsdienst networking.service, der nichts anderes macht, als das von “Wheezy” bekannte Skript /etc/init.d/networking zu starten. Danach funktionieren alte Netzwerkkonfigurationen in /etc/network/interfaces definitiv nicht mehr.

Als Ersatz aktivieren Sie die neuen, Systemd-eigenen Services für die Netzwerkkonfiguration – das erledigen die Zeilen 4 und 5. Die letzten beiden Befehle sorgen abschließend dafür, dass die Konfiguration der Namensauflösung (Resolver) auf die dynamisch zur Laufzeit erstellte Konfiguration verweist.

Listing 4

 

$ sudo apt-get -y remove dhcpcd5 openresolv
$ sudo systemctl disable networking.service
$ sudo systemctl enable systemd-networking.service
$ sudo systemctl enable systemd-resolved.service
$ sudo rm -f /etc/resolv.conf
$ sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Netzwerke

Die neuen Konfigurationsdateien für die Schnittstellen liegen im Verzeichnis /etc/systemd/network und enden alle auf .network. Beim Start arbeitet der Dienst alle Dateien in lexikografischer Reihenfolge ab und nutzt die erste passende Konfiguration. Dazu gibt es in jeder Datei den Abschnitt [Match] (siehe Listing 5 und Listing 6). Neben dem Namen existieren weitere Attribute für den Match, wobei Systemd auch generische Ausdrücke mit Wildcards (etwa eth*) gestattet.

Die eigentliche Konfiguration der Schnittstelle steht in Listing 5 unter [Network]. Informationen über die einzelnen Konfigurationsparameter zeigt der Aufruf man systemd.network. Die Variante in Listing 6 zeigt eine alternative Konfiguration für wlan0. Hier erhält das Netzwerk seine IP-Adresse per DHCP.

Listing 5

 

[Match]
Name=eth0
[Network]
Description=pi3 eth0 static
Address=10.173.112.195/25
Gateway=10.173.112.250
DNS=10.173.112.236

Listing 6

 

[Match]
Name=wlan0
[Network]
Description=pi3 wlan0 DHCP
DHCP=yes

WLAN-Konfiguration

Den Zugang zum WLAN regelt nach wie vor das Programm wpa_supplicant (“supplicant” bedeutet im Englischen Bittsteller). Damit das Programm schon läuft, wenn das Netzwerk startet, erstellen Sie zuerst die Konfigurationsdatei /etc/wpa_supplicant/wpa_supplicant-wlan0.conf (Listing 7).

Listing 7

 

ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=1
fast_reauth=1
network={
 ssid="mein-wlan"
 psk="MeinGeheimesPasswort"
 priority=1
}
network={
 ssid="dein-wlan"
 psk="DeinGeheimesPasswort"
 priority=2
}

Darin hinterlegen Sie beliebig viele Netzwerke; das Programm wählt automatisch aus den verfügbaren das Netz mit der höchsten Priorität aus. Als Nächstes brauchen Sie einen Dienst, der wpa_supplicant für die Schnittstelle wlan0 startet. Dazu erstellen Sie die Service-Definition in /etc/systemd/system/[email protected] (Listing 8). Dabei handelt es sich um einen generischen Dienst, dessen Enable- und Startkommando Listing 9 zeigt.

Nach diesen Vorarbeiten sollte auch die WLAN-Schnittstelle nach dem Booten bereitstehen. Im Gegensatz zum alten, skriptbasierten Service kommt es dabei nicht zu Wartezeiten während des Bootens.

Listing 8

 

[Unit]
Description=WPA supplicant daemon (interface-specific version)
Before=network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -i%I
[Install]
Alias=multi-user.target.wants/wpa_supplicant@%i.service
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben