Aus Raspberry Pi Geek 10/2018

Raspberry autark betreiben (Seite 2)

Listing 5

 

# /etc/dnsmasq.conf
interface=wlan0
domain-needed
bogus-priv
dhcp-range=192.168.12.8,192.168.12.250,12h

Nach dem Neustart des Servers, den Sie am einfachsten durch einen Reboot des RasPi erreichen, funkt der neue Hotspot mynet. Ein Laptop findet ihn, sobald er seine Liste erkannter WLANs aktualisiert. Ein Ping auf die Adresse raspberrypi.local gibt Aufschluss über die Erreichbarkeit und liefert die IP-Adresse des RasPi. Mit einem der Befehle aus Listing 6 stellen Sie anschließend die Verbindung zum Mini-Rechner her.

Listing 6

 

$ ssh [email protected]
$ vncviewer 192.168.12.1 -UserName pi

Ethernet-Kabel

Wie schon beim WLAN erweist sich auch bei der Verbindungsaufnahme via Ethernet die IP-Adresse als größte Hürde. Im Prinzip könnten Sie, ähnlich wie im Beispiel oben, für die Ethernet-Schnittstelle eine statische IP-Adresse festlegen. Es geht aber einfacher: Über den Dienst Avahi, eine Implementation des Zeroconf-Protokolls, gibt sich ein System eine eigene IP-Adresse, wenn es keinen DHCP-Server findet.

Es wählt dazu eine sogenannte Link-local-Adresse aus dem Bereich 169.254.0.0/16, konkret zwischen 169.254.1.1 und 169.254.254.254 – die ersten und letzten 255 Adressen bleiben reserviert. Gemäß RFC 3927 generiert Zeroconf die Adresse über einen Zufallsgenerator, den das System als Ausgangspunkt mit der eigenen MAC-Adresse füttert. Das hat zwei Vorteile: Es sorgt erstens für eindeutige Adressen, denn jede MAC-Adresse ist (theoretisch) weltweit eindeutig. Zweitens erhält man beim Speisen eines Zufallszahlengenerators mit demselben Seed stets dasselbe Ergebnis. So nutzte der im Test verwendete Raspberry Pi beispielsweise immer die Link-local-Adresse 169.254.124.83.

Um eine Verbindung herstellen zu können, müssen Sie auf dem Laptop noch die passende IP-Adresse einrichten. Listing 7 zeigt für unser Beispiel – das Subnetz 169.254.124.0/16 – die Vorgehensweise unter Linux.

Listing 7

 

$ ip a
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 84:8f:b9:f1:bd:79 brd ff:ff:ff:ff:ff:ff
[...]
$ sudo ip link set dev eno1 down 
$ sudo ip a add 169.254.124.94/24 dev eno1 
$ sudo ip link set dev eno1 up
$ ip a
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 84:8f:b9:f1:bd:79 brd ff:ff:ff:ff:ff:ff
    inet 169.254.124.94/24 scope global eno1

USB-Kabel

Der RasPi verfügt über einen OTG-fähigen USB-Anschluss, der es erlaubt, darüber eine Ethernet-Verbindung aufzubauen. Allerdings müssen Sie zu diesem Zweck einen Treiber mit dem richtigen Protokoll aktivieren.

Dazu fügen Sie als Erstes der Datei /boot/config.txt die Zeile dtoverlay=dwc2 hinzu. Dann ergänzen Sie die Datei /boot/cmdline.txt um den Eintrag modules-load=dwc2,g_ether. Hier gilt es zu beachten, dass diese Datei keine Zeilenumbrüche verträgt und deswegen nur aus einer langen Zeile besteht. Jeder Steuerbefehl setzt ein Leerzeichen ab, deshalb dürfen keine weiteren Spaces im einzufügenden Ausdruck stehen.

Nach einem Neustart besitzt der RasPi ein neues Netzwerkinterface namens usb0. Im Prinzip könnten Sie nun eine IPv4-Adresse nach dem oben beschriebenen Verfahren einrichten. Hier beschreiten wir jedoch einen anderen Weg: Das für IPv6 definierte Verfahren Stateless Address Autoconfiguration (SLAAC) vergibt, ähnlich wie Zeroconf, eine IP-Adresse, wenn das Gerät keine via DHCP erhält. Allerdings lautet die IP bei jedem Start anders.

Die Lösung liegt in der Vergabe einer statischen IPv6-Adresse. Dazu erweitern Sie die Datei dhcpcd.conf um die Zeilen aus Listing 8. Anders als IPv4 möchte IPv6 die Bezeichnung der Schnittstelle wissen. Der Befehl ip a nennt ihn in der ersten Zeile als erstes Wort, in unserem Beispiel lautet er enp0s29u1. Beim Verbindungsaufruf via SSH hängen Sie diese Bezeichnung mit einem "%" an die Adresse an (Listing 9).

Listing 8

 

profile static_usb0
static ip6_address=fe80::dc67:1eff:fea5:bbe4/64
#
interface usb0
fallback static_usb0

Listing 9

 

$ ssh -6 pi@fe80::dc67:1eff:fea5:bbe4%enp0s29u1

Fehlerkunde

Klappt wider Erwarten die Verbindungsaufnahme nicht, helfen einige Überprüfungen bei der Diagnose typischer Fehlerquellen.

Vergewissern Sie sich, dass Sie die installierten Dienstprogramme richtig konfiguriert haben. Beispielsweise gibt der Befehl sudo service hostapd status darüber Aufschluss, ob der Access-Point-Daemon läuft.

Erkennt der RasPi das USB-Ethernet nicht, liegt das möglicherweise daran, dass Sie statt eines USB-OTG- ein Micro-USB-Kabel verwenden, dem die benötigten Datenleitungen fehlen. Eine andere typische Fehlerquelle stellen Zeilenumbrüche in der Datei /boot/cmdline.txt dar.

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