I2P unter Ubuntu auf dem Raspberry Pi 2 installieren
Anregungen zur Optimierung
Die folgenden Tipps erläutern die gängigsten Möglichkeiten, die Lese- und Schreibvorgänge auf die verwendete microSD-Karte durch das System zu reduzieren, um somit die Lebensdauer der Karte zu erhöhen. Ihre Umsetzung ist optional und je nach weiterer Verwendung bzw. Auslastung des Raspberry Pi nicht immer ratsam.
I2P Log-Dateien in RAM auslagern
Man kann die Log-Dateien des I2P-Routers in das RAM auslagern. Entscheidet man sich dafür, muss man in der Datei ~/i2pbin/i2prouter in der Variable I2PTEMP
den Pfad angeben, in dem die zuvor angelegten RAM-Disk eingebunden wurde. Zudem werden die Variablen PIDDIR
und LOGDIR
angepasst:
I2PTEMP="Pfad/zur/Ram-Disk" PIDDIR="$I2PTEMP" LOGDIR="$I2PTEMP/logs"
Journaling deaktivieren
Über den Sinn und Unsinn dieses Schrittes kann man streiten. Letztendlich muss jeder Nutzer für sich selbst entscheiden, ob er die Gefahr eines möglichen Datenverlustes für den (eher geringen) Performance-Vorteil in Kauf nehmen möchte. Entscheidet man sich dafür, kann man das Journaling bei ausgebundener Raspberry-Pi-Systempartition wie folgt deaktivieren (die Partitionsbezeichnung sdx1
muss eventuell entsprechend angepasst werden):
# tune2fs -O ^has_journal /dev/sdx1
Anschließend überprüft man, ob das Journaling tatsächlich deaktiviert wurde. In diesem Fall sollte unter Filesystem features
nun kein has_journal
mehr aufgeführt sein:
# tune2fs -l /dev/sdx1
Abschließend wird das Filesystem noch auf Fehler überprüft.
# e2fsck -f /dev/sdx1
Swap-Datei auslagern/deaktivieren/löschen
Das Schreiben von Daten aus dem Arbeitsspeicher in die Swap-Datei verursacht viele Schreibvorgänge und verschlechtert die Performance des Systems. Nach Möglichkeit sollte man das System so betreiben, dass ein Auslagerungsspeicher nicht nötig ist. In diesem Fall kann man die Swap-Datei deaktivieren bzw. löschen. Sollen auf dem System jedoch weitere speicherhungrige Programme laufen, kann man die Swap-Datei auch auf eine externe Festplatte auslagern, um die microSD-Karte zu schonen.
Wie man diese 3 Varianten unter Verwendung von dphys
realisiert, ist in der Manpage von dphys beschrieben.
Ältere I2P-Versionen installieren
Zunächst sei deutlich davon abgeraten, ältere Versionen des I2P-Routers zu installieren. Sollte dies dennoch nötig sein, muss bei I2P-Versionen kleiner 0.9.20 die Bibliothek jbigi
noch selbst kompiliert werden. Sie optimiert kryptografische Operationen innerhalb des I2P-Routers und beschleunigt diese deutlich. Bei älteren Versionen liest der I2P-Installer die CPU-Version des Raspberry Pi nicht korrekt aus und verwendet somit die falsche vorkonfigurierte ARM-Version der jbigi-Bibliothek. Nähere Informationen hierzu sind dem ubuntuusers.de-Wiki zu entnehmen.
Trivia
Unabhängig davon, was man in den Weiten des I2P-Netzwerkes vor hat, sollte man sich stets bewusst machen, dass auch hier keine 100-prozentige Sicherheit und Anonymität gewährleistet werden kann. Zum einen befindet sich I2P noch in der Beta-Phase und ist mit (sehr grob geschätzten) 37000 Routern ein noch recht kleines Netzwerk. Zum anderen ist das Vorhaben, eine auf IP und TCP/UDP basierende Kommunikation komplett sicher und anonym zu gestalten, meines Erachtens nach eine Utopie. Diese Protokolle wurden in ihrem historischen Kontext schlicht nicht dafür geschaffen, dies zu gewährleisten. Es sind jedoch Ansätze wie beispielsweise I2P, die – richtig angewendet – das derzeit höchstmögliche Maß an Sicherheit und Anonymität gewährleisten können. Man kann also durchaus nach bestem Wissen und Gewissen dazu beitragen, diese (aktiv) zu unterstützen.
Autoreninformation
Manuel Haake nutzt seit vielen Jahren BSD- und Linux-Systeme. Er interessiert sich für Open-Source-Projekte zum Thema Kryptographie, Anonymisierung und Pentesting.
Dieser Artikel ist in freiesMagazin 11/2015 (ISSN 1867-7991) erschienen. Veröffentlichung mit freundlicher Genehmigung.