Alle Internetverbindungen vom LAN über Tor leiten

WARNUNG: Bitte folgen Sie allen Schritten genau und der Reihe nach, sonst könnten Sie den Zugriff auf LuCI verlieren! Es wird dringend empfohlen, vorher eine SSH-Verbindung herzustellen; falls Sie den Zugriff auf LuCI verlieren, können Sie die Änderungen rückgängig machen.

WARNUNG: Dieses Verfahren wurde auf dem GL.iNet Flint 2 (GL-MT6000) getestet, es wird jedoch keine universelle Funktionsgarantie übernommen. Wenn ein Schritt ungewöhnlich oder unklar erscheint, brechen Sie sofort ab und machen Sie alle Änderungen rückgängig.

WARNUNG: Diese Anleitung wurde verfasst, nachdem der Router des Autors anscheinend korrekt funktionierte. Es können dennoch Probleme auftreten, und die Sicherheit ist nicht garantiert, da einige Daten möglicherweise geleakt werden. Der Autor übernimmt keine Verantwortung für Folgen, die aus der Befolgung dieser Anleitung entstehen.

Diese Anleitung erklärt, wie man allen Internetverkehr vom LAN über Tor leitet. Das Verfahren wurde auf OpenWrt 24.10 getestet.

Mit Ausnahme der Tor-Konfiguration können alle Schritte über LuCI durchgeführt werden, SSH ist nicht erforderlich.

Schritt 1: Tor installieren und konfigurieren

Installieren Sie zuerst Tor auf Ihrem Router:

 # opkg update
 # opkg install tor

Konfigurieren Sie Tor nach Ihren Anforderungen, aber stellen Sie sicher, dass Ihre torrc mindestens Folgendes enthält:

TransPort 0.0.0.0:9040
VirtualAddrNetworkIPv4 10.192.0.0/10
AutomapHostsOnResolve 1

Für erhöhte Sicherheit können Sie alternativ die IP-Adresse Ihres Routers auf der lan-Schnittstelle für TransPort verwenden, sofern Sie nur eine Schnittstelle weiterleiten.

Schritt 2: DNSCrypt einrichten

Ich habe DNSCrypt mit der Anleitung hier eingerichtet. Die fünf Befehle unter Using the command line funktionierten bei mir einwandfrei, LuCI kann jedoch ebenfalls für die Konfiguration verwendet werden.

Öffnen Sie System -> Software, suchen Sie nach dnscrypt-proxy2 und installieren Sie es. Gehen Sie dann zu Network -> DHCP and DNS -> Forwards -> DNS Forwards und fügen Sie 127.0.0.53 hinzu. Öffnen Sie danach System -> Startup und starten Sie dnsmasq neu.

Wenn Sie DNSCrypt nicht verwenden möchten, müssen Sie DNSPort in Ihrer torrc hinzufügen und in DNS Forwards konfigurieren. Ich habe diese Methode nicht getestet, die Nutzung von DNSCrypt wird jedoch empfohlen.

Schritt 3: Firewall-Regeln hinzufügen (WICHTIG — GENAU FOLGEN)

Öffnen Sie Firewall -> IP sets und erstellen Sie folgendes IP-Set:

  • Name: tor_bypass

  • Family: IPv4

  • Packet Field Match: dest_ip

  • IPs/Networks/MACs:

    • Die IP-Adresse des Routers auf Ihrer Schnittstelle
    • 192.168.10.1/16
    • 10.0.0.0/8
    • 172.16.0.0/12
    • 127.0.0.1/32
  • Alle anderen Felder unverändert lassen

Öffnen Sie Firewall -> Port Forwards und fügen Sie diese Regel hinzu:

  • General Settings:

    • Name: tor-trans-forward (oder ein beliebiger Name Ihrer Wahl)
    • Restrict to address family: IPv4 only
    • Protocol: TCP
    • Source zone: lan (oder eine andere Zone, deren Verkehr Sie umleiten möchten)
    • External port: 1–65535
    • Destination zone: lan (muss mit der Source zone übereinstimmen)
    • Internal IP address: Die IP-Adresse des Routers auf Ihrer Schnittstelle
    • Internal port: 9040
  • Advanced Settings:

    • Use ipset: !tor_bypass (DAS AUSRUFEZEICHEN NICHT WEGLASSEN)
    • Alle anderen Felder unverändert lassen

Öffnen Sie Firewall -> Traffic Rules und fügen Sie diese Regel hinzu:

  • General Settings:

    • Name: Block non-TCP traffic (oder ein Name Ihrer Wahl)
    • Protocol: UDP, ICMP, IGMP, IPSEC-ESP
    • Source zone: lan (muss mit der Port Forward Source zone übereinstimmen)
    • Destination zone: wan
    • Action: reject
    • Alle anderen Felder unverändert lassen
  • Advanced Settings:

    • Alle Felder unverändert lassen

Wenn Ihr Gerät IPv6 aktiviert hat, müssen Sie es deaktivieren oder blockieren. Öffnen Sie Firewall -> Traffic Rules und fügen Sie diese Regel hinzu:

  • General Settings:

    • Name: Block IPv6 (oder ein Name Ihrer Wahl)
    • Protocol: Any
    • Source zone: lan
    • Destination zone: wan
    • Action: reject
    • Alle anderen Felder unverändert lassen
  • Advanced Settings:

    • Restrict to address family: IPv6 only
    • Alle anderen Felder unverändert lassen

Wiederholen Sie diesen Schritt für alle weiteren Schnittstellen, deren Verkehr über Tor geleitet werden soll.

Schritt 4: Konfiguration speichern und überprüfen

Klicken Sie auf Save & Apply.

Besuchen Sie https://check.torproject.org/ und/oder https://myip.wtf/, um zu überprüfen, ob Ihr Verkehr korrekt geleitet wird.

Besuchen Sie https://ipv6.myip.wtf/, um sicherzustellen, dass IPv6 korrekt blockiert ist.

Prüfen Sie, ob LuCI weiterhin zugänglich ist.

Wenn alles ordnungsgemäss funktioniert, ist die Konfiguration abgeschlossen.

Andernfalls machen Sie Ihre Änderungen in /etc/config/firewall mit einem Texteditor rückgängig. Es wird empfohlen, Hilfe im Kanal #openwrt auf Libera.Chat einzuholen.