Betreiber

Tor guesses its IP address by asking the computer for its hostname, and then resolving that hostname. Often people have old entries in their /etc/hosts file that point to old IP addresses.

If that doesn't fix it, you should use the "Address" config option to specify the IP you want it to pick. If your computer is behind a NAT and it only has an internal IP address, see the following Support entry on dynamic IP addresses.

Also, if you have many addresses, you might also want to set "OutboundBindAddress" so external connections come from the IP you intend to present to the world.

Wenn dein Relay neu ist gib ihm ein bisschen Zeit. Schau dir den Lebenszyklus eines Tor Relays an. Tor decides which relays it uses heuristically based on reports from Bandwidth Authorities. These authorities take measurements of your relay's capacity and, over time, directs more traffic there until it reaches an optimal load. The lifecycle of a new relay is explained in more depth in this blog post. If you've been running a relay for a while and still having issues then try asking on the tor-relays list.

If you allow exit connections, some services that people connect to from your relay will connect back to collect more information about you. For example, some IRC servers connect back to your identd port to record which user made the connection. (This doesn't really work for them, because Tor doesn't know this information, but they try anyway.) Also, users exiting from you might attract the attention of other users on the IRC server, website, etc. who want to know more about the host they're relaying through.

Another reason is that groups who scan for open proxies on the Internet have learned that sometimes Tor relays expose their socks port to the world. We recommend that you bind your socksport to local networks only.

In any case, you need to keep up to date with your security. See this article on security for Tor relays for more suggestions.

  • The exit relay is the most needed relay type but it also comes with the highest legal exposure and risk (and you should NOT run them from your home).
  • If you are looking to run a relay with minimal effort, fast guard relays are also very useful
  • Followed by bridges.

When an exit is misconfigured or malicious it's assigned the BadExit flag. This tells Tor to avoid exiting through that relay. In effect, relays with this flag become non-exits. If you got this flag then we either discovered a problem or suspicious activity when routing traffic through your exit and weren't able to contact you. Please reach out to the bad-relays team so we can sort out the issue.

When upgrading your Tor relay, or moving it on a different computer, the important part is to keep the same identity keys (stored in "keys/ed25519_master_id_secret_key" and "keys/secret_id_key" in your DataDirectory). Keeping backups of the identity keys so you can restore a relay in the future is the recommended way to ensure the reputation of the relay won't be wasted.

This means that if you're upgrading your Tor relay and you keep the same torrc and the same DataDirectory, then the upgrade should just work and your relay will keep using the same key. If you need to pick a new DataDirectory, be sure to copy your old keys/ed25519_master_id_secret_key and keys/secret_id_key over.

Note: As of Tor 0.2.7 we are using new generation identities for relays based on ed25519 elliptic curve cryptography. Eventually they will replace the old RSA identities, but that will happen in time, to ensure compatibility with older versions. Until then, each relay will have both an ed25519 identity (identity key file: keys/ed25519_master_id_secret_key) and a RSA identity (identity key file: keys/secret_id_key). You need to copy / backup both of them in order to restore your relay, change your DataDirectory or migrate the relay on a new computer.

Wir sind auf der Suche nach Leuten mit einer stabilen Internetverbindung, die mindestens 10 Mbit/s (Mbps) Up- und Downloadgeschwindigkeit hat. Wenn das auf dich zutrifft, beachte bitte den Tor Relay Guide.

Selbst wenn du keine 10 Mbit/s zur Verfügung hast kannst du dem Tor Netzwerk trotzdem helfen, indem du eine Tor bridge mit obfs4 Unterstützung betreibst. Dafür solltest du eine Mindestbandbreite von 1 Mbit/s haben.

You're right, for the most part a byte into your Tor relay means a byte out, and vice versa. But there are a few exceptions:

If you open your DirPort, then Tor clients will ask you for a copy of the directory. The request they make (an HTTP GET) is quite small, and the response is sometimes quite large. This probably accounts for most of the difference between your "write" byte count and your "read" byte count.

Another minor exception shows up when you operate as an exit node, and you read a few bytes from an exit connection (for example, an instant messaging or ssh connection) and wrap it up into an entire 512 byte cell for transport through the Tor network.

Hier sind ein paar Tipps falls dein Tor Relay zu viel Arbeitsspeicher verbraucht:

  • If you're on Linux, you may be encountering memory fragmentation bugs in glibc's malloc implementation. That is, when Tor releases memory back to the system, the pieces of memory are fragmented so they're hard to reuse. The Tor tarball ships with OpenBSD's malloc implementation, which doesn't have as many fragmentation bugs (but the tradeoff is higher CPU load). You can tell Tor to use this malloc implementation instead: ./configure --enable-openbsd-malloc.
  • If you're running a fast relay, meaning you have many TLS connections open, you are probably losing a lot of memory to OpenSSL's internal buffers (38KB+ per socket). We've patched OpenSSL to release unused buffer memory more aggressively. If you update to OpenSSL 1.0.0 or newer, Tor's build process will automatically recognize and use this feature.
  • If you still can't handle the memory load, consider reducing the amount of bandwidth your relay advertises. Advertising less bandwidth means you will attract fewer users, so your relay shouldn't grow as large. See the MaxAdvertisedBandwidth option in the man page.

All of this said, fast Tor relays do use a lot of ram. It is not unusual for a fast exit relay to use 500-1000 MB of memory.

Unser Ziel ist es die EInrichtung eines Tor Relays möglichst einfach zu machen:

  • Es ist in Ordnung wenn der Relay manchmal offline ist. Die Verzeichnisse merken das schnell und stellen keine Verbindungen mehr zu dem Relay her. Beachte nur, dass es nicht zu oft passiert, weil jedesmal die Verbindung die über den Relay läuft abbricht.
  • Jeder Tor Relay hat eine exit policy die genau festlegt, welche Ausgansverbindungen auf dem Relay erlaubt oder verboten sind. Wenn du dir nicht sicher bist ob du einen Exit Relay betreiben möchtest, solltest du Verbindunge nur zu anderen Tor Relays erlauben.
  • Dein Relay schätzt die Bandbreitenkapazität und tauscht diese mit dem Tor Netzwerk aus. Relays mit hoher Bandbreite ziehen mehr Benutzer an. Trotzdem sind auch Relays mit geringer Bandbreite nützlich.

Wenn du Debian oder Ubuntu verwendest hat es viele Vorteile Tor aus dem Tor Project's Repository zu installieren.

  • Dein ulimit -n wird auf 32768 gesetzt. Genug um alle Verbindungen offen zu halten, die Tor verwendet.
  • Weil extra ein Nutzerprofil nur für Tor erstellt wird muss Tor nicht als root ausgeführt werden.
  • Ein init Skript ist eingebaut, damit Tor sofort läuft.
  • Tor funktioniert mit --verify-config, sodass die meisten Probleme mit deiner Konfigurationsdatei erkannt werden.
  • Tor can bind to low level ports, then drop privileges.

Alle ausgehenden Verbindungen müssen erlaubt sein, sodass jeder Relay mit den anderen Relays kommunizieren kann.

In vielen Rechtssystemen sind Tor Relay Betreiber rechtlich durch die gleichen Bestimmungen geschützt, die verhindern, dass Provider für Inhalte Dritter, die durch ihr Netzwerk laufen, haftbar gemacht werden können. Exit Relays die einen Teil des Datenverkehrs filtern verlieren möglicherweise diesen Schutz.

Tor fördert den freien Netzwerkzugang. Exit Relays müssen den Datenverkehr der über sie ins Internet läuft nicht filtern. Wenn wir entdecken, dass ein Exit Relay den Datenverkehr filtert, bekommt er von uns die BadExit flag.

Nein. Wenn sich Strafverfolgungsbehörden für Verbindungen von einem Austrittsknoten interessieren, kann es vorkommen, dass der Computer beschlagnahmt wird. Aus diesem Grund ist es nicht zu empfehlen, einen Austritts-Knoten von zu Hause zu betreiben.

Verwende für einen Ausgangs-Knoten stattdessen eine kommerzielle Einrichtung, die Tor unterstützt. Benutze eine eigene IP-Adresse für jeden Austrittsknoten und benutze ihn nicht für eigene Verbindungen. Selbstverständlich solltest du es vermeiden, sensitive persönliche Informationen auf dem Computer des Exit-Relays zu speichern.

Schau dir unser obfs4 setup guide um mehr über das Betreiben einer obfs4 bridge zu lernen.

  • Benutze keine Pakete in Ubuntu-Quellen. Diese werden nicht verlässlich aktualisiert. Wenn du sie benutzt, wirst du wichtige Stabilitäts- und Sicherheits-Fehlerkorrekturen verpassen.
  • Ermittle deine Ubuntu-Version mit folgendem Befehl:
     $ lsb_release -c
    
  • Füge als root die folgenden Zeilen zu /etc/apt/sources.list hinzu. Ersetze "Version" durch die Version, die du im vorherigen Schritt gefunden hast:
     $ deb https://deb.torproject.org/torproject.org version main
     $ deb-src https://deb.torproject.org/torproject.org version main
    
  • Füge den GPG-Schlüssel, der zum Signieren des Pakets verwendet wurde, mit folgendem Befehl hinzu:
     $ curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | sudo apt-key add -
    
  • Führe folgenden Befehl aus, um Tor zu installieren und die Signaturen zu überprüfen:
     $ sudo apt-get update
     $ sudo apt-get install tor deb.torproject.org-keyring
    

Die ausführlichsten Informationen zum Betreiben eines Relays findest im Relay Setup Guide.

In einfachen Worten funktioniert es so:

  • Es gibt eine master ed25519 identity secret key Datei "ed25519_master_id_secret_key". Das ist das wichtigste, daher solltest du ein Backup machen und die Datei an einem sicheren Ort aufbewahren. Tor kann es für dich entschlüsseln wenn du es manuell erzeugst (wenn gefragt gib ein Passwort ein).
  • Ein medium term signing key ist "ed25519_signing_secret_key", der für Tor gerneriert wird. Ebenso wird ein Zertifikat erstellt "ed25519_signing_cert", dass von dem master identity secret key signiert wird und sicherstellt, dass der medium term signing key für einen bestimmten Zeitraum validiert ist. Die standardmäßige Gültigkeit beträgt 30 Tage. Das kann in der torrc Datei angepasst werden mit "SigningKeyLifetime N days|weeks|months".
  • Es gibt ebenfalls einen master public key "ed25519_master_id_public_key", der die tatsächliche Identität des Relays im Netzwerk bewirbt. Dieser ist nicht empfindlich und kann aus dem "ed5519_master_id_secret_key" errechnet werden.

Tor will only need access to the medium term signing key and certificate as long as they are valid, so the master identity secret key can be kept outside DataDirectory/keys, on a storage media or a different computer. Du musst den medium term signing key und das Zertifikat manuell erneuern bevor es ausläuft, sonst wird der Tor Prozess nach Ablauf auf dem Relay beendet.

This feature is optional, you don't need to use it unless you want to. If you want your relay to run unattended for longer time without having to manually do the medium term signing key renewal on regular basis, best to leave the master identity secret key in DataDirectory/keys, just make a backup in case you'll need to reinstall it. Wenn du diese Funktion nutzen möchtest, kannst du den detaillierteren Guide lesen.

Since it's now a guard, clients are using it less in other positions, but not many clients have rotated their existing guards out to use it as a guard yet. Lese mehr Details in diesem Blogpost oder in Changing of the Guards: A Framework for Understanding and Improving Entry Guard Selection in Tor.

Großartig. Wenn du mehrere Relays betreiben willst um das Netzwerk noch besser zu unterstützen freut uns das. Bitte betreibe nicht mehr als ein paar Dutzend im gleichen Netzwerk, denn Teil des Ziels des Tor Netzwerks ist es dezentral und vielfältig zu sein.

Wenn du dich dazu entscheidest mehr als einen Relay zu betreiben, dann verändere bitte die "MyFamily" Konfiguration Option in der torrc Datei bei jedem Relay. Liste alle Relays (durch Komma getrennt) die unter deiner Kontrolle stehen auf:

MyFamily $fingerprint1,$fingerprint2,$fingerprint3

wo jeder Fingerabdruck der 40 Zeichen Fingerabdruck ist (ohne Leerzeichen)

Dadurch wissen Tor Clients welche Relays zusammen gehören und können so vermeiden, dass sie nicht mehr als einen deiner Relays zusammen verwenden. Du solltest MyFamily für deine Relays einstellen wenn du Kontrolle über den Computer und/oder das Netzwerk hast. Auch wenn die Relays über verschiedene Provider und Standorte verteilt sind.

Die accounting Option in der torrc Datei ermöglichen es ihnen die maximale Menge an Bytes die in einer bestimmten Zeitspanne verwendet werden anzugeben.

    AccountingStart day week month [day] HH:MM

This specifies when the accounting should reset. For instance, to setup a total amount of bytes served for a week (that resets every Wednesday at 10:00am), you would use:

    AccountingStart week 3 10:00
    AccountingMax 500 GBytes

Dies gibt die maximale Datenmenge an die ihr Relay während einer Abrechnungsperiode senden/verwenden darf. Wenn der Abrechnungszeitraum vorbei ist (von AccountingStart), wird der Zähler für AccountingMax auf 0 gesetzt.

Beispiel: Du möchtest jeden Tag 50 GB Traffic erlauben und die Abrechnung setzt sich jeden nachmittag zurück:

    AccountingStart day 12:00
    AccountingMax 50 GBytes

Beachte, dass dein Relay nicht genau zu Beginn des Abrechnungszeitraumes starten wird. Es wird gespeichert, wie schnell dein Relay seine maximale Bandbreite ausgeschöpft hat und dann wird ein neuer zufälliger Zeitpunkt in dem neuen Zeitraum gewählt, wann der Relay startet. Dadurch verhindern wir, dass nicht hunderte Relays Ende des Monats ihren Betrieb einstellen.

If you have only a small amount of bandwidth to donate compared to your connection speed, we recommend you use daily accounting, so you don't end up using your entire monthly quota in the first day. Teilen sie einfach ihr monatliches Volumen durch 30. Sie können auch die Bandbreite begrenzen um ihren Beitrag am Tor Netzwerk über den ganzen Tag zu verteilen: Wenn sie X GB in jede Richtung anbieten wollen, dann begrenzen sie die Bandbreite für ihren Relay auf 20*X KBytes. Wenn sie zum Beispiel 50 GB Volumen in jede Richtung haben, dann setzten sie die Bandbreite ihres Relays auf 1000 KBytes: Dadurch ist ihr Relay immer für mindestens die Hälfte des Tages nützlich.

    AccountingStart day 0:00
    AccountingMax 50 GBytes
    RelayBandbreite 1000 KBytes
    RelayBandwidthBurst 5000 KBytes # erlaube höhere Bursts behalte aber den Durchschnit bei

Tor bietet teilweise Unterstützung für IPv6 und wir ermutigen jeden Relay Betreiber [IPv6] (https://trac.torproject.org/projects/tor/wiki/TorRelayGuide#IPv6) in seiner torrc Datei zu aktivieren wenn IPv6 verfügbar ist. Momentan setzt Tor IPv4 Adressen auf den Relays voraus. Es ist nicht möglich einen Tor Relay auf einem Server nur mit IPv6 Adressen zu betreiben.

Die Werte die in AccountingMax und BandwidthRate festgelegt werden gelten sowohl für Client als auch die Übermittlungsfunktion von Tor. Deshalb kann es sein, dass du nicht mehr surfen kannst sobald dein Tor im Ruhezustnad ist. Dann steht folgendes im Protokoll:

Bandwidth soft limit reached; commencing hibernation. No new
    connections will be accepted

Die Lösung ist es zwei Tor Prozesse laufen zu lassen - einen Relay und einen Client, jeder mit passender Konfiguration. Eine Möglichkeit es zu machen (wenn du mit einem laufenden Relay Setup beginnst) ist wie folgt:

  • In der Relay Tor torrc Datei, setze einfach den SocksPort auf 0.
  • Erstelle eine neue torrc Datei aus dem torrc,beispiel und stelle sicher, dass sie eine andere Datei als das Relay verwenden. Ein Name könnte torrc.client oder torrc.relay sein.
  • Fügen sie -f /path/to/correct/torrc in die Startskripte des Clients und des Relays ein.
  • Die Veränderung der Startskripte zu Tor.client und Tor.relay in Linux/BSD/Mac OS X kann die Trennung der config erleichtern.

Großartig. Genau deshalb haben wir exit Policies eingebaut.

Jeder Tor Relay hat eine exit policy, die festlegt welche Art von ausgehender Verbindungen zugelassen oder abgelehnt werden. Über das Verzeichnis sieht Tor die exit policies der Relays und sorgt so dafür, dass die Clients keine exit Relays wählen, die die Verbindung zu ihrem Ziel verhindern würden. Dadurch kann jeder Relay entscheiden, zu welchen Services und Netzwerken er sich verbinden will, basierend auf dem Missbrauchspotential und seiner eigenen Situation. Read the Support entry on issues you might encounter if you use the default exit policy, and then read Mike Perry's tips for running an exit node with minimal harassment.

Die standardmäßigen Exit Richtlinien (z.B. Internetsurfen) erlauben den Zugriff auf viele bekannte Dienste aber unterbinden manche wegen Missbrauchspotential (z.B. E-Mail) und manche weil das Tor Netzwerk die Bandbreite nicht verarbeiten kann (z.B. Dateisharing). Du kannst deine Exit Richtlinien in deiner torrc Datei festlegen. Wenn du du das meiste Missbrauchspotential vermeiden möchtest dann setze "reject :" ein. Diese Einstellung bedeutet, dass ihr Relay für die Übermittlung von Datenverkehr innerhalb des Tor Netzwerkes verwendet wird, aber nicht für Verbindungen zu externen Websiten oder anderen Diensten.

Wenn du alle Exit Verbindungen erlaubst, stelle sicher, dass die Namensauflösung funktioniert. Wenn dein Computer irgendwelche Ressourcen nicht erreichen kann (bspw. weil er sich hinter einer Firewall oder einem Inhaltsfilter befindet), solltest du diese explizit in deinen Exit Richtlinien verbieten, da sonst auch andere Tor Nutzer betroffen sind.

Tor kann Relays mit dynamischer IP-Adresse gut einbinden. Lass die "Adress" Zeile in deiner torrc  Datei einfach frei und Tor wird sie erraten.

Ja, deine Anonymität erhöht sich für manche Angriffe.

Das beste Beispiel ist ein Angreifer der eine kleine Anzahl Tor Relays betreibt. Sie sehen eine Verbindung von dir aber sie sehen nicht ob die Anfrage ursprünglich von dir oder von jemand anderem übermittelt wurde.

Es gibt einige Fälle in denen es nicht hilft: Wenn ein Angreifer ihren gesamten ein- und ausgehenden Verkehr beobachten kann, dann ist es sehr leicht für ihn zu sehen welche Verbindungen von Ihnen kommen und welche sie nur weiterleiten. (In diesem Fall wissen sie aber immer noch nicht dein Ziel, solange sie die nicht auch beobachten. Trotzdem wären bist du immer noch genauso unterwegs wie ein normaler Websitenbesucher.

Es gibt auch einige Nachteile beim betreiben eines Tor Relays. Anfangs, als wir nur ein paar hundert Relays hatten, konnte die Tatsache, dass sie einen betreiben einem Angreifer zeigen, dass sie großen Wert auf Anonymität legen. Second, there are some more esoteric attacks that are not as well-understood or well-tested that involve making use of the knowledge that you're running a relay -- for example, an attacker may be able to "observe" whether you're sending traffic even if they can't actually watch your network, by relaying traffic through your Tor relay and noticing changes in traffic timing.

Es ist noch unerforscht, ober der Nutzen die Risiken überwiegt. Das meiste hängt von den Angriffen ab, über die du dir am meisten Sorgen machst. Wir denken, dass das für die meisten Nutzer ein wichtiger Schritt ist.

Für eine Anleitung wie du mit deinem NAT/Router Ports weiterleiten kannst, lese dir portforward.com](https://portforward.com/) durch.

Wenn dein Relay in einem internen Netzwerk läuft, musst du die Portweiterleitung einstellen. Die Weiterleitung von TCP Verbindungen ist systemabhängig. Die Firewall Client FAQs zeigen wie es funktioniert.

Hier ist ebenfalls ein Beispiel wie du es unter GNU/Linux machen solltest, wenn du iptables verwendest:

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 9001 -j ACCEPT

Möglicherweise musst du "eth0" ändern, wenn du eine andere externe Schnitstelle hast (die, die mit dem Internet verbunde ist). Chances are you have only one (except the loopback) so it shouldn't be too hard to figure out.

Es gibt zwei Optionen die du in deine torrc Datei schreiben kannst:

BandwidthRate is die maximal erlaubte Bandbreite (bytes pro Sekunde). Du willst beispielsweise "BandwidthRate 10 MBytes" für 10 Megabyte pro Sekunde einstellen (eine schnelle Verbindung) oder "BandwidthRate 500 KBytes" für 500 Kilobytes pro Sekunde (eine gute Kabelverbindung). Die minmale Bandbreitenrate liegt bei 75 Kilobytes pro Sekunde.

BandwidthBurst is a pool of bytes used to fulfill requests during short periods of traffic above BandwidthRate but still keeps the average over a long period to BandwidthRate. Eine langsame Bandbreite aber ein hoher Burst erzwingen einen langfristigen Durchschnitt, damit ungenutzte Bandbreite zu Spitzenzeiten genutzt werden kann. Wenn du beispielsweise "BandwidthBurst 500 KBytes" wählst und das auch für deine Bandbreitenrate benutzt, wirst du nie mehr als 500 Kilobytes pro Sekunde erreichen. Aber wenn du einen höheren Bandbreitenburst (z.B. 5 MBytes) nimmst, dann kann eine höhere Geschwindigkeit erreicht werden bis der Burst aufgebraucht ist.

Wenn du eine asymmetrische Verbindung hast (Upload geringer als Download), solltest du die Bandbreitenrate auf maximal die maximale Uploadrate setzen. Otherwise, you could drop many packets during periods of maximum bandwidth usage - you may need to experiment with which values make your connection comfortable. Dann setze den Bandbreitenburst auf den selben Wert wie die Bandbreitenrate.

Tor Relays die auf Linux basieren haben eine weitere Option: Sie können den ihren persönlichen Verkehr priorisieren, sodass dieser nicht durch die Tor Last beeinträchtigt wird. Dafür gibt es ein Skript, dass sich im Contrib Verzeichnis der Tor-Quelldistribution befindet.

Es gibt zusätzliche Optionen, bei denen sie festlegen können, dass nur eine bestimmte Trafficmenge pro Zeitperiode (z.B. 100 GB pro Monat) verwendet werden.

Beachte, dass die Bandbreitenrate und der Bandbreitenburst in Bytes und nicht in Bits angegeben wird.