2066899

Private Cloud für Linux mit Syncthing

12.05.2015 | 12:09 Uhr |

Eine eigene Cloud zur Synchronisation von Dateien kommt mit Syncthing ohne zentralen Server aus. Das Open-Source-Protokoll funktioniert per Peer-to-Peer-Technik vom eigenen Rechner aus.

Der dezentrale Ansatz eines privaten Netzwerks zum Dateiabgleich hat Bittorrent Sync viel Aufmerksamkeit beschert: Die Dateien werden nicht auf fremden Servern gespeichert und bleiben auf dem Gerät des Anwenders; zum Abgleich baut Bittorrent Sync eine direkte verschlüsselte Verbindung zu den anderen Geräten auf. Bei allen Lorbeeren, die das Konzept erhielt, stören sich Skeptiker und Open-Source-Fürsprecher an zwei Eigenschaften: Bittorrent Sync ist werbefinanziert und identifiziert die Nutzer laut eigenen Angaben anhand von Webbrowser und Hardware für gezielte Werbung. Zweitens sind Protokoll und Programm nicht Open Source. Dass Bittorrent Sync sicher verschlüsselt und die geheimen Schlüssel nicht protokolliert, muss man den Entwicklern glauben. Nachprüfen kann man es nicht.

HTML-Oberfläche: Auf dem Rechner startet Syncthing einen eigenen lokalen Webserver, der alle Menüs zur Einrichtung, Verwaltung und Kontrolle des Clients im Browser anzeigt.
Vergrößern HTML-Oberfläche: Auf dem Rechner startet Syncthing einen eigenen lokalen Webserver, der alle Menüs zur Einrichtung, Verwaltung und Kontrolle des Clients im Browser anzeigt.

Die Funktionsweise: So arbeitet Syncthing

Der schwedische Entwickler Jakob Borg hat eine Open-Source-Alternative zu Bittorrent Sync entworfen – Syncthing . Es handelt sich nicht um einen Fork, da Bittorrent Sync ja nicht im Quelltext vorliegt, sondern um den Nachbau des Funktionsprinzips mit ähnlichen Techniken. Das Programm ist in Go geschrieben und kompiliert. Es bringt seine eigene Bibliothek mit, auch für die Verschlüsselung. Wie Bittorrent Sync dient Syncthing dazu, Verzeichnisse auf mehreren Geräten abzugleichen, die im lokalen Netzwerk oder über das Internet erreichbar sind. Eine Verbindung von mehreren Knoten zu einer privaten Cloud erfolgt über eine eindeutige ID. Ein Knoten stellt sich im lokalen Netzwerk über das Simple Service Discovery Protocol (SSDP) vor und im Internet über den Server unter der Adresse „announce.syncthing.net“. Da ein Knoten eingehende Verbindungen akzeptieren muss, auch wenn er hinter einem Router oder einer Firewall sitzt, kommt Universal Plug and Play (UPnP) zum Einsatz, um eine Portweiterleitung anzufordern. Der Router muss dazu ebenfalls UPnP unterstützen. Klappt dies nicht automatisch, so muss man mit herkömmlichen Portweiterleitungen und einem dynamischen DNS-Dienst wie noip.com arbeiten. Die Datenübertragung erledigt Syncthing verschlüsselt mittels TLS und dem Algorithmus AES-128.

Nach einem Jahr Entwicklungszeit hat Syncthing immer noch den Status einer Vorabversion, ist aber in der vorliegenden Version 0.10.X ausgereift genug für den täglichen Einsatz. Es unterstützt neben Linux auch Windows, Mac-OS X, Free BSD sowie Solaris und steht unter der GNU Public Licence 3. Es gibt zudem die frühe Version einer Android-App auf Google Play.

Fünf private Cloud-Dienste für Linux

Die Installation in Linux-Distributionen

Als junges Projekt ist Syncthing noch nicht in den Paketquellen der populären Distributionen enthalten. Zur Installation unter Linux muss man aber nichts selbst kompilieren, da der Entwickler auch fertige Binaries ausliefert. Gehen Sie auf die Projektseite https://github.com/syncthing/syncthing/releases/tag/v0.11.1 , und laden Sie dort die Ihrem System passende Version von Syncthing als gepacktes Archiv herunter. Für ein 32-Bit-Linux wäre dies das Archiv „syncthing-linux-386-v0.11.1.tar.gz“ (64 Bit: „syncthing-linux-amd64-v0.11.1.tar.gz“). Da die Entwicklung von Syncthing rasch voranschreitet, kann die Versionsnummer beim späteren Lesen dieser Zeilen schon etwas höher sein. Entpacken Sie zunächst die gewählte Datei in der Kommandozeile:

tar -xzvf syncthing-linux-amd64-v0.11.1.tar.gz

Dann gehen Sie mit

cd syncthing-linux-amd64-v0.11.1

in das neu angelegte Verzeichnis, wo Sie das Programm mit

./syncthing

starten. Beim ersten Aufruf generiert Syncthing das eigene Zertifikat und startet dann zur weiteren Konfiguration auf dem lokalen PC eine Weboberfläche, die Sie im Browser über die Adresse http://127.0.0.1:8080 erreichen. Hier erhalten Sie eine Übersicht zu Aktionen und geteilten Verzeichnissen. Standardmäßig wird das Verzeichnis „Sync“ im Homeverzeichnis angelegt.

Zeichenkolonnen: Diese IDs von Geräten müssen Sie jeweils in beiden Syncthing-Clients angeben, um sie miteinander bekanntzumachen. Der QR-Code ist für die Syncthing-App nützlich.
Vergrößern Zeichenkolonnen: Diese IDs von Geräten müssen Sie jeweils in beiden Syncthing-Clients angeben, um sie miteinander bekanntzumachen. Der QR-Code ist für die Syncthing-App nützlich.

Die Einrichtung: Einen Knoten hinzufügen

Damit Syncthing etwas zu tun bekommt, müssen Sie die Rechner, auf welchen Syncthing läuft, miteinander bekanntmachen. Dazu ist es nötig, die IDs der beiden Syncthing-Geräte auszutauschen und auf dem jeweils anderen Gerät einzutragen. Gehen Sie dazu in der Weboberfläche des Syncthing-Clients auf dem ersten Gerät A auf das Zahnrad-Symbol rechts oben und dann auf „ID anzeigen / Show ID“. Auf Gerät B klicken Sie auf „Gerät hinzufügen / Add Device“ und tragen die ID von Gerät A ein. Nun lassen Sie sich die ID von Gerät B anzeigen und klicken wiederum bei Gerät A auf „Gerät hinzufügen / Add Device“, um dort die ID von Gerät B einzutippen. Die Eingabe des langen alphanumerischen Strings erfordert Geduld, ist aber nur jeweils einmal nötig.

Einen gemeinsamen Ordner zum Abgleich können Sie entweder gleich bei der Eingabe der ID auswählen oder nachträglich in der linken Spalte der Weboberfläche. Standardmäßig arbeitet Syncthing mit dem Ordner „~/Sync“, der als „default“ voreingestellt ist. Um diesen Ordner zu teilen, gehen Sie auf „Bearbeiten / Edit“ und wählen dann ganz unten bei „Teile mit diesen Geräten“ den gewünschten Gerätenamen aus. Auch dieser Schritt ist auf beiden Geräten nötig, damit die Synchronisation klappt.

Nach jeder Konfigurationsänderung, also beim Hinzufügen sowie Bearbeiten von Geräten und Verzeichnissen, ist ein Neustart des Clients nötig, damit die neue Konfiguration aktiv wird. Dies lässt sich bequem über die Weboberfläche erledigen.

Fazit: Erste Einrichtung ist nicht immer einfach

Wer Bittorrent Sync in Sachen Datenschutz nicht traut, bekommt mit Syncthing eine ähnliches Tool, dessen Quellen offengelegt sind. Syncthing ist solide und schnell genug, um große Datenmengen zuverlässig abzugleichen. Die Verbindung von Geräten ist komplizierter als bei Bittorrent Sync, insbesondere hinter einem Router ohne UPnP. Denn anders als Bittorrent Sync nutzt Syncthing keinen Relay-Server, über den die Clients notfalls indirekt kommunizieren. Im Fall von Syncthing ist dann eine Portweiterleitung und ein dynamischer Host-Name nötig – wie für Server-Dienste, die man aus dem eigenen Netz heraus im Web anbieten möchte. Auf URLs zur einfachen Weitergabe von Dateien muss man bei Syncthing genauso wie bei Bittorrent Sync verzichten.

0 Kommentare zu diesem Artikel
2066899