Chez nos-oignons, nous faisons tourner plusieurs relais de sortie tor à haute
capacité, et comme nous sommes en 2020, la plupart ont de l'IPv6. Tout allait
bien, jusqu'à ce qu'on se penche sur le cas
d'elenagb,
notre nœud hébergé chez Aquilenet, et nommé
d'après la professeure et écrivaine italienne Elena Gianini Belotti. En effet, le consensus
pensait que son exit policy était reject *:*
, alors que nous voulions qu'il
soit un relai de sortie. La seule différence avec nos autre relais était que
comme notre hébergeur ne nous attribuait pas l'IPv4, nous nous étions mis
d'accord pour n'avoir que du trafic sortant du réseau tor en IPv6. Il y avait
donc, quelque part, sûrement, un soucis de configuration. Le torrc
ressemblait à ça. En partant du principe que tout le reste soit correctement
configuré (ORPort
, address
, …), arrivez-vous à débusquer l'erreur?
# No exit in ipv4
ExitPolicy reject *:*
# Reduced exit policy in IPv6
ExitPolicy accept6 *:20-23 # FTP, SSH, telnet
…
ExitPolicy accept6 *:64738 # Mumble
ExitPolicy reject6 *:*
L'astuce comme souligné dans le ticket 16069 est que la configuration reject
*:*
rejette l'IPv4 ainsi que l'IPv6 pour des raisons historiques. À ce
sujet, la documentation indique :
Les entrées
accept6
etreject6
affectent seulement les politiques de sortie Ipv6. Utiliser des IPv4 avecaccept6
etreject6
sera ignoré et générera une alerte. Les entréesaccept
/reject
permettent de prendre en compte l'IPv4 ainsi que l'IPv6. Utiliser*4
comme adresse IPv4 générique, et*6
comme IPv6 générique.accept
/reject *
sont utilisés comme générique concernant IPv4 et IPv6.
La bonne configuration ressemblerait donc plutôt à ceci:
# No exit in ipv4
ExitPolicy reject *4:*
# Reduced exit policy in IPv6
ExitPolicy accept6 *:20-23 # FTP, SSH, telnet
ExitPolicy accept6 *:43 # WHOIS
…
ExitPolicy accept6 *:64738 # Mumble
ExitPolicy accept6 *:64738 # Mumble
ExitPolicy reject6 *:*
Une bonne partie de la soirée fût passée à s'user les yeux sur le problème, et évidement, aussitôt le mystère résolu, notre hébergeur nous a informé que l'IPv4 nous était maintenant correctement attribuée, et qu'elenagb pouvait donc avoir du trafic sortant de tor à la fois en IPv4 et en IPv6.