
Tor-Proxy-Server: So surfst du anonym mit dem Pi
IoT / Smart Tech, Projekte, Raspberry Pi
Sicherheit im Netz ist so wichtig wie nie zuvor. Malwares, die auf deine Daten zugreifen und dadurch eine potenzielle Gefahr darstellen, lauern an jeder Ecke. Tor-Netzwerke können hier Abhilfe schaffen.
Tor ist ein Akronym und steht für „The Onion Routing“. In der IT-Welt versteht man darunter ein Netzwerk, das verwendet wird, um Internetverbindungen zu anonymisieren. Es eignet sich für TCP-Verbindungen und kann unter anderem für E-Mails, SSH und Peer-to-Peer genutzt werden. Der Mehrwert des Netzwerks: Es schützt dich davor, dass eine dritte Person den Datenverkehr nachvollziehen kann. Somit kann ein Tor-Netzwerk einen wichtigen Bestandteil im Hinblick auf deine digitale Sicherheit einnehmen.
Das Praktische an der ganzen Sache: Mithilfe deines Raspberry Pi kannst du einen Tor-Proxy-Server schnell und einfach selbst einrichten. Ein Proxy-Server nimmt Client-Anfragen an einen bestimmten Server in Empfang und leitet sie anschließend an den Zielrechner. Es existiert keine unmittelbare Verbindung zwischen Absender und Adressat, wodurch der Proxy-Server für ein hohes Maß an Sicherheit sorgt. Wir zeigen dir, wie du ein Tor-Netzwerk ganz einfach selbst konfigurieren kannst.
INHALTSVERZEICHNIS
Das brauchst du für dein Vorhaben
- Raspberry Pi Zero W (oder höher) inklusive Netzteil
- Gehäuse für Raspberry Pi
- microSD Karte (mindestens 16 GB)
- Raspberry Pi OS: Das Raspberry Pi Betriebssystem dient als Grundlage für den Tor-Proxy-Server.
Tor-Proxy-Server einrichten: Schritt für Schritt erklärt
Installiere Raspberry Pi OS
- Zuallererst musst du das Betriebssystem Raspberry Pi OS auf deiner microSD Karte installieren. Dabei gehst du folgendermaßen vor: Als erstes lädst du Raspberry Pi OS herunter und entpackst das Image auf deiner Festplatte. Im Anschluss überträgst du das Betriebssystem mithilfe der Software Etcher auf deine microSD Karte. Etcher ist ein Open Source Tool, das sich bei der Installation von Raspbian OS als sehr nützlich erweist. Daher ist es ratsam, die neueste Version im Vorfeld der Installation zu downloaden. Danach legst du die microSD Karte in deinen Rechner ein und startest Etcher. Klicke auf „Select Image“ und wähle anschließend den Ordner aus, in dem du das Image entpackt hast. Zum Schluss klickst du auf die microSD Karte und auf „Flash“, um mit der Installation zu beginnen.
Konfiguriere den SSH-Zugriff auf deinem Pi
- Als nächstes richtest du den SSH-Zugriff für deinen Raspberry Pi ein. Dabei gibt es verschiedene Vorgehensweisen – je nachdem, ob du Windows oder Linux nutzt.
- Sofern du Linux oder Mac als Betriebssystem nutzt, brauchst du keine weitere Software, um den SSH-Zugriff einzurichten. Wenn du eine Verbindung herstellen möchtest, musst du allerdings die Raspberry Pi IP und den Hostnamen kennen. Abgesehen davon genügt für das Prozedere dein Raspberry Pi Terminal. Hier erfährst du im Detail, wie du vorzugehen hast, um eine SSH-Verbindung herzustellen.
- Du verwendest als Betriebssystem Windows? In diesem Fall benötigst du das Tool PuTTY. Du musst dieses nicht einmal installieren, sondern lediglich downloaden. Wähle nach dem Herunterladen die exe-Datei aus und gib als Host „raspberrypi“ ein. Klicke anschließend auf „Open“. Du wirst nun dazu aufgefordert, einen Login-Namen und ein Passwort einzugeben. Als Standard sind der Benutzername „pi“ und das Passwort „raspberry“ voreingestellt. Am besten änderst du direkt das Passwort, um Gewissheit zu haben, dass keine unerwünschte Person auf den Desktop zugreifen kann. Um das Passwort zu ändern, lässt du einfach im Terminal den Befehl „sudo passwd“ ausführen. Bestätige das Passwort, nachdem du es geändert hast.
sudo passwd
- Wenn du Raspbian OS installiert hast und auch die Einrichtung des SSH-Zugriffs abgeschlossen ist, öffnest du ein neues Terminal und lässt den Befehl „sudo apt-get update“ ausführen.
sudo apt-get update

Installiere Tor
- Anschließend installierst du Tor, indem du im Terminal „sudo apt-get install tor“ eingibst. Infolge der Installation werden die beiden Dienste „tor.service“ und „tor@default.service“ ausgeführt.
sudo apt-get install tor
- Gib nun im Terminal den Befehl „sudo systemctl status tor@default.service“ ein.
sudo systemctl status tor@default.service
- Als nächstes konfigurierst du Tor. Dabei gehst du folgendermaßen vor:
- Erstelle vorab eine Sicherungskopie, indem du den Befehl „sudo cp /etc/tor/torrc /etc/tor/torrc.backup“ ausführen lässt.
- Im Anschluss bearbeitest du die Konfigurationsdatei. Dazu gibt du im Terminal den Befehl „sudo nano /etc/tor/torrc“ ein.
sudo cp /etc/tor/torrc /etc/tor/torrc.backup
sudo nano /etc/tor/torrc

SocksPort 192.168.0.100:9050
SocksPolicy accept 192.168.0.0/24
RunAsDaemon 1
DataDirectory /var/lib/tor
- Speichere die Datei und schließe sie anschließend.
- Dann startest du die Tor-Anwendung neu. Lass dazu den Befehl „sudo systemctl restart tor@default.service“ ausführen.
sudo systemctl restart tor@default.service
- Nun geht es noch daran, deinen Client für die Nutzung eines Proxy-Servers zu konfigurieren. Zu diesem Zweck öffnest du die manuelle Proxy-Konfiguration und gibst dort im Feld „Socks Host“ die IP-Adresse deines Raspberry Pi ein. Füge im Anschluss „9050“ in den entsprechenden Port ein. Das Menü sollte nun folgendermaßen aussehen:

Dein Browser sollte nun das von dir konfigurierte Tor-Netzwerk nutzen, wenn du im Internet surfst. Mithilfe dieser Website kannst du im Handumdrehen überprüfen, ob alles so funktioniert hat wie gewünscht.

Wir wünschen dir viel Spaß mit diesem Projekt und beim anonymen Surfen. Falls du Fragen hast, so kannst du diese gerne in den Kommentaren stellen.
Dein BerryBase-Team
Kommentare
Hinterlasse ein Kommentar
Hallo,
die Anleitung funktioniert bei mir nicht (Pi3 Bullseye 64, Desktop).
Funktioniert bis „sudo systemctl restart tor@default.service“ .
Dann Fehler:
Job for tor@default.service failed because the control process exited with error code.
See “systemctl status tor@default.service” and “journalctl -xe” for details.
systemctl status tor@default.service gibt folgendes aus:
* tor@default.service – Anonymizing overlay network for TCP
Loaded: loaded (/lib/systemd/system/tor@default.service; enabled-runtime; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2023-07-10 14:00:40 CEST; 27s ago
Process: 2178 ExecStartPre=/usr/bin/install -Z -m 02755 -o debian-tor -g debian-tor -d /run/tor (code=exited, status=0/SUCCESS)
Process: 2179 ExecStartPre=/usr/bin/tor –defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc –RunAsDaemon 0 –verify-config (cod>
Process: 2180 ExecStart=/usr/bin/tor –defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc –RunAsDaemon 0 (code=exited, status=1/>
Main PID: 2180 (code=exited, status=1/FAILURE)
CPU: 194ms
Jul 10 14:00:40 raspberrypi systemd[1]: tor@default.service: Scheduled restart job, restart counter is at 5.
Jul 10 14:00:40 raspberrypi systemd[1]: Stopped Anonymizing overlay network for TCP.
Jul 10 14:00:40 raspberrypi systemd[1]: tor@default.service: Start request repeated too quickly.
Jul 10 14:00:40 raspberrypi systemd[1]: tor@default.service: Failed with result ‘exit-code’.
Jul 10 14:00:40 raspberrypi systemd[1]: Failed to start Anonymizing overlay network for TCP.
lines 1-14/14 (END)
sudo journalctl -xe gibt folgendes aus:
— The job identifier is 2464 and the job result is done.
Jul 10 14:27:19 raspberrypi systemd[1]: tor@default.service: Start request repe>
Jul 10 14:27:19 raspberrypi systemd[1]: tor@default.service: Failed with result>
— Subject: Unit failed
— Defined-By: systemd
— Support: https://www.debian.org/support
—
— The unit tor@default.service has entered the ‘failed’ state with result ‘exi>
Jul 10 14:27:19 raspberrypi systemd[1]: Failed to start Anonymizing overlay net>
— Subject: A start job for unit tor@default.service has failed
— Defined-By: systemd
— Support: https://www.debian.org/support
—
— A start job for unit tor@default.service has finished with a failure.
—
— The job identifier is 2464 and the job result is failed.
Jul 10 14:29:24 raspberrypi ddclient[5897]: WARNING: file /etc/ddclient.conf, >
Jul 10 14:29:27 raspberrypi winbindd[1072]: [2023/07/10 14:29:27.657109, 0] ..>
Jul 10 14:29:27 raspberrypi winbindd[1072]: rpcint_dispatch: DCE/RPC fault in>
Jul 10 14:29:27 raspberrypi winbindd[1072]: [2023/07/10 14:29:27.661723, 0] ..>
Jul 10 14:29:27 raspberrypi winbindd[1072]: rpcint_dispatch: DCE/RPC fault in>
Jul 10 14:31:50 raspberrypi sudo[6213]: rudispi : TTY=pts/2 ; PWD=/home/rudisp>
Jul 10 14:31:50 raspberrypi sudo[6213]: pam_unix(sudo:session): session opened >
lines 3366-3388/3388 (END)
— The job identifier is 2464 and the job result is done.
Jul 10 14:27:19 raspberrypi systemd[1]: tor@default.service: Start request repeated too quickly.
Jul 10 14:27:19 raspberrypi systemd[1]: tor@default.service: Failed with result ‘exit-code’.
— Subject: Unit failed
— Defined-By: systemd
— Support: https://www.debian.org/support
—
— The unit tor@default.service has entered the ‘failed’ state with result ‘exit-code’.
Jul 10 14:27:19 raspberrypi systemd[1]: Failed to start Anonymizing overlay network for TCP.
— Subject: A start job for unit tor@default.service has failed
— Defined-By: systemd
— Support: https://www.debian.org/support
—
— A start job for unit tor@default.service has finished with a failure.
—
— The job identifier is 2464 and the job result is failed.
Jul 10 14:29:24 raspberrypi ddclient[5897]: WARNING: file /etc/ddclient.conf, line 9: Invalid Value for keyword ‘login’ = ”
Jul 10 14:29:27 raspberrypi winbindd[1072]: [2023/07/10 14:29:27.657109, 0] ../../source3/rpc_server/rpc_ncacn_np.c:454(rpcint_dispatch)
Jul 10 14:29:27 raspberrypi winbindd[1072]: rpcint_dispatch: DCE/RPC fault in call lsarpc:32 – DCERPC_NCA_S_OP_RNG_ERROR
Jul 10 14:29:27 raspberrypi winbindd[1072]: [2023/07/10 14:29:27.661723, 0] ../../source3/rpc_server/rpc_ncacn_np.c:454(rpcint_dispatch)
Jul 10 14:29:27 raspberrypi winbindd[1072]: rpcint_dispatch: DCE/RPC fault in call lsarpc:32 – DCERPC_NCA_S_OP_RNG_ERROR
Jul 10 14:31:50 raspberrypi sudo[6213]: rudispi : TTY=pts/2 ; PWD=/home/rudispi ; USER=root ; COMMAND=/usr/bin/journalctl -xe
Jul 10 14:31:50 raspberrypi sudo[6213]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=1000)
~
~
~
lines 3366-3388/3388 (END)
Ein Proxy-Server scheint bei Bullseye nicht dabei zu sein.
Zitat: “Zu diesem Zweck öffnest du die manuelle Proxy-Konfiguration und gibst dort im Feld „Socks Host“ die IP-Adresse deines Raspberry Pi ein.”
Einen Netzwerk-Proxy habe ich nicht gefunden.
Viele Grüße
Rudy
Ist es auch möglich, das der Traffic direkr zum Exitnode geleitet wird und man so eine unsichere aber schnelle Verbindung hat?
ich kann die anleitung ebenfalls nicht beenden. vorinstalliert scheint der proxy client nicht zu sein. finde auch nichts passendes über die suche.
Coole Anleitung! Ich möchte VPN und Tor direkt von meinem Rasperry nutzen. Habt ihr dazu eine Anleitung wie das geht? Ich habe gehört das es dann für den Provider nicht ersichtlich sein soll, das man Tor nutzt, stimmt das?
Hi Hugo,
schön, dass du dich für das TOR Project interessierst.
Grundsätzlich müsstest du auch einfach in deinem Browser einen SOCKS5 Proxy eintragen können nur anstatt der festen IP einfach localhost.
Falls es darum geht OS weit eine Umleitung einzurichten, kann ich folgendes Projekt empfehlen:
https://github.com/SusmithKrishnan/torghost
Ich habe den Build Prozess auf dem Pi noch nicht getestet ist aber einen Versuch wert.
Viele Grüße
Fabio von BerryBase
Woher kann ich dieses Proxy Client finden? Mein Raspberry Pi hat das nicht anscheind
Hallo Paux,
schön, dass dich das Tor Projekt interessiert, und du es nachbauen soweit nachbauen konntest.
Könntest du zum debuggen die Rückgabe folgender Befehle posten?
sudo ls -la /var/log/tor/debug.tor
sudo cat /var/log/tor/debug.tor
Viele Grüße
Fabio von BerryBase
Hallo, ich bekomme diese fehler angezeigt:
pi@raspberrypi:~ $ sudo systemctl restart tor@default.service
Job for tor@default.service failed because the control process exited with error code.
See “systemctl status tor@default.service” and “journalctl -xe” for details.
pi@raspberrypi:~ $ systemctl status tor@default.service
● tor@default.service – Anonymizing overlay network for TCP
Loaded: loaded (/lib/systemd/system/tor@default.service; enabled-runtime; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2021-05-13 14:57:08 BST; 18s ago
Process: 622 ExecStartPre=/usr/bin/install -Z -m 02755 -o debian-tor -g debian-tor -d /run/tor (code=exited, status=0/SUCCESS)
Process: 623 ExecStartPre=/usr/bin/tor –defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc –RunAsDaemon
May 13 14:57:08 raspberrypi systemd[1]: tor@default.service: Service RestartSec=100ms expired, scheduling restart.
May 13 14:57:08 raspberrypi systemd[1]: tor@default.service: Scheduled restart job, restart counter is at 5.
May 13 14:57:08 raspberrypi systemd[1]: Stopped Anonymizing overlay network for TCP.
May 13 14:57:08 raspberrypi systemd[1]: tor@default.service: Start request repeated too quickly.
May 13 14:57:08 raspberrypi systemd[1]: tor@default.service: Failed with result ‘exit-code’.
May 13 14:57:08 raspberrypi systemd[1]: Failed to start Anonymizing overlay network for TCP.
lines 1-12/12 (END)
Achte bitte darauf, das deine PI-Adresse mit der eingegeben Adresse in der config deines Tor-Proxy, die gleiche ist.