Acheminer tout le trafic Internet du LAN vers Tor

ATTENTION : Veuillez suivre toutes les étapes précisément et dans l’ordre, sinon vous risquez de perdre l’accès à LuCI ! Il est fortement recommandé d’établir une connexion SSH au préalable ; si vous perdez l’accès à LuCI, vous pourrez annuler les modifications.

ATTENTION : Cette procédure a été testée sur le GL.iNet Flint 2 (GL-MT6000), mais son fonctionnement n’est pas garanti sur tous les appareils. Si une étape semble inhabituelle ou peu claire, arrêtez immédiatement et annulez toutes les modifications.

ATTENTION : Ce guide a été rédigé après que le routeur de l’auteur semblait fonctionner correctement. Des problèmes peuvent encore survenir, et la sécurité n’est pas garantie, car certains trafics peuvent fuir. L’auteur décline toute responsabilité pour les conséquences éventuelles liées à l’utilisation de ce guide.

Ce guide explique comment acheminer tout le trafic Internet du LAN via Tor. La procédure a été testée sur OpenWrt 24.10.

À l’exception de la configuration de Tor, toutes les étapes peuvent être effectuées via LuCI, et SSH n’est pas nécessaire.

Étape 1 : Installer et configurer Tor

Commencez par installer Tor sur votre routeur :

 # opkg update
 # opkg install tor

Configurez Tor selon vos besoins, mais assurez-vous que votre torrc contient au moins ce qui suit :

TransPort 0.0.0.0:9040
VirtualAddrNetworkIPv4 10.192.0.0/10
AutomapHostsOnResolve 1

Pour plus de sécurité, vous pouvez alternativement utiliser l’adresse IP de votre routeur sur l’interface lan pour TransPort, à condition que vous n’ayez qu’une seule interface à rediriger.

Étape 2 : Configurer DNSCrypt

J’ai configuré DNSCrypt en suivant le guide disponible ici. Les cinq commandes listées dans la section Using the command line ont fonctionné correctement pour moi, bien que LuCI puisse également être utilisé pour la configuration.

Ouvrez System -> Software, recherchez dnscrypt-proxy2 et installez-le. Ensuite, allez dans Network -> DHCP and DNS -> Forwards -> DNS Forwards et ajoutez 127.0.0.53. Puis, ouvrez System -> Startup et redémarrez dnsmasq.

Si vous ne souhaitez pas utiliser DNSCrypt, vous devez ajouter DNSPort dans votre torrc et le configurer dans DNS Forwards. Je n’ai pas testé cette méthode, et l’utilisation de DNSCrypt est recommandée.

Étape 3 : Ajouter les règles du pare-feu (IMPORTANT — SUIVRE PRÉCISÉMENT)

Ouvrez Firewall -> IP sets et créez l’IP set suivant :

  • Name: tor_bypass

  • Family: IPv4

  • Packet Field Match: dest_ip

  • IPs/Networks/MACs:

    • L’adresse IP du routeur sur votre interface
    • 192.168.10.1/16
    • 10.0.0.0/8
    • 172.16.0.0/12
    • 127.0.0.1/32
  • Laissez tous les autres champs inchangés

Ouvrez Firewall -> Port Forwards et ajoutez cette règle :

  • General Settings:

    • Name: tor-trans-forward (ou tout autre nom de votre choix)
    • Restrict to address family: IPv4 only
    • Protocol: TCP
    • Source zone: lan (ou une autre zone dont vous souhaitez rediriger le trafic)
    • External port: 1–65535
    • Destination zone: lan (doit correspondre à la zone Source)
    • Internal IP address: l’adresse IP du routeur sur votre interface
    • Internal port: 9040
  • Advanced Settings:

    • Use ipset: !tor_bypass (NE PAS OUBLIER LE POINT D’EXCLAMATION)
    • Laissez tous les autres champs inchangés

Ouvrez Firewall -> Traffic Rules et ajoutez cette règle :

  • General Settings:

    • Name: Block non-TCP traffic (ou un nom de votre choix)
    • Protocol: UDP, ICMP, IGMP, IPSEC-ESP
    • Source zone: lan (doit correspondre à la zone Source de votre Port Forward)
    • Destination zone: wan
    • Action: reject
    • Laissez tous les autres champs inchangés
  • Advanced Settings:

    • Laissez tous les champs inchangés

Si votre appareil a IPv6 activé, vous devez le désactiver ou le bloquer. Ouvrez Firewall -> Traffic Rules et ajoutez cette règle :

  • General Settings:

    • Name: Block IPv6 (ou un nom de votre choix)
    • Protocol: Any
    • Source zone: lan
    • Destination zone: wan
    • Action: reject
    • Laissez tous les autres champs inchangés
  • Advanced Settings:

    • Restrict to address family: IPv6 only
    • Laissez tous les autres champs inchangés

Répétez cette étape pour toute interface supplémentaire dont le trafic doit passer par Tor.

Étape 4 : Sauvegarder et vérifier la configuration

Cliquez sur Save & Apply.

Visitez https://check.torproject.org/ et/ou https://myip.wtf/ pour vérifier que votre trafic est correctement acheminé.

Visitez https://ipv6.myip.wtf/ pour confirmer que IPv6 est correctement bloqué.

Vérifiez que LuCI reste accessible.

Si tout fonctionne correctement, la configuration est terminée.

Sinon, annulez vos modifications dans /etc/config/firewall à l’aide d’un éditeur de texte. Il est recommandé de demander de l’aide sur #openwrt sur Libera.Chat.