Startseite>Raspberry Pi als Synchronisierungszentrale einsetzen
Aus Raspberry Pi Geek 01/2016

Raspberry Pi als Synchronisierungszentrale einsetzen

© Boyan Dimitrov, 123RF

Umschlaghafen

Ferdinand Thommes

Ähnlich wie etwa Dropbox erlaubt die freie Software Syncthing, Dateien zwischen verschiedensten Geräten zu synchronisieren. Dabei bietet sie sogar erheblich mehr Flexibilität als der beliebte Online-Dienst.

Um Daten zwischen verschiedenen Geräten zu synchronisieren, steht eine Vielzahl von Werkzeugen und Diensten zur Auswahl. Wer seine Daten der Cloud anvertrauen möchte, greift auf Dienste wie Google Drive, Dropbox oder Copy.com zurück. Eine Alternative dazu bietet Bittorrent Sync [1], das dezentral auf dem Peer-to-Peer-System des Bittorrent-Protokolls basiert. Allerdings ist die Software nicht Open Source, sondern lediglich Freeware – man weiß also im Endeffekt nicht, was das Programm macht. In Zeiten berechtigterweise schwindenden Vertrauens in jegliche geschlossene Software bietet sich als sicherere Möglichkeit das in allen Belangen freie Syncthing [2] an. Es unterliegt der Mozilla Public Licence.

Die eigentliche Synchronisation wickelt das ebenfalls freie Block Exchange Protocol [3] ab. Der Datenaustausch zwischen den einzelnen Knoten erfolgt standardmäßig TLS-verschlüsselt samt Perfect Forward Secrecy (PFS). Die Knoten untereinander identifizieren sich mit kryptografischen Zertifikaten, die Syncthing beim Einrichten auf der jeweiligen Plattform erzeugt. Für den Datenabgleich im lokalen Netz lässt sich zugunsten eines schnelleren Datendurchsatzes die Verschlüsselung abschalten; in der Grundeinstellung beschränkt sie sich dann auf die Metadaten. Jedenfalls bietet das in der Programmiersprache Go geschriebene Syncthing alle Voraussetzungen dafür, dass Ihre Daten geschützt bleiben.

Vorbereitungen

Die noch recht junge Software läuft unter Linux, Mac OS X, Windows, Solaris, verschiedenen BSD-Varianten und auch auf dem Raspberry Pi. Für Android steht bereits eine passende Sync-App zur Verfügung, an einer für iOS arbeiten die Entwickler gerade. Da dem Synchronisationsdienst möglichst viele Ressourcen zur Verfügung stehen sollen, kommt im Test der RasPi 2 samt Raspbian zum Einsatz. Das Anlegen des Repositories und die Installation von Syncthing nehmen Sie mit den Befehlen aus Listing 1 vor.

Syncthing gleicht Daten sowohl im lokalen Netzwerk als auch zwischen entfernten Rechnern ab. Um dies auch außerhalb des heimischen Netzes für den Anwender möglichst einfach zu gestalten, setzt die Software, wie auch das Vorbild Bittorrent Sync, auf UPNP, das Sie gegebenenfalls im Router freischalten müssen, was bei den meisten jedoch von Haus aus der Fall ist. Sollte der Router UPNP nicht bereitstellen, gilt es, Port-Forwarding manuell einzurichten. Für das Einbinden entfernter Rechner müssen Sie den Port 22 000/TCP an den gewünschten Zielhost weiterleiten. Befindet sich der Rechner hinter einer lokalen Firewall, so geben Sie die Ports 22 000/TCP und 21 025/UDP frei.

Listing 1

 

$ sudo apt-get install curl
$ curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
$ echo "deb http://apt.syncthing.net/ syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.list
$ sudo apt-get update && sudo apt-get install syncthing

Unterstützte Distributionen

Syncthing stellt seine Software unter anderem für Arch Linux, OpenSuse, Fedora und Gentoo in der jeweils aktuellen Version zur Installation bereit. Sollte es für die von Ihnen genutzte Distribution noch keine Pakete geben, installieren Sie das Tool in wenigen Schritten von Hand (Listing 2).

Listing 2

 

$ mkdir /etc/syncthing && cd /etc/syncthing
$ wget https://github.com/syncthing/syncthing/releases/download/v0.11.21syncthing-linux-arm-v0.11.21.tar.gz
$ tar xvzf syncthing-linux-arm-v0.11.21.tar.gz
$ rm syncthing-linux-arm-v0.11.21.tar.gz
$ mv syncthing-linux-arm-v0.11.*/* .
$ rm -r syncthing-linux-arm-v0.11.21

Erste Schritte

Der Aufruf syncthing & (Abbildung 1) startet nach der Installation die Software, die daraufhin automatisch eine Weboberfläche im Browser öffnet. Stellen Sie vorher sicher, das die Software auch auf allen Geräten, die an der Synchronisation teilnehmen sollen, installiert und gestartet ist. Beim ersten Start auf dem jeweiligen Gerät erstellt die Software zunächst die notwendigen Schlüssel und Zertifikate, die einen sicheren Austausch der Daten im Netz garantieren. Das kann durchaus einige Minuten dauern.

Abbildung 1: Beim Start von Syncthing via Kommandozeile öffnet die Software automatisch das Web-Interface zur Konfiguration.

Abbildung 1: Beim Start von Syncthing via Kommandozeile öffnet die Software automatisch das Web-Interface zur Konfiguration.

Zunächst stellen Sie in der Oberfläche in der oberen Leiste die Sprache auf Deutsch um. Rechts daneben finden Sie das Ausklappmenü Aktionen (Abbildung 2), in dem Sie danach einige Einstellungen vornehmen. Hier entscheiden Sie unter anderem, ob Sie die Synchronisation auf das lokale Netzwerk beschränken möchten oder auch Geräte aus dem Internet einbeziehen wollen. Möchten Sie Daten nur im LAN abgleichen, entfernen Sie den Haken neben Globale Gerätesuche (Abbildung 3). Das Gleiche gilt, wenn Ihr Router kein UPNP unterstützt. Um die einzelnen Geräte später zu identifizieren, weisen Sie ihnen unter Gerätenamen möglichst eindeutige Bezeichnungen zu.

Abbildung 2: Neben der Spracheinstellung finden Sie die »Aktionen«. Mit den darin enthaltenen Werkzeugen stellen Sie alle wichtigen Parameter der Software ein und steuern sie.

Abbildung 2: Neben der Spracheinstellung finden Sie die »Aktionen«. Mit den darin enthaltenen Werkzeugen stellen Sie alle wichtigen Parameter der Software ein und steuern sie.

Abbildung 3: Möchten Sie Syncthing nur im lokalen Netz verwenden, deaktivieren Sie in den »Einstellungen« die »Globale Gerätesuche«.

Abbildung 3: Möchten Sie Syncthing nur im lokalen Netz verwenden, deaktivieren Sie in den »Einstellungen« die »Globale Gerätesuche«.

Falls erwünscht oder notwendig, passen Sie unter Limit Datenrate jeweils den maximal zulässigen Datendurchsatz an. Das wird aber beim Raspberry Pi eher nicht nötig sein. Für den Zugang zur Benutzeroberfläche vergeben Sie einen Nutzernamen samt sicherem Passwort und setzen einen Haken neben HTTPS für Benutzeroberfläche benutzen, was eine verschlüsselte Verbindung sicherstellt. Ein aktiviertes Anonymer Nutzungsbericht sendet Informationen an das Projekt, die den Entwicklern Aufschluss über das Nutzerverhalten geben, um die Software dementsprechend anzupassen. Nähere Informationen erhalten Sie über den Link hinter der Option.

Damit sich die Geräte finden, gilt es, die IP-Adresse anzupassen. Als Standard verweist die IP auf den Port 8384 von Localhost, also 127.0.0.1:8384. Tauschen Sie den Teil vor dem Doppelpunkt gegen die IP-Adresse, die Ihnen der Befehl sudo ifconfig für eth0 mitteilt. Daraufhin bietet Syncthing einen Neustart an, der wegen des Erzeugens eines neuen Zertifikats für HTTPS auch wieder etwas dauert. Die gesamte Konfiguration samt den generierten Schlüsseln finden Sie unter ~/.config/syncthing/.

Neue Bekanntschaften

Nachdem Sie diesen Dialog auf allen beteiligten Knoten konfiguriert haben, geht es an das Bekanntmachen der Geräte untereinander. Dazu dient die auf jedem Gerät beim ersten Start aus den Informationen im Zertifikat erzeugte 46-stellige Geräte-ID, die Sie über den Unterpunkt ID anzeigen erreichen (Abbildung 4). Diese ID verteilen Sie entweder per USB-Stick in einem Textfile, per E-Mail oder über einen Webdienst wie Dropbox an die entsprechenden Geräte. Diese IDs müssen Sie nun bei Gerät hinzufügen samt dem vorher vergebenen Gerätenamen eintragen (Abbildung 5).

Abbildung 4: Ein Klick auf »ID anzeigen« öffnet dieses Fenster, das neben der Identifikationsnummer auch einen QR-Code mit der Nummer enthält.

Abbildung 4: Ein Klick auf »ID anzeigen« öffnet dieses Fenster, das neben der Identifikationsnummer auch einen QR-Code mit der Nummer enthält.

Abbildung 5: Im Dialog »Gerät hinzufügen« gestatten Sie anderen Devices den Austausch der Daten. Dabei legen Sie im Detail fest, welche das sind.

Abbildung 5: Im Dialog »Gerät hinzufügen« gestatten Sie anderen Devices den Austausch der Daten. Dabei legen Sie im Detail fest, welche das sind.

Geben Sie zuerst den Gerätenamen ein, dann liest Syncthing die ID automatisch aus und fragt, ob Sie das Gerät akzeptieren. Bei Verteilergerät bestimmen Sie, ob Sie alle beim Verteilersystem eingetragenen Knoten auch auf dem neuen Gerät eingetragen lassen möchten. Die ID und der eindeutige Gerätename erlauben es, nicht nur Daten auf Ihren Geräten synchron zu halten, sondern auch Inhalte mit Arbeitskollegen und Freunden zu teilen.

Verzeichnisse hinzufügen

Beim ersten Start von Syncthing erstellt die Software im Heimverzeichnis des jeweiligen Geräts als Standard den Ordner Sync/ und synchronisiert darin abgelegte Inhalte automatisch. Bei größeren Datenmengen erweist es sich aber als übersichtlicher, weitere Ordner freizugeben (Abbildung 6). Nach einem Klick auf Verzeichnis hinzufügen tragen Sie in die Maske bei Verzeichnis ID eine eindeutige Bezeichnung des Ordners ein und navigieren dann zum Zielverzeichnis. Das Verzeichnis muss auf allen Rechnern eingerichtet und die ID identisch sein; der jeweilige Zielordner darf einen abweichenden Namen tragen.

Abbildung 6: Der Dialog zum Hinzufügen eines neuen Verzeichnisses bietet vielfältige Einstellungsmöglichkeiten.

Abbildung 6: Der Dialog zum Hinzufügen eines neuen Verzeichnisses bietet vielfältige Einstellungsmöglichkeiten.

Bei den weiteren Einstellungen beachten Sie die Option Keine Veränderungen zulassen. Ein gesetzter Haken schützt die Daten in diesem Verzeichnis vor Veränderung durch andere Knoten. Ungeachtet dessen verteilt Syncthing auf diesem Gerät vorgenommene Veränderungen aber auf den Rest des Verbunds. Erst wenn Sie beispielsweise eine Datei in dem geschützten Verzeichnis löschen, verschwindet sie auch auf den anderen Geräten.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland