# VPN über Tor

Um einen VPN-Server mit WireGuard einzurichten, der den ausgehenden Traffic über das Tor-Netzwerk leitet, sind mehrere Schritte erforderlich. Hier ist eine allgemeine Anleitung, wie Sie dies umsetzen können:

\### Voraussetzungen  
\- Ein Server (z. B. ein VPS) mit einem Linux-Betriebssystem (z. B. Ubuntu).  
\- Grundkenntnisse in der Verwendung der Kommandozeile.  
\- Root-Zugriff auf den Server.

\### Schritt 1: WireGuard installieren

1\. \*\*Server aktualisieren\*\*:  
 ```bash  
 sudo apt update  
 sudo apt upgrade  
 ```

2\. \*\*WireGuard installieren\*\*:  
 ```bash  
 sudo apt install wireguard  
 ```

\### Schritt 2: WireGuard konfigurieren

1\. \*\*Schlüssel generieren\*\*:  
 ```bash  
 umask 077  
 wg genkey | tee privatekey | wg pubkey &gt; publickey  
 ```

2\. \*\*WireGuard-Konfigurationsdatei erstellen\*\*:  
 Erstellen Sie eine Datei `/etc/wireguard/wg0.conf` und fügen Sie Folgendes hinzu:  
 ```ini  
 \[Interface\]  
 PrivateKey = &lt;Ihr privater Schlüssel&gt;  
 Address = 10.0.0.1/24 # VPN-Subnetz  
 ListenPort = 51820

 \[Peer\]  
 PublicKey = &lt;Öffentlicher Schlüssel des Clients&gt;  
 AllowedIPs = 10.0.0.2/32 # IP des Clients  
 ```

3\. \*\*WireGuard aktivieren\*\*:  
 ```bash  
 sudo wg-quick up wg0  
 ```

\### Schritt 3: Tor installieren

1\. \*\*Tor installieren\*\*:  
 ```bash  
 sudo apt install tor  
 ```

2\. \*\*Tor konfigurieren\*\*:  
 Bearbeiten Sie die Tor-Konfigurationsdatei `/etc/tor/torrc` und fügen Sie Folgendes hinzu:  
 ```ini  
 SocksPort 9050  
 ```

3\. \*\*Tor-Dienst starten\*\*:  
 ```bash  
 sudo systemctl start tor  
 sudo systemctl enable tor  
 ```

\### Schritt 4: Traffic über Tor leiten

1\. \*\*IP-Forwarding aktivieren\*\*:  
 Bearbeiten Sie die Datei `/etc/sysctl.conf` und stellen Sie sicher, dass die folgende Zeile nicht auskommentiert ist:  
 ```ini  
 net.ipv4.ip\_forward=1  
 ```  
 Wenden Sie die Änderungen an:  
 ```bash  
 sudo sysctl -p  
 ```

2\. \*\*iptables-Regeln hinzufügen\*\*:  
 Fügen Sie die folgenden iptables-Regeln hinzu, um den Traffic über Tor zu leiten:  
 ```bash  
 sudo iptables -t nat -A POSTROUTING -o tor0 -j MASQUERADE  
 sudo iptables -A FORWARD -i wg0 -o tor0 -j ACCEPT  
 sudo iptables -A FORWARD -i tor0 -o wg0 -m state --state ESTABLISHED,RELATED -j ACCEPT  
 ```

3\. \*\*Routing für WireGuard konfigurieren\*\*:  
 Bearbeiten Sie die WireGuard-Konfigurationsdatei `/etc/wireguard/wg0.conf` und fügen Sie die folgende Zeile hinzu:  
 ```ini  
 PostUp = iptables -t nat -A POSTROUTING -o tor0 -j MASQUERADE  
 PostDown = iptables -t nat -D POSTROUTING -o tor0 -j MASQUERADE  
 ```

\### Schritt 5: Client konfigurieren

1\. \*\*Client-Schlüssel generieren\*\* (auf dem Client):  
 ```bash  
 umask 077  
 wg genkey | tee privatekey | wg pubkey &gt; publickey  
 ```

2\. \*\*Client-Konfigurationsdatei erstellen\*\*:  
 Erstellen Sie eine Datei (z. B. `wg0-client.conf`) und fügen Sie Folgendes hinzu:  
 ```ini  
 \[Interface\]  
 PrivateKey = &lt;Ihr privater Schlüssel des Clients&gt;  
 Address = 10.0.0.2/24 # IP des Clients

 \[Peer\]  
 PublicKey = &lt;Öffentlicher Schlüssel des Servers&gt;  
 Endpoint = &lt;Server-IP&gt;:51820  
 AllowedIPs = 0.0.0.0/0 # Leitet gesamten Traffic über den VPN  
 ```

3\. \*\*Client aktivieren\*\*:  
 ```bash  
 sudo wg-quick up wg0-client  
 ```

\### Schritt 6: Testen

\- Überprüfen Sie, ob der Client erfolgreich mit dem Server verbunden ist.  
\- Testen Sie, ob der Traffic über das Tor-Netzwerk geleitet wird, indem Sie eine Website wie `check.torproject.org` besuchen.

\###