Raspberry Pi 2 - Netzwerk

Thema: Raspberry Pi 2 - Netzwerk
Termin: 19. März 2016

Referent: Werner Büchli, HB9CZV

Inhalt

An diesem Workshop vertiefen wir unsere Kenntnisse in ...
... Netzwerk
siehe auch Workshop (2) unter der Rubrik Netzwerk
Seafile und weitere Anwendungen von aussen steuern
... Installation von Samba (NAS), Midnight Commander, Abiword ...
... Tipps und Tricks, Probleme

PDF Downloads:
SSH/VNC Arbeitsblatt [180 KB] Step-by-Step Anleitung für Linux
SSH/VNC Arbeitsblatt [592 KB] Step-by-Step Anleitung für Windows

Raspberri Pi Networking (Lessons)
https://www.raspberrypi.org/learning/networking-lessons/lessons/

Wichtige
Netzwerkbefehle
ping
traceroute
(traceroute www.prig.ch)
ifconfig
hostname (hostname, hostname -I)
lsusb (Auflisten der USB-Geräte)
route -n (Gateway / Router IP-Adresse auslesen)
Ctrl/c
(Loop stoppen/neue Eingabe)

Prinzipschema

Setup WiFi

siehe Workshop 1 unter Terminal

SSH - Secure Shell

Secure Shell oder SSH bezeichnet sowohl ein Netzwerkprotokoll als auch entsprechende Programme, mit deren Hilfe man auf eine sichere Art und Weise eine verschlüsselte Netzwerkverbindung mit einem entfernten Gerät herstellen kann. Häufig wird diese Methode verwendet, um lokal eine entfernte Kommandozeile verfügbar zu machen, das heißt, auf einer lokalen Konsole werden die Ausgaben der entfernten Konsole ausgegeben und die lokalen Tastatureingaben werden an den entfernten Rechner gesendet. Genutzt werden kann dies beispielsweise zur Fernwartung eines in einem entfernten Rechenzentrum stehenden Servers

SSH Remote-Verbindung zum Heimnetzwerk

Von ausserhalb des Heimnetzwerkes kann jeweils nur eine SSH-Verbindung mit Port 22 aufgebaut werden, da das Portforewarding nur an ein einziges Gerät funktioniert. Will man kein anderes Port verwenden so kann man sich wie folgt behelfen:

- Aufbau der SSH-Verbindung an den angeschlossenen Pi
- Eingabe: ssh 192.168.1.xxx (IP-Adresse des zweiten Pi's)
- Login mit dessen Passwort


Wechsel zwischen zwei Raspberry Pi


Fernbedienung des Raspberry Pi mittels Android App


Beispiel JuiceSSH

VNC - Virtual Network Computing

Virtual Network Computing, kurz VNC, ist eine Software, die den Bildschirminhalt eines entfernten Rechners (Server) auf einem lokalen Rechner (Client) anzeigt und im Gegenzug Tastatur- und Mausbewegungen des lokalen Rechners an den entfernten Rechner sendet. Damit kann man auf einem entfernten Rechner arbeiten, als säße man direkt davor.

Kurzanleitung zum Aufbau eines SSH-Tunnels mit VNC
(siehe auch Workshop 2 unter Netzwerk)
Voraussetzung ist, dass beim Server (Raspberry Pi als host) der tightvncserver und beim Client (z.B. Linux Mint oder Windows) der tightvncviewer installiert sind. Der tightvncserver muss manuell oder automatisch gestartet sein.
Im folgenden ist ein 2-stufiges Vorgehen für Linux und Windows angegeben:
1. SSH-Verbindung
2. VNC-Verbindung

Linux
- Terminal 1 öffnen für sichere SSH-Verbindung
- Eingabe: ssh pi@hb9czv.does-it.net -L 5901:localhost:5901 (oder lokale IP-Adresse, Beispiel)
- Einloggen mit Pi Passwort

- Terminal 2 öffnen zum Starten des VNC-Viewers
- Eingabe: xtightvncviewer 127.0.0.1:1
- Einloggen mit tightvncviewer Passwort

Windows
- Sichere SSH-Verbindung mit PuTTY herstellen
- Einloggen mit Pi Passwort

- Starten des TightvncViewer
- Einloggen mit tightvncviewer Passwort

FTP - File Transfer Protocol

Das File Transfer Protocol ist ein Netzwerkprotokoll zur Übertragung von Dateien über IP-Netzwerke. Es wird benutzt, um Dateien vom Server zum Client (Herunterladen) und vom Client zum Server (Hochladen) zu übertragen. Außerdem können mit FTP Verzeichnisse angelegt und ausgelesen sowie Verzeichnisse und Dateien umbenannt oder gelöscht werden.

Nützliche Anwendungen:
- Konfigurations-Aenderung (z,B. Motion)
- Upload von umfangreichen Websites
- Upload von grossen Files (Bild)

Anmerkung: Das Einloggen muss unter 0root' erfolgen.


Beispiel: Hochladen von Fotos zum USB-Stick des Raspnerry Pi (Server)

Interne IP-Adresse

Starten des Terminals (Linux) oder PuTTY(Windows/Linux)

Interne IP-Adresse
Eingabe:
pi@raspberrypi ~ $ ifconfig

Beispiel eth0 (LAN) inet... 192.168.1.30


Interne IP-Adresse
(etwas übersichtlicher)
Eingabe:
pi@raspberrypi ~ $ ifconfig | grep inet (| = AltGr und /)

ifconfig abgekürzt


Interne IP-Adresse
(noch einfacher)
Eingabe:
pi@raspberrypi ~ $ hostname -I (grosses i)

oder gezielt:
pi@raspberrypi ~ $ ifconfig eth0



IP-Adresse im Terminal (teilweise abgedeckt)


Externe IP-Adresse
(Public)


Eingabe:
pi@raspberrypi ~ $ wget http://ipinfo.io/ip -qO- (q/Oscar))
oder:
pi@raspberrypi ~ $ curl http://ipecho.net/plain

Sind wir über VNC mit dem Raspberry Pi (grafische Oberfläche) verbunden, öffnen wir einen Browser und geben ein:

whatismyip oder wieistmeineip (oder so ähnlich)

IP-Adresse mit Browser (teilweise abgedeckt)


Router Geräteliste
(Public)

NMAP
Installiere dieses Tool:
pi@raspberrypi ~ $ sudo apt-get install nmap

Zuerst müssen wir das Subnetz kennen. Eingabe:

pi@raspberrypi ~ $ hostname -I
192.168.1.30 (Beispiel)
Wir wechseln nun tum Benutzer 'root' und führen einen 'ping scan' aus
pi@raspberrypi /root $ su root
Password:
root@raspberrypi:~# nmap -sn 192.168.1.0/24

Beispiel scan:

Beispiel: Ping Scan

Diagnose

Suchen nach dem Router Gateway
Ein Gateway ist ein Netzwerk-Punkt, der als Eingang zu einem andern Netzwerk führt. In unserem Fall ist dies ein Router. Um dess4en IP-Adresse zu bestimmen, benutzen wir folgenden Befehl:

Command: $ route -n

Dieser Command liest die Gateway / Router IP-Adresse aus der Kernel Routing-Tabelle aus. Dies ist in diesem Beispiel 102.168.1.1.
U zeigt an, dass die Verbindung besteht (UP) und G zeigt ein Gateway an.

Wir senden nun eine Serie 'Pings' aus:

$ ping -c 4 192.168.1.254

und erhalten die IP-Adresse unseres Pi mit 192.168.1.39





Ermittlung der IP-Adresse


ping
(extern)
Eingabe z.B. ping google.ch
Stop mit: Break-Taste


IPTraf (IP Traffic für Raspberry Pi)
Installieren des Programms:
pi@raspberrypi ~ $ sudo apt-get install iptraf

Starten von IPTraf:
pi@raspberrypi ~ $ sudo iptraf

Beenden mit Esc/x


weitere ....

iperf (Performance-Test für Linux)

NetCat (universal)

MTR
(ein spezielles Traceroute Programm)

NetHogs (Monitor)

.....



Weitere Information


Mittwoch, 9. März 2016
Pi 2 mit LibreOffice

Remote (VNC) Erstellung von Dokumenten mit LibreOffice auf dem Raspy

Montag, 7. März 2016
Pi als Python-Entwicklungssystem

Fernsteuerung TX vom letzten Jahr

Freitag, 4. März 2016
Weitere Anwendungen

Fuer weitere Anwendungen wie z.B. Fernsteuerungen von TX (USB), Relais, Heizungen, etc. (GPIO) via Browser sollten wir nun alle Voraussetzungen haben:
Know-how von 2014/15 - Fernsteuerung mittels cgi/html
Pi 2 mit Entwicklungsumgebung fuer Python, Apache Server, ...
Dokumentation auf der PRIG Website (2015/2016)

Dienstag, 23. Februar 2016
Fernabfrage des Raspy - RasPiCheck

Fernabfrage mit Android App RasPiCheck

Dienstag, 23. Februar 2016
Seafile Cloud Server

Zugriff nur mit Passwort

Dienstag, 23. Februar 2016
Motion Webcam Server

Zugriff auf meine Webcam in Spiez ohne Passwort

Montag, 22. Februar 2016
Webserver von HB9CZV im Multitasking

Zugriff auf meinen Webserver in Spiez ohne Passwort

Konfiguration am Ende der Workshops-Serie 1 - 3
Hardware: Raspberry Pi 2 mit Kamera und 2 USB-Sticks
Software:
Raspbian Wheezy (Operating System)
Apache Webserver (Klick auf Titel)
Motion Webcam Server
Bildbearbeitung GIMP
Textverarbeitung Abiword
Seafile Private Cloud
Samba NAS
Midnight Commander
Tightvncserver Server
FTP
...
Damit kann der Raspberry Pi parallel zu seinen Serverfuntionen (Apache, Webcam, Seafile Cloud) auch viele Desktop-Arbeiten erledigen. Einzig Video geht etwas langsam. Dort kann der Pi 3 helfen (aber mehr Stromverbrauch)


Anmelden