Das TOR-Netzwerk (TOR kurz für The Onion Routing) ist ein Netzwerk für die Anonymisierung von Verbindungsdaten des Internetnutzers.
Damit das Netzwerk funktioniert, erfordert dies viele Teilnehmer, die eigenen Kapazitäten zur Verfügung stellen. Diese Teilnehmer betreiben einen so genannten Relay-Node, also einen Knoten, der Daten aus dem TOR-Netzwerk entgegen nimmt und zufällig weiterleitet. Die Verbindung zwischen den Knoten erfolgt verschlüsselt und ein Knoten besitzt nur die Kenntnis über einen direkten Nachbarknoten und nicht über den gesamten Fluss des Netzwerks. (Quelle: https://www.privacyfoundation.ch)
Nun wieder zum Raspberry PI: Dieser vielseitige und extrem "stromsparende" Computer lässt sich sehr einfach und schnell zu einem Relay-Knoten umfunktionieren. Die freien Kapazitäten des heimischen DSL Anschlusses lassen sich somit auch noch nutzen.
Die nachfolgende Anleitung lässt sich über die Shell abarbeiten - eine grafische Oberfläche ist nicht notwendig.
Zuerst müssen die Pakete für die Anwendung installiert werden. Der nachfolgende Befehl installiert somit also das Paket "tor":
sudo apt-get install tor
Nachdem das Ganze installiert ist, muss noch ein bisschen Arbeit in die Konfiguration gesteckt werden. Die Konfiguration ist unter dem Pfad /etc/tor/torrc
Man nehme also den Editor seiner Wahl und öffne die Datei:
sudo vi /etc/tor/torrc
Zu Beginn die Datei sehr unübersichtlich, allerding sind alle Zeilen, die mit einer Raute # anfangen nur Kommentare und sollen dem Benutzer helfen. Am einfachsten ist es, wenn folgende Zeilen einfach am Ende der Datei eingefügt werden:
Log notice file /var/log/tor/notices.log
SocksPort 0
RunAsDaemon 1
ORPort 9001
DirPort 9030
ExitPolicy reject *:*
Nickname thardes2
RelayBandwidthRate 300 KB
RelayBandwidthBurst 300 KB
Log notice file: Pfad zum Logfile
SocksPort: Die 0 bedeutet, dass diese TOR-Instanz nur als Server laufen soll. Damit wird verhindert, dass auch lokale Applikationen diesen Service nutzen.
RunAsDaemon: Starten als Daemon - Der Service soll also im Hintergrund laufen
QRPort: Der Port, worüber TOR kommunizieren soll. Wichtig ist, dass dieser auch bei einer vorhandenen Firewall oder bei NAT freigeschaltet wird. Später mehr dazu.
DirPort:
ExitPolicy: Über diesen Eintrag teilen wir dem Service mit, dass wir einen Relay-Knoten betreiben wollen und KEIN Exit-Knoten
Nickname: Ein beliebiger Name, der später dann in der Liste des Tor-Netzwerks auftaucht
RelayBandwidthRate und RelayBandwidthBurst: Diese Einträge legen fest, welche Bandbreite für diesen TOR-Knoten verwendet wird. Diese Beschränkung wird in Byte angegeben (1 Byte = 8 Bit). Wenn dieser Eintrag zu hoch gesetzt wird, bremst dies den Anschluss sehr stark und der TOR-Knoten soll ja nebenbei laufen und nicht die komplette Bandbreite nutzen.
Wie weiter oben schon angedeutet, funktioniert das Ganze in der Regel erst, wenn eine entsprechende Portweiterleitung im Router festgelegt wurde. In der Konfiguration haben wir die Ports 9001 und 9030 definiert. Nachfolgende Grafik zeigt, wie das Ganze z.B. in einer AVM FritzBox! aussehen könnte:
Jetzt muss der Dienst noch neu gestartet werden, damit die Änderungen und die Konfiguration angewandt werden:
sudo /etc/init.d/tor restart
Damit läuft der Server nun.
Um das Ganze zu Prüfen und zu schauen welchen Umsatz der Rapsberry PI macht, bietet sich das Tool "ARM" an.
Das ist relativ schnell mit der Installation erledigt. Wir brauchen das Paket tor-arm:
sudo apt-get install tor-arm
Über das Kommando sudo arm
lässt sich dann die Grafik aufrufen.
Hi Tobias, gutes Tutorial.
Je mehr Leute ein Tor Relay aufsetzen, desto besser für die ganze Community.
Der Raspberry Pi bietet sich durch seinen geringen Preis natürlich perfekt an.
Für diejenigen, die Tor unterstützen wollen aber denen selbst dieses Tutorial zu kompliziert ist habe ich einen online Tor Relay Konfigurator gebaut: https://tor-relay.co/
Es müssen nur die geforderten Felder ausgefüllt werden und der Generator spuckt ein fertiges Script aus, mit dem man das Tor Node installieren kann.
Ich habe es selbst noch nicht auf einem Raspberry Pi getestet, es sollte aber ohne Probleme funktionieren.
Wenn es jemand ausprobiert hat, dann würde ich mich über eine kurze Mail freuen!
Pingback: Neues… – Christoph's Website
Hi,
laeuft das Ethernet Interface beim Raspberry nicht ueber den USB-Controller?
Ist dadurch die Nutzung der verfuegbaren Bandbreite nicht eingeschraenkt?