Seedbox-Server, seedbox, pizza-load.to
Seedbox-Server, seedbox, pizza-load.to
Bildquelle: Mike van den Bos, thx!, Lizenz

Seedbox-Server mit VPN für Bittorrent einrichten (Tutorial)

In diesem Tutorial erklären wir, wie ihr eine private Seedbox für Torrents inklusive VPN einrichten könnt, mit Desktop und xRDP-Unterstüzung.

In den heutigen Zeiten, in denen Abmahnungen und Spionage im Internet vorherrscht, erkläre ich euch, wie ihr einen Seedbox-Server einrichtet. Ihr könnt euch dabei vor Abmahnungen schützen, indem ihr zusätzlich eine VPN-Verbindung für ausgehende Verbindungen nutzt. Das Thema wurde in den letzten Wochen häufiger im Forum von Tarnkappe.info angesprochen. Vor allem, wenn es um das Thema geschlossene Bittorrent-Tracker (Anti-Leech-Tracker = ALT) als Alternative zum Usenet oder zu Sharehostern ging.

Tutorial: Schritt für Schritt zur eigenen Seedbox

Wir haben uns der Einfachheit halber für einen Hetzner-Server für 40,46 Euro monatlich entschieden, Modell AX41. Für die VPN-Verbindung verwenden wir Mullvad. Ihr könnt auch alternativ beispielsweise OVPN nehmen. Ihr müsst darauf achten, dass euer VPN-Anbieter das native Wireguard-Protokoll unterstützt. Das ist z.B. bei hide.me leider nicht der Fall. Der AX41 ist für private Zwecke ausreichend. Dank des großen Arbeitsspeichers haben wir ausreichend Kapazität für den Filesystem-Cache, um sämtliche HDD-Zugriffe abzufedern, sodass eine SSD nicht nötig sein wird.

Wir bestellten zu Testzwecken einen Server beim Anbieter Hetzner. Dieser kostet monatlich ab etwas über 40 EUR und wurde nach der Bezahlung im Rescue-Modus ausgeliefert. Wem Deutschland als Speicherort zu heikel ist, kann seinen Server natürlich auch im Ausland bestellen.

Seedbox per Ubuntu

Wir installieren uns für die Seedbox ein Ubuntu-Image, indem wir uns per SSH auf dem Server einloggen. Dafür verwenden wir das Programm PuTTY für Linux und Windows, was einfach zu bedienen ist.

PuTTY, Seedbox

Im Feld Hostname gebt ihr den Namen des Serverhosts ein. Die Zugangsdaten habt ihr vom Webhoster per E-Mail erhalten. Es könnte so ein Meldung kommen (siehe unten), weil Putty den SSH-Host-Key nicht kennt. In diesen Fall die Warnung bitte mit Accept akzeptieren.

PuTTY warning

Nach dem Login mithilfe der SSH-Zugangsdaten, gebt ihr den Befehl installimage ein. Das sieht dann so aus:

installing seedbox

Wir navigieren uns durch das Menü und wählen z.b. Ubuntu → Ubuntu-2110-impish aus.

Utuntu-Distribution für die Seedbox installieren

PuTTY

Da die Standardkonfiguration ausreichend ist, schließen wir den Editor mit F10 und speichern die Config mit Yes.

Hetzner, Seedbox

Nun kann die Installation der Seedbox starten. Bitte bestätigt die Warnung, dass die Festplatten bei der Formatierung gelöscht werden. Bitte zweimal mit Yes bestätigen.

Lesen Sie auch

Da die Standardkonfiguration ausreichend ist, schließen wir den Editor mit F10 und speichern die Config mit Yes.

format hetzner

Nachdem die Installation abgeschlossen ist, gebt ihr das Kommando reboot ein und bestätigt die Eingabe, um den Server neu zu starten.

Seedbox: Login vom Webhoster unbedingt notieren!

Hoffentlich habt ihr das Root-Passwort bereits notiert, das zuvor in einer Setup-Email stand oder das Passwort der Hetzner-Kundenoberfläche über die Aktivierung des Rescue-Systems.

PuTTY, installation complete

Nachdem die Server wieder da und anpingbar sind, können wir uns wieder per PuTTy darauf einloggen. In neuer Linux-Umgebung können mit der VPN-Installation anfangen. Die PuTTy SSH-Warnung bitte erneut mit Accept bestätigen.

Paketquellen aktualisieren

Zunächst gebt Ihr erstmals den Befehl

apt-get update && apt-get dist-upgrade

ein, um die Paketquellen und das System zu aktualisieren. Eventuelle Meldungen bestätigt Ihr mit y oder OK. Was man eingeben kann, wird einem aber jeweils angezeigt.

Tipp: Mit passwd root ändert Ihr den Root-Passwort des Seedbox-Systems. Ein eigenes Passwort, was nicht jeder Hacker direkt erahnen kann, ist sehr wichtig!

Wireguard-Protokoll installieren

Sobald die Updates durch sind, installieren wir uns das Wireguard-Protokoll per Konsole. Ihr gebt dafür den Befehl ein:

apt-get install wireguard

, um den Wireguard-Dienst auf dem dedizierten Server zu installieren.

apt-get install wireguard

Da wir auch resolvconf brauchen, installieren wir das Paket auch nach. Bitte eingeben:

apt-get install resolvconf

resolvconf, Seedbox

Nun sollte wireguard auf dem dedizierten Server installiert sein. Dafür brauchen wir auch die entsprechende VPN-Konfigurationsdatei. Wir gehen auf die Webseite von mullvad.net und sofern ihr bereits den Kundenaccount habt, loggt ihr euch ein.

WireGuard bei Mullvad einrichten

Wir klicken dort auf den Button „Manage ports and WireGuard keys“. Siehe Screenshot oben rechts:

Mullvad Screenshot

In der nächsten Seite wählen wir den Assistenten für WireGuard-Konfigurationsdateien aus. Wir klicken auf die Link „WireGuard configuration file“.

Wireguard

Wir konfigurieren den Wireguard auf Linux, also klicken wir die entsprechenden Optionen an. Ich habe z.b. Schweden als Location gewählt. So entscheidet ihr euch für eine Serverlocation des VPN-Servers.

Wireguard

Zum Schluss ladet ihr euch den Konfigurationsdateien herunter, mit Klick auf „Download file“.

Wichtig: das Port-Forwarding

Da wir für die Seedbox auch ein Port-Forwarding brauchen, kehren wir auf die vorherige Seite zurück und wählen die entsprechende Serverlocation und den Key erneut. Danach klicken wir auf „Add port“. Wenn ihr erfolgreich seid, sollte das Ganze so ungefähr aussehen:

Wireguard, Seedbox

In diesen Beispiel wurde der Port 58905 weitergeleitet.

Nun solltet ihr die heruntergeladene Konfigurationsdatei mit notepad oder einem anderen simplen Texteditor öffnen können.

Die Mullvad-Konfigurationsdatei sieht zum Beispiel so aus:

[Interface]
PrivateKey = xxxx
Address = 10.67.51.33/32,fc00:bbbb:bbbb:bb01::4:3320/128
DNS = 193.138.218.74

[Peer]
PublicKey = xxxx
AllowedIPs = 0.0.0.0/0,::0/0
Endpoint = 193.138.218.82:51820

Auf dem dedizierten Server legen wir eine Konfigurationsdatei an, indem wir den Befehl

nano /etc/wireguard/mlvd-se17.conf

in den SSH-Konsole eingeben und den Texteditor öffnen. Nun kopiert ihr den Inhalt der Konfigurationsdatei und fügt in das PuTTy-Fenster mit dem rechten Maustastenklick ein. Das sieht dann so aus:

Wir müssen noch die Konfiguration anpassen, damit wenn wir, wenn wir eine VPN-Verbindung aufbauen, die Server-IP und seine offenen Ports weiterhin erreichbar sind.

VPN für eine Anwendung löchrig machen:

Also machen wir uns ein „Loch“ im VPN, indem wir die entsprechende Routen hinzufügen, nach den Zeile mit DNS fügt ihr Folgendes ein:

PostUp = ip rule add from 123.456.789.200 table 128
PostUp = ip route add table 128 default via 123.456.789.1
PostUp = ip -6 route add table 128 to fe80::1 dev enp41s0
PreDown = ip route del table 128 to 123.456.789.1 dev enp41s0
PreDown = ip -6 rule del from 2a01:aaaa:bbbb:cccc::2 table 128
PreDown = ip -6 route del table 128 default via fe80::1 dev enp41s0

Ihr müsst die Angaben natürlich mit eurer eigenen Server-IP ersetzen. Die IP „123.456.789.200“ steht für eure dedizierte IP. Die IP „123.456.789.1“ sollte eure Gateway-IP sein. Bei Hetzner ist dies in der Regel immer mit .1 am Ende. Doch das handhabt jeder Webhoster anders.

IPv6 „2a01:aaaa:bbbb:cccc::2“ ersetzt ihr mit eurer dedizierten Server-IPv6.

enp41s0 ist der Netzwerkinterface-Name, der gerade aktiv ist. Das kann man mit ip link show auf der SSH Konsole herausfinden. Sobald ihr das abgeschlossen habt, sieht es im Editor so aus:

Wir beenden den nano-Texteditor mit Strg+X und dann y, um die Textdatei zu sichern. Anschließend bestätigt ihr den Eingabe.

VPN testen

Wir testen das VPN und bringen das Interface hoch, indem wir den Befehl

wg-quick up mlvd-se17

eingeben. mlvd-se17 ist der Name, den ihr zuvor für die Konfigurationsdatei angelegt habt.

Solltet ihr erfolgreich sein, ist die VPN-Verbindung aktiv, der Server+SSH ist nicht offline. Das kann man mit „ifconfig“ nachprüfen, in diesen Fall war das Interface „mlvd-se17“ angelegt.

Wir packen den Wireguard in den Autostart der Seedbox, indem wir den Wireguard mit diesem Befehl zum System hinzufügen:

systemctl enable wg-quick@mlvd-se17.service

Desktop mit grafischer Benutzeroberfläche installieren

Jetzt können wir uns die xRDP und XFCE4-Desktopumgebung installieren. Zunächst müssen wir die Apt-Paketquellen anpassen, da die Hetzner-Paketquelle nur von internen Netzwerk aus erreichbar ist. Mit dem VPN ist sie nicht erreichbar.

Wir geben den Befehl

nano /etc/apt/sources.list

ein, um die Paketquellen zu editieren. Zunächst kommentiert ihr den Zeilen mit „mirror.hetzner.com“ aus, in der Regel nur die ersten vier Zeilen, sodass es so aussieht:

Wir speichern die Textdatei mit Strg+X und y und bestätigen damit die Eingabe.

Dann muss die APT-Paketquelle neu aktualisiert werden, wir geben dafür folgenden Befehl ein:

apt-get update

Danach können wir mit der eigentlichen Installation von xRDP und XFCE4-Desktop anfangen. Dafür geben wir den passenden Befehl ein:

apt-get install xrdp xfce4

Ihr bestätigt die Installation mit y, das kann nun etwas Zeit in Anspruch nehmen:

Wir müssen danach noch die XFCE4-Erweiterungen und sowie die zwei nützlichen Programme Firefox und qBittorrent installieren. Dazu gebt ihr den Befehl ein:

apt-get install xfce4-* firefox qbittorrent

Konfiguration anpassen

Nachdem die Installationen fertig sind, müssen wir noch die xRDP-Konfigurationdatei etwas anpassen, damit der XFCE4-Desktop auch startet, sobald wir eine RDP-Session öffnen.

Wir öffnen uns die Konfigurationsdatei /etc/xrdp/startwm.sh wieder mit nano

nano /etc/xrdp/startwm.sh

Am Ende der Konfigurationsdatei kommentiert ihr die beiden Zeilen aus:

test -x /etc/X11/Xsession && exec /etc/X11/Xsession

exec /bin/sh /etc/X11/Xsession

Danach fügt ihr zwei neue Zeilen ein:

xfce

startxfce4
exit(0)

So sähe das dann aus:

Dann speichert ihr die Datei, wie bisher per Strg+X und y, ab.

Danach müssen wir uns einen normalen User anlegen. Das geht ganz einfach über den Befehl

adduser user

Wobei „user“ eurer gewünschter Username ist. Das Skript fragt nach euren Details, was ihr bei Bedarf mit mehreren Eingaben ignorieren könnt.

Voilà, der User „user“ oder wie ihr ihn genannt habt, sollte nun angelegt sein. So schaut das dann aus:

Installing Seedbox

Da wir die xRDP-Konfigurationsdatei geändert haben, müssen wir den xRDP-Daemon neu starten. Und das geht mit folgendem Befehl:

service xrdp restart

Auf Seedbox-Server zugreifen:

Nun können wir auf den Seedbox-Server mit einer Windows-Remotedesktopverbindung zugreifen:

Remote Desktop, Seedbox

Nach dem erfolgreichen Login solltet ihr den XFCE4-Desktop nun sehen können:

Seedbox, Desktop

Noch sind wir nicht ganz mit unserer Seedbox fertig. Zunächst müssen wir das Programm qBittorrent noch etwas konfigurieren, damit alles sicher bleibt. Wir öffnen den qBittorrent Client und begeben uns an die Einstellungen:

qBittorent zur eigenen Sicherheit konfigurieren

Dort klickt ihr auf das Menü „Advanced“ bzw. „Erweitert“

Unter Network Interface, stellt Ihr Folgendes so ein, damit es an das VPN-Interface gebunden ist, wie im Bild zum Beispiel:

qbittorrent

Dann stellt ihr im Tab Connection die Portnummer ein, weil ihr eine Portweiterleitung eingerichtet habt. In diesen Fall ist es beispielsweise Port 58905.

qbittorrent

Ihr bestätigt die Änderungen mit „Apply“ und startet das Programm neu.

Nur so solltet ihr sicher sein, falls die VPN-Verbindung wegbricht, damit keine Daten über das öffentliche Netzwerkinterface austreten.

Wichtig: eigene IP-Adresse abfragen!

Ihr könnt z.b Firefox öffnen und auf „wieistmeineip.de“ navigieren, so erkennt ihr, dass die VPN-Verbindung auf dem dedizierten Server aktiv ist und alle ausgehenden Verbindungen über das VPN gesichert sind:

whatisyourip, seedbox

Zu guter Letzt könnt Ihr mit den Torrents und eurem Server (Seedbox) machen, was ihr wollt:

Seedbox

Verbindungen überprüfen!

Wichtig: Mit netstat -n auf der SSH-Konsole könnt ihr überprüfen, dass die Verbindungen eurer Seedbox auch wirklich über den VPN ausgehen:

Seedbox

Die Kontrolle sollte man immer mal wieder durchführen, um Abmahnungen zu vermeiden. Gebt Frommer & Co. keine Chance!

Ihr könnt mich bei Fragen oder Anregungen unter dem Namen Firecooler in unserer öffentlichen Telegram-Gruppe erreichen. Abschließend bleibt mir nur noch, euch viel Spaß mit eurer eigenen Seedbox inklusive VPN zu wünschen!

Tarnkappe.info