Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
I2P ist ein freies Softwareprojekt mit dem Ziel, ein anonymes/pseudonymes Netzwerk zu schaffen. Dieser Artikel beschreibt nur die Installation. Dieses ist auf verschiedene Arten möglich, je nachdem ob man einen Desktop-Rechner oder einen dezidierten Server nutzen möchte.
Weitere Informationen zur Konfiguration und Nutzung sind dem Hauptartikel zu entnehmen.
Nachdem Java 7 oder neuer installiert wurde (obwohl Java 6 auch funktionieren würde, sollte für High-Bandwith-I2P- oder Floodfill-Router Java 7 oder 8 bevorzugt werden), lädt man sich von der offiziellen Webseite einen Installationsassistenten i2pinstall_VERSION.jar in der Linux-Variante (Pinguin-Symbol) herunter. Die dort angezeigte SHA256-Prüfsumme sollte anschließend mit der heruntergeladenen Datei verglichen werden (siehe auch Hashfunktionen):
sha256sum i2pinstall_VERSION.jar
Fremdsoftware kann das System gefährden.
Dann öffnet man ein Terminal und führt folgenden Befehl aus (X.Y
durch die jeweilige Version ersetzen):
java -jar i2pinstall_VERSION.jar
Für Server bzw. einer Installation im Textmodus:
java -jar i2pinstall_VERSION.jar -console
Damit man I2P aus jedem Verzeichnis starten kann, bietet es sich an, mit folgendem Befehl einen symbolischen Link anzulegen:
mkdir -p ~/bin ln -s ~/i2p/i2prouter ~/bin/i2prouter
Nun startet man I2P mit dem Befehl:
i2prouter start
Starting I2P Service... Waiting for I2P Service....... running: PID:4082
Möchte man I2P automatisch mit dem Einschalten des Rechners starten (empfohlen), bietet sich folgende Vorgehensweise an:
Die Datei ~/i2p/i2prouter öffnen und bearbeiten. Die Zeile mit "RUN_AS_USER" suchen, abändern und speichern:
RUN_AS_USER=i2psvc
Damit würde der I2P-Router als Benutzer i2psvc
laufen (Benutzer ggf. vorher anlegen). Der I2P-Router sollte nie mit Root-Rechten laufen!
Nun wird mit dem Befehl:
sudo i2prouter install
I2P als Dienst mit einem Start-/Stopp-Skript /etc/init.d/i2p eingerichtet, bzw. es wird eine Unit für systemd erzeugt und kann mit
sudo systemctl daemon-reload sudo systemctl enable i2p
aktiviert werden, damit I2P automatisch mit dem Booten startet. Nach dem erstmaligen Start kann es bis zu 30 Minuten dauern, bis I2P ein funktionierendes Peer-Verzeichnis aufgebaut hat und voll funktionstüchtig ist.
Verknüpfung für alle Benutzer anlegen:
sudo ln -s ~/i2p/i2prouter /usr/local/bin/
Zur Steuerung des I2P-Dienstes siehe I2P.
I2P kann auch per "Personal Package Archiv" (PPA) installiert werden. Hier wird meist die neueste Version bereitgestellt, leider nicht für unbedingt für ältere Ubuntu-Versionen (LTS).
Adresszeile zum Hinzufügen des PPAs:
ppa:i2p-maintainers/i2p
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der PPA-Beschreibung des Eigentümers/Teams i2p-maintainers zu entnehmen.
Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.
Nach dem Aktualisieren der Paketquellen kann das folgende Paket installiert werden:
i2p (ppa)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install i2p
sudo aptitude install i2p
Ein permanent laufender Server ist eine ideale Grundlage für I2P, da mit einem 24/7 laufenden I2P-Router das I2P-Netz sehr unterstützt wird und auch die eigene Anonymität erhöht wird. Im folgenden Abschnitt werden daher die wichtigsten Schritte für eine I2P-Installation auf einem Server ohne GUI gezeigt und wie man mit einem Clienten damit komfortabel arbeitet.
Zuerst wird Java 7 oder neuer installiert. Die kleinere Variante "headless" reicht aus:
sudo apt-get install openjdk-7-jre-headless
Dann bindet man das oben genannte PPA ein und installiert das Paket i2p:
sudo apt-add-repository ppa:i2p-maintainers/i2p sudo apt-get update sudo apt-get install i2p
Die grundlegende Konfiguration wird bei der Installation abgefragt. Hier gibt man an, dass I2P automatisch beim Systemstart gestartet werden soll ("YES") und unter welchem Benutzernamen es laufen soll. Der vorgeschlagene Benutzer lautet i2psvc
und die Zuordnung von 128 MiB RAM können i.d.R. einfach übernommen werden.
Diese Konfiguration wird in /etc/default/i2p gespeichert. Zusätzlich wird ein Start-Skript /etc/init.d/i2p erstellt und der I2P-Router gestartet.
Möchte man die Konfiguration später noch anpassen, lautet der Befehl:
sudo dpkg-reconfigure -plow i2p
Der I2P-Router stellt eine Weboberfläche als Frontend zur Statusanzeige und Konfiguration bereit:
Um diese Webseite, die zunächst nur lokal auf dem Server erreichbar ist, mit einem Client-Rechner zu erreichen, baut man einen SSH-Tunnel zum Server auf. Beispiel für eine Konfiguration auf dem Client, die man über die Datei ~/.ssh/config vornimmt:
HostName SERVERNAME_ODER_IP-ADRESSE LocalForward 7657 localhost:7657 LocalForward 4444 localhost:4444
Auf dem Port 7657
läuft die Web-Oberfläche des I2P-Routers, Port 4444
dient für den I2P-HTTP-Proxy. Analog können weitere Port-Weiterleitungen bei Bedarf konfiguriert werden:
7659 email:smtp
7660 email:pop3
6668 IRC
4445 I2P-HTTPS-Proxy
Sind diese in der ~/.ssh/config gespeichert, kann vom Client-Rechner eine SSH-Verbindung mit diesen Weiterleitungen gestartet werden:
ssh SERVERNAME
Nun wechselt man am Client zum Webbrowser der Wahl und nutzt die Adresse http://localhost:7657/console, um die die Weboberfläche des I2P-Routers auf dem Servers anzuzeigen. Beim erstmaligen Start kann es bis zu 30 Minuten dauern, bis I2P ein funktionierendes Peer-Verzeichnis aufgebaut hat und voll funktionstüchtig ist. Auch nach einem Reboot oder einer längeren Offline-Zeit des Servers kann es 20-30 Minuten dauern, bis alle I2P-Dienste wieder flott laufen. Nach einer Port-Änderung wird der I2P-Router automatisch neu gestartet.
Falls der I2P-Router im LAN steht (z.B. im Nachbarzimmer), kann auf einen SSH-Tunnel verzichtet werden. Dies sollte allerdings nur in vertrauenswürdigen Subnetzen gemacht werden. Normalerwiese sind die I2P-Dienste (HTTP Proxy, POP3, SMTP usw.) nur lokal auf dem Server erreichbar. In der I2P-Router Web-Oberfläche kann dies geändert werden, am Beispiel für den I2P HTTP Proxy:
Den Tunnel "I2P HTTP Proxy" wird mit der Schaltfläche "STOP" beenden
Dann wechselt man per Mausklick auf "I2P HTTP Proxy" in die Konfiguration dieses Tunnels
"Erreichbar von" ändert man von 127.0.0.1
auf die IP-Adresse des Servers:
127.0.0.1 Dienst nur lokal auf dem Server erreichbar, Standardeinstellung 192.168.x.y Dienst im lokalen Subnetz verfügbar 0.0.0.0 Dienst von allen Adressen erreichbar, nicht empfohlen!
Konfiguration speichern
Der Tunnel "I2P HTTP Proxy" wird mit dem Schaltfläche "Start" wieder gestartet.
Nun ist der "I2P HTTP Proxy" im gesamten Subnetz verfügbar, man braucht keinen SSH-Tunnel mit Portweiterleitung mehr. Diese Änderungen werden in der Datei ~/.i2p/i2ptunnel.config gespeichert - siehe Zeilen "interface=".
Zusätzlich muss man die Datei ~/.i2p/clients.config ändern:
# ursprüngliche Zeile: clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/ # Ändern in: clientApp.0.args=7657 192.168.x.y ./webapps/
Die I2P-Software wird permanent weiterentwickelt. Das betrifft sowohl Erweiterungen als auch Anpassungen an das wachsende Netz sowie Fehlerbereinigungen. Updates erscheinen alle paar Wochen und werden im Blog angekündigt (auch als Newsfeed abonnierbar).
Wurde I2P manuell installiert, erscheint bei neuen Veröffentlichungen innerhalb der Weboberfläche des I2P-Routers eine Update-Schaltfläche. Nach dem Herunterladen muss der I2P-Router über die Schaltfläche am linken Rand neu gestartet werden.
Bei der Installation aus dem PPA erfolgt ein Update wie üblich über die Paketverwaltung.
Dabei wird der I2P-Router via sudo service i2p stop
hart gestoppt, was vermieden werden sollte. Empfohlen wird daher, vorher den I2P-Router entweder über die Weboberfläche ordentlich herunterzufahren oder alternativ im Terminal mit sudo service i2p graceful
zu beenden.
Als dritte Variante kann man auch manuell aktualisieren. Dazu lädt man die Datei i2pupdate_VERSION.zip herunter, benennt sie in i2pupdate.zip um und verschiebt sie in das Installationsverzeichnis von I2P (die Archivdatei muss nicht entpackt werden!). Dann öffnet man die Weboberfläche und startet den I2P-Router neu.
Diese Revision wurde am 1. Dezember 2015 00:07 von aasche erstellt.