Donnerstag, 2. August 2012

Raspberry PI in Verbindung mit einem Linux-PC (NAT, ssh, X11, ftp)


Der Raspberry PI

Ein geniales Gerät, das man mit einem Raspberry PI (nach einiger Wartezeit) um 42 EUR (inkl. Versand) bekommt. Rechnet man Zubehör (SD-Karte, Keyboard, Maus, Netzgerät, WLAN-Dongle, Kabel) dazu, verdreifacht sich der Preis locker. Deshalb sollte man (im Sinne der "RASPI-Niedrigpreis-Philosophie") zusätzliche Kosten vermeiden und "bestehende" Hardware verwenden - eine SD-Karte, Keyboard und Maus liegen schnell irgendwo herum.


Internetverbindung (über eth0) mit einem anderen Linux-PC

Der RASPI hat kein WLAN. Falls man sich den USB-WIFI-Dongle sparen will, kann man den RASPI mit einem Ethernet-Kabel über einen Linux-PC mit dem Internet verbinden.

   Internet]-----[wlan0-PC-eth0]-----[eth0-PI

Ist beispielsweise der PC über das wlan0-Interface mit dem Internet verbunden (dhcp), so kann man an dessen eth0-Schnittstelle den RASPI (mit einem Ethernet-Kabel) anschließen und über den PC als Gateway das Internet nutzen.

PC-Commands:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
ifconfig eth0 up
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -i eth0 -j ACCEPT


Damit gibt man dem PC die Netzwerksadresse 192.168.0.1 und funktioniert ihn (mit iptables) zum Gateway um.

RASPI-Commands:
ifconfig eth0 192.168.0.2 netmask 255.255.255.0
ifconfig eth0 up
route add default gw 192.168.0.1 eth0

Ähnlicherweise bekommt der RASPI die Adresse 192.168.0.2 und erhält eine route zum PC-Gateway.

Mit den Befehlen ifconfig und route kann man sich die Einstellungen noch ansehen, ein gegenseitiges anpingen (ping 192.168.0.1 am RASPI) und auch ein Ping zu Google (ping google.com am RASPI) sollte nun möglich sein.
Damit steht dem Surfen oder einer Softwareinstallation am RASPI nichts mehr im Weg.


Von einem Linux-PC zum RASPI mit ssh verbinden

Am RASPI ist (bei Verwendung des raspian-Betriebssystemes) ein Shellserver (openssh-server, sshd) installiert. Befindet sich am Linux-PC ein Shellclient (openssh-client), kann man (vorausgesetzt, es besteht eine Netzwerksverbindung - siehe oben) den RASPI vom PC aus nutzen. Damit spart man sich Keyboard, Maus und Monitor für den RASPI!

RASPI-Commands:
/usr/bin/sshd
Zudem sollte noch in der /etc/ssh/sshd_config der Punkt X11Forwarding yes gesetzt sein.

PC-Commands:
Installiere den ssh-client mit apt-get install openssh-client
Zudem sollten noch in der /etc/ssh/ssh_config die Punkte ForwardX11 yes und ForwardX11Trusted yes gesetzt sein.

Um letztendlich am PC zum RASPI zu verbinden gibt man in einer X-Shell ssh -X pi@192.168.0.2 ein. Nach einem Confirm- und Password-Vorgang kann man jede PI-Applikation starten (z.B. dillo).

File-Transfer zwischen Linux-PC und RASPI

Was noch fehlt ist das Kopieren von Dateien zwischen RASPI und Linux-PC, das mit ftp (oder einem "sichereren" Pendant) möglich ist.

RASPI-Command:
apt-get install ftp

PC-Commands:
Ich verwende dazu den komfortablen Midnight-Commander (mc). Mit F9-L-P kann man den FTP-Verbindungsbefehl eingeben (pi:pwd@192.168.0.2).

Keine Kommentare: