Inhaltsverzeichnis

Raspberry Pi einrichten und bedienen lernen

Alle Schritte enthalten Links in Form von Video Guides und Bildern, die erklären, wie man diesen Schritt umsetzt. Während dieser Aufgabe brauchen Sie ein Raspberry Pi, eine Mikro-SD-Karte, einen Windows PC sowie einen Bildschirm mit HDMI-Anschluss, ein MiniHDMI-HDMI-Kabel, ein USB C-Ladegerät, zwei Tastaturen, zwei Mäuse und einen normalen Bildschirm. All diese Utensilien sollten an Ihrem Arbeitsplatz aufliegen oder Ihnen von einem verantwortlichen AUsbildner ausgehändigt werden. Informationen zu dem Gerät Raspberry Pi und dem dazugehörigen OS finden Sie unter:

https://www.raspberrypi.com/documentation/ respektive https://www.raspberrypi.com/software/

falls sd karte schon das RaspiOS besitzt → neu aufsetzen

falls leer → neu aufsetzen

Schritt 1: Raspberry Pi boot bereit machen

Um den Raspberry Pi einzurichten, brauchen Sie eine SD-Karte sowie einen SD-Card-Reader für das Aufspielen des Images. Im folgenden Video wird gezeigt, wie Sie die ISO-Datei (Raspberry Pi OS (64 Bit)) mit Hilfe des Raspberry Pi Imagers auf die SD-Karte spielen:

Stecken Sie nun die SD-Karte in den am Raspberry Pi angebrachten SD-Karten-Slot.

Schritt 2: Raspberry Pi booten und erste Einrichtung

Nachdem Sie den Raspberry Pi nun mit einer bootfähigen SD-Karte ausgestattet haben, verbinden Sie Maus und Tastatur mit dem Gerät, wofür jeweils ein unbenutzer USB A-Port verwendet wird.

Verbinden Sie als Nächstes das Ethernet-Kabel mit dem RaspberryPi und dem auf dem Tisch liegenden Switch.

Verbinden Sie als Nächstes, mithilfe des MiniHDMI-HDMI-Kabels, den Raspberry Pi und den Bildschirm. Dabei achten Sie darauf, dass der Bildschirm an den Storm angeschlossen und eingeschaltet ist. Haben Sie nun alle Hardware mit dem Haupt-Modul verbunden, können Sie das, an den Strom angeschlossene, USB C-Ladegerät in den Raspberry Pi einstecken und allfällig den Kippschalter am Kabel umlegen. Nun sollten Sie auf dem Bildschrim zusehen können, wie der Raspberry Pi startet. Sollte dies nicht der Fall sein, überprüfen Sie den HDMI-Stecker. Sollte das Problem dadurch nicht behoben sein, überprüfen Sie den Stromstecker auf der Steckdosenseite und auf der Raspberry Pi-Seite. Diese Vorgehensweisen sollten die gängisten Fehlerquellen beheben. Sollte das Problem persistieren, entfernen Sie die Stromversorgiung des Raspberry Pi und entnehmen Sie die SD-Karte. Wiederholen Sie nun den oben in Schritt 1 beschrieben Vorgang um einen neues Image auf die SD-KArte zu schreiben. Danach wiederholen Sie Schritt 2. Sollte das Problem noch immer nicht behoben sein, wenden Sie sich and den für Sie zuständigen Ausbildner.

Nun da der Raspberry Pi startet, müssen Sie für einen Augenblick warten, danach sollte ein Fenster aufgehen. Hier wählen Sie Ihre „Country“ (Switzerland), Ihre „Language“ (Swiss High German) und Ihre „Timezone“ (Zurich9 und bestätigen Ihre Eingabe. Anschliessend geben Sie Ihren „username“ (sysadmin) und Ihr „password“ (Password1) ein und bestätigen Ihre Eingabe. Unter „Set Up Screen“ wählen aktivieren Sie „Reduce the Size of the desktop on this monitor“ und bestätigen die Eingabe. Überspringen sie die Einrichtung des WiFI-Netzwerks und bestätigen Sie auf dem nächsten Bildschirm, dass Sie die Software updaten möchten. Danach starten Sie, durch anwählen von „Restart“ den Raspberry Pi neu.

Schritt 3: Updates und Kontrollzentrale

Jetzt da sie den Raspberry Pi aufgesetzt haben, können Sie noch einmal ein Update ihrer Programme machen. Sie öffnen die Konsole und dort tippen Sie ein:

                     sudo apt-get update

Mit diesem Befehl prüfen Sie, ob Ihre Daten-Pakete ein Update benötigen.

Wenn dies mit ja beantwortet wird, können Sie mit dem Befehl

                     sudo apt-get upgrade

die entsprechenden Pakete installieren.

Fixe IP-Adresse vergeben

Wir geben unserem Pi eine fixe IP-Adresse. Dazu rufen wir die Netzwerkeinstellungen durch Linksklick auf die gegenläufigen Pfeile am oberen rechten Rand des Bildschirms auf und wählen Advanced Options/Edit Connections. Im folgenden Fenster doppelklicken Sie die Wired connection 1. Anschliessend wechseln Sie auf die Registerkarte IPv4 Settings, wählen als Methode Manuell und geben folgende Informationen ein:

IPv4 Adress: 172.16.51.2
Netmask: 255.255.255.0
Gateway: 172.16.51.1
DNS Server: 8.8.4.4, 172.16.51.2, 8.8.8.8

Anschliessend bestätigen wir und starten das Gerät neu.

Remote Desktop

Dies ist sehr wichtig, den Raspis werden häufig ohne Maus und Tastatur installiert und nur mittels SSH oder Remote Desktop gewartet bzw. konfiguriert.
Nehmen wir zum Beispiel eine Überwachungskamera, welche an der Front eines Gebäudes montiert ist. Es wäre ziemlich auffällig, wenn auch ein Bildschirm, eine Maus und eine Tastatur dort montiert wären.

Mit grafischer Oberfläche

Rdesktop-Server auf dem RasbpberryPi installieren

Schritt 1
Mittels des Paketmanagers APT installieren wir xrdp. Dies ist eine freie Implementierung des Remote Desktop Protocols für Linux.

sudo apt-get install xrdp


Remote-Desktop-User anlegen

Auf dem Raspberry Pi:
Erstelle neuen rdp user :

sudo useradd -m -s /bin/bash -g users -G sudo crt


sudo passwd crt


(set password)

Remote-Desktop-Client auf Windows PC benutzen

Nutzen Sie das Programm Remotedesktop von Windows, um sich auf den RaspberryPi zu verbinden:


Oder man kann auch ssh benutzen:

ssh 172.16.51.2 -l crt

Installation DHCP-Server

Zur Installation des DHCP-Servers ist ab Natty das folgende Paket auszuwählen:

sudo apt-get install isc-dhcp-server



Nachdem das Paket installiert worden ist, müssen wir noch einige Dateien anpassen und natürlich auch unseren DHCP Server planen.
In diesem Beispiel wird der nano Editor benutzt. Falls dieser noch nicht installiert ist können wir dies mit dem Befehl

sudo apt-get install nano

nachholen.
Die Funktionen des Nano-Editors, welche für dieses Anleitung von Nöten sind, sind wie folgt: -„CTRL“ + „O“, gefolgt von „Enter“ für das Speichern der durchgeführten Änderungen in einer Datei -„CTRL“ + „X“ für das Verlassen des Editors Alternativ findet sich unter folgendem Link ein Cheatsheet „https://www.nano-editor.org/dist/latest/cheatsheet.html Konfiguration
Beispielkonfiguration
• Der Rogue DHCP Server soll aktiviert erlaubt keine anderen DHCP Server im Netzwerk
• Der Server bedient das Netzwerk 172.16.51.0
• Die Clients bekommen IP-Adressen zwischen 172.16.51.21 und 172.16.51.99 zugewiesen
• Der Übergang (Gateway bzw. Router) in ein anderes Netzwerk hat die IP-Adresse 172.16.51.1
• Der Nameserver hat die IP-Adresse 172.16.51.2 (wird erst bei der DNS Konfiguration eingebunden) und 8.8.8.8
• Der Server erhält die fixe IP 172.16.51.2
• Die Netzmaske ist 255.255.255.0
• Broadcast ist 172.16.51.255
• Die Domain heißt „raspi.home“
• Die Lease Time wird auf 10 Minuten eingestellt
• Die Maximale Lease Time auf 2 Stunden
• Das Interface Eth0 wird als Standard definiert
• Einem bestimmten Client wird anhand seiner Hardware-(MAC-)Adresse immer dieselbe IP-Adresse zugewiesen.

Einrichten des DHCP Servers

Wir öffen die Datei /etc/default/isc-dhcp-server

sudo nano /etc/default/isc-dhcp-server



Und ändern den Eintrag wie folgt:

# Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPDv4_PID=/var/run/dhcpd.pid
#DHCPDv6_PID=/var/run/dhcpd6.pid

# Additional options to start dhcpd with.
#       Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="eth0"
INTERFACESv6=""



Wir kopieren die Datei dhcpd.conf.

sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd2.conf



Wir öffnen die Datei dhcpd.conf im Verzeichnis /etc/dhcp

sudo nano /etc/dhcp/dhcpd.conf



Wir löschen den gesamten Inhalt der Datei und fügen anschliessend folgende Zeilen ein:

subnet 172.16.51.0 netmask 255.255.255.0 {
range 172.16.51.21 172.16.51.99;
interface eth0;
option domain-name-servers 172.16.51.2, 8.8.8.8;
option domain-name "rafisa.home";
option routers 172.16.51.1;
option broadcast-address 172.16.51.255;
default-lease-time 600;
max-lease-time 7200;}


Ist die Konfiguration abgeschlossen können wir den Server mit folgenden Befehlen starten und stoppen, bzw. den Status abfragen.

sudo /etc/init.d/isc-dhcp-server start



sudo /etc/init.d/isc-dhcp-server stop



sudo /etc/init.d/isc-dhcp-server status


Installation DNS-Server

Installation

Zuerst muss BIND (aktuell in er Version 9) über das APT Paketmanagement-System durch folgenden Terminal-Befehl installiert werden.

sudo apt-get install bind9 bind9utils dnsutils



Ist die Installation erfolgt können wir den DNS Server bereits testen. Mit dem Befehl

dig @127.0.0.1 www.google.de



sollte ein ähnlicher Output wie der untenstehende erscheinen.

; «» DiG 9.16.22-Debian «» @127.0.0.1 www.google.de
; (1 server found)
;; global options: +cmd
;; Got answer:
;; →>HEADER«- opcode: QUERY, status: SERVFAIL, id: 59482
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: e31452e9a2ec22550100000062161feaf2121d8249561dd2 (good)
;; QUESTION SECTION:
;www.google.de. IN A

;; Query time: 404 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Feb 23 11:52:10 GMT 2022
;; MSG SIZE rcvd: 70

Beispiel-Konfiguration

Kommen wir nur zur eigentlichen Einrichtung von eigenen Zonen und der Konfiguration von BIND welches sich in der Datei /etc/bind/named.conf.local befindet.

Für ein einfaches Beispiel gehen wir von folgender lokalen Netzwerk-Topologie aus.

• Raspberry: 172.16.51.2
• Netzwerk: 172.16.51.0/24
• Subnetzmaske: 255.255.255.0
• Broadcast-Adresse: 172.16.51.255
• Gateways/Router: 172.16.51.1
• Interner Server: 172.16.51.5
• Raspberry (DNS-Server): 172.16.51.2 8.8.8.8
• Hostname: raspi
DNS-Zone: raspi.home
Forward- und Reverse-Lookup Zonen anlegen
Domains die wir im DNS-Server konfigurieren wollen, werden eigene Zonen angelegt.
Für jede Domain sollte es normalerweise zwei Zonen-Dateien geben. Jeweils eine Zonen-Datei für den Forward- und den Reverse-Lookup.

Zuerst muss in der Datei „/etc/bind/named.conf.local“ die Konfiguration für diese beiden Dateien unserer Beispiel-Zone „raspi.home“ eingetragen werden.
Um die Datei zu bearbeiten, muss diese in einem Editor (z. B. „nano“) geöffnet werden.

Natürlich machen wir zuerst ein Backup der Datei.

sudo cp /etc/bind/named.conf.local /etc/bind/named2.conf.local



Anschliessend öffnen wir die Datei und tragen unsere Konfiguration ein.

sudo nano /etc/bind/named.conf.local



Wir tragen folgende Konfiguration ein

// ----------------------- Zones -----------------------
// Forward-Lookup
zone "raspi.home" {
type master;
file "/etc/bind/zones/raspi.home";
};
// Reverse-Lookup
zone "51.16.172.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.51.16.172.inv";
};
// ----------------------- Zones -----------------------


Hier werden zuerst nur die Zonen für BIND bekannt gemacht. Die eigentliche Konfiguration der logischen Struktur, wird dann in den jeweils unter „file“ angegeben Dateien eingetragen.

Zur besseren Übersicht werden wir einen eigenen Ordner „zones“ erstellen und die Dateien darin speichern.

sudo mkdir /etc/bind/zones



Die Datei „raspi.home.zone“ muss nicht erstellt werden und kann direkt mit folgendem Befehl geöffnet werden.

sudo nano /etc/bind/zones/raspi.home



Folgender Inhalt muss in die Datei eingetragen und gespeichert werden.

;; BIND forward data file for zone raspi.home
;;

$TTL          86400   ; time-to-live - 24 hours could have been written as 24h or 1d

@             IN      SOA         ns1.raspi.home. mail.raspi.home. (
                                             2015061201       ; Serial - (NOTE: Needs to increment every time you restart BIND)
                                                 604800       ; Refresh
                                                  86400       ; Retry
                                                2419200       ; Expire
                                                 604800 )     ; Default TTL

              IN            NS           ns1.raspi.home.      ; nameserver
              IN            A            172.16.51.2         ; loop-back address

ns1           IN            A            172.16.51.2
raspi.home.   IN            A            172.16.51.2
server        IN            TXT          "Interner Server"

www           IN            CNAME        raspi.home.



Reverse-Lookup
Für den Reverse-Lookup wird noch eine weitere Zonen-Datei „db.20.168.192.inv“ angelegt.

sudo nano /etc/bind/zones/db.51.16.172.inv



Und füllen folgende Daten ein

;; BIND reverse data file for zone db. 51.16.172.inv
;;

$TTL           86400         ; time-to-live - 24 hours could have been written as 24h or 1d

@              IN            SOA      ns1.raspi.home. mail.raspi.home. (
                                           2015061101          ; Serial  - (NOTE: Needs to increment every time you restart BIND)
                                               604800          ; Refresh
                                                86400          ; Retry
                                              2419200          ; Expire
                                               604800 )        ; Default TTL

               IN            NS       ns1.raspi.home.          ; nameserver

2              IN            PTR      ns1.raspi.home.          ; #1 172.16.51.2
10             IN            PTR      server.raspi.home.       ; #2 172.16.51.2


Server starten

sudo service bind9 restart



oder

sudo service bind9 stop


sudo service bind9 start



Den Status des Servers können wir nun mit dem Befehl anschauen. Wenn alles gut ist dürfen keine roten Linien erscheinen.

sudo service bind9 status



Sollte etwas schiefgelaufen sein, empfiehlt es sich, die Meldungen in der Log-Datei „/var/log/syslog“ anzusehen.
DNS-Server durch DNS-Anfragen testen

Im CMD Prompt folgenden Befehl eingeben:

nslookup


Standardserver: ns1.raspi.home
Address: 172.16.51.2

Nun wird der erste DNS Server im System angezeigt. Anschliessend die IP Adresse im Prompt eingeben und mit Enter bestätigen:


Der Name muss richtig aufgelöst werden.

Installation Printserver

Installation

Um den Printserver CUPS zu installieren, geben wir in der Konsole folgenden Befehl ein, falls wir die Auswahl nicht zu Beginn bereits gemacht haben:

sudo apt-get install cups cups-client cups-bsd



Zusätzlich benötigen wir nun den root Account, damit wir anschliessend über das Webgui auf Cups zugreifen können.
Im Terminal geben wir folgenden Befehl ein:
Benutzer root
PWD Password1
Cups benötigt einige zusätzliche Pakete wie z.B. Treiber für die Drucker und noch anderes, wieso die Installation einen Moment dauern wird.
Ist Cups installiert funktioniert der Zugriff auf das Webinterface nur auf dem lokalen Host. Diese Konfiguration müssen wir in der Datei cupsd.conf editieren.
Zuerst kopieren wir das File zu Sicherheit.

sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd2.conf


Danach editieren wir das File.

sudo nano /etc/cups/cupsd.conf


Folgende Parameter werden ganz unten im File eingetragen eingetragen:

# Only listen for connections from the local machine.\\
Listen Port 631\\
Listen 172.16.51.2:631\\
Listen /var/run/cups/cups.sock\\

Danach führen wir noch die folgenden zwei Befehle aus, damit wir einen Drucker konfigurieren können.

sudo cupsctl --remote-any


sudo /etc/init.d/cups restart


Ist die Installation erfolgt, können wir sofort unseren Webbrowser öffnen und folgende Adresse eingeben:
für den lokalen PC:

http://localhost:631/admin


oder für einen anderen PC:

http://172.16.51.2:631/admin


Folgende Oberfläche erscheint.

Damit wir einen Drucker installieren können benötigen wir folgende Angaben:
IP Adresse (172.16.51.150 in unserem Fall und die genaue Bezeichnung des Gerätes bei uns ein Brother-HL-5270DN. Unter Linux wie auch unter Windows benötigt das Betriebssystem eine Treiberdatei, damit der Drucker angesprochen werden kann.
Die meisten Treiber finden wir auf der Seite https://www.openprinting.org/drivers oder direkt beim Hersteller. Die Treiber heissen unter Linux ppd.
Unter diesem Link finden wir den Treiber für unseren Drucker.
https://www.openprinting.org/printer/Brother/Brother-HL-5270DN .
Speichern sie die ppd Datei auf ihrem Raspi.

Wechseln sie nun zum Raster Verwaltung auf der CUPS Startseite und wählen sie den Button Drucker hinzufügen.

Folgendes Bild erscheint.

Hier wählen wir das LPD/LPR-Host oder -Drucker Protokoll aus und bestätigen mit weiter.
Nun geben wir die IP Adresse unseres Druckers an mit dem Prefix socket:172.16.51.150 und bestätigen mit weiter.

Folgendes Bild erscheint und wir können nun die Angaben wie Standort, Gerät etc. erfassen. Da es sich um einen Server handelt geben wir den Drucker im Netzwerk frei und aktivieren auch das Farbmanagement.
Bestätigen mit weiter.

Folgendes Menü erscheint.

Wenn es sich um einen älteren Drucker handelt, kann dieser bereits auf dem System installiert sein und wir finden ihn im Menü. Unser Drucker ist leider noch nicht installiert, weshalb wir den Button „Datei wählen“ anklicken und unsere PPD Datei angeben.

Anschliessend wählen wir den Button „Drucker hinzufügen“.
Danach erscheint ein Fenster in welchem wir alle Druckeroptionen einstellen können.

Die meisten Einstellungen lassen wir so wie sie sind. Nur unter dem Raster „General“ stellen wir den folgenden Punkt ein und bestätigen mit dem Button „Standardeinstellungen festlegen“.

Wir wechseln nun auf den Raster „Drucker“ wo wir unseren neuen Drucker finden.
\\ Wenn wir das Auswahlfeld „Wartung“ anklicken können wir im Menü den Punkt „Testseite drucken“ wählen und unsere erste Seite wird gedruckt.