Prérequis

Il faut suffisamment d'adresses IP pour ne pas faire tourner plus de deux instances Tor par adresse IP.

Étapes

  • Quelqu'un ouvre un ticket (discussion_needed).
  • Le passer en implementation_needed.
  • Arrêter Tor et désactiver l'instance par défaut :

      sudo systemctl stop tor.service
      sudo systemctl mask tor@default.service
    
  • Créer les utilisateurs système _tor-1 et _tor-2 avec leurs groupes respectifs et /var/lib/tor-instances/1 et 2 comme répertoires d'accueil. S'assurer des droits, propriétaires de groupes de ces répertoires (utiliser debian-tor comme modèle).

  • Ajouter les membres de l'équipe adminsys aux groupes _tor-1 et _tor-2 et les retirer du groupe debian-tor.
  • Créer les répertoires /etc/tor/instances/1 et 2
  • Déplacer le fichier de configuration etc/tor/torrc et le contenu de /var/lib/tor vers les emplacements correspondants de la première instance. Au besoin, modifier la configuration (ORPort, Nickname, etc).
  • Créer le fichier de configuration de la seconde instance.
  • Créer les Unit files dans /etc/systemd/system/multi-user.target.wants :

      sudo systemctl enable tor@1.service
      sudo systemctl enable tor@2.service
    
  • Démarrer les deux instances :

      sudo systemctl start tor.service
    
  • Ou les traiter séparément :

      sudo systemctl restart tor@1.service
    
  • Vérifier que ça fonctionne, par exemple avec arm (atlas et globe ne sont pas mis à jour assez fréquemment) :

      arm -s /run/tor-instances/1/control
    
  • Valider le tout avec sudo etckeeper commit.

  • Mettre à jour MyFamily sur les autres noeuds (on peut récupérer la fingerprint avec arm).
  • Mettre à jour le wiki-admin
  • Passer le ticket en review_needed

Précautions

  • Faire attention à ne pas perdre les clés, c'est bête de perdre l'historique du relai.
  • Ne pas binder sur les mêmes ports pour une IP, on privilégiera 443/80 mais s'ils sont déjà pris on prendra 9001/9030