Portweiterleitung mit Rinetd
Einfache TCP-Traffic-Weiterleitung auf VPS und dedizierten Servern.
Rinetd ist ein schlanker TCP-Proxy, der Verbindungen von einer IP-Adresse und einem Port auf eine andere weiterleitet. Er eignet sich ideal für VPS und dedizierte Server, wenn Sie:
- einen öffentlichen Port an einen internen Server oder Dienst weiterleiten möchten
- mehrere Dienste über denselben öffentlichen Port betreiben möchten
- Zugriff auf Dienste hinter NAT oder in einem privaten Netzwerk bereitstellen möchten
- eine schnelle Port-Weiterleitung ohne komplexe iptables-Regeln einrichten möchten
Rinetd nutzt non-blocking I/O und läuft als einzelner Prozess — so verarbeitet er eine große Anzahl gleichzeitiger Verbindungen mit minimalem Einfluss auf den Server.
Rinetd installieren
Ubuntu / Debian:
sudo apt update
sudo apt install rinetd -y
CentOS / RHEL / AlmaLinux / Rocky:
sudo yum install rinetd -y
# oder
sudo dnf install rinetd -y
Port-Weiterleitung konfigurieren
- Öffnen Sie die Konfigurationsdatei:
sudo nano /etc/rinetd.conf
- Fügen Sie am Ende der Datei Weiterleitungsregeln in folgendem Format hinzu:
public_IP external_port internal_IP internal_port
Beispiel (Weiterleitung von einer öffentlichen IP an mehrere interne Server):
85.85.85.85 12341 192.168.1.5 1234
85.85.85.85 12342 192.168.1.6 1234
85.85.85.85 12343 192.168.1.7 1234
85.85.85.85 12344 192.168.1.8 1234
85.85.85.85 12345 192.168.1.9 1234
- Spalte 1: öffentliche IP, auf der der Server lauscht (oder
0.0.0.0für alle Interfaces) - Spalte 2: externer Port, auf dem rinetd lauscht
- Spalte 3: interne IP, an die der Traffic weitergeleitet wird
- Spalte 4: interner Port auf der Zielmaschine
Verwenden Sie Leerzeichen (keine Tabs) zwischen den Spalten. Fügen Sie eine Zeile pro Weiterleitungsregel hinzu. Speichern Sie die Datei (Ctrl+O → Enter → Ctrl+X).
Unsere Produkte und Dienste
- Starten Sie rinetd neu, um die Änderungen zu übernehmen:
sudo systemctl restart rinetd
# oder
sudo service rinetd restart
Funktion überprüfen
- Prüfen Sie, ob der Dienst läuft:
sudo systemctl status rinetd
- Zeigen Sie an, auf welchen Ports rinetd lauscht:
sudo ss -tuln | grep rinetd
oder
sudo netstat -tuln | grep rinetd
- Testen Sie die Weiterleitung:
- Verbinden Sie sich von außen mit Ihrer öffentlichen IP auf Port 12341 → der Traffic sollte 192.168.1.5:1234 erreichen
- Verwenden Sie
telnet,nc(netcat) oder einen beliebigen Client zur Überprüfung.
Hinweise
- Standardmäßig schreibt rinetd keine Logs. Um die Protokollierung zu aktivieren, fügen Sie Folgendes in
/etc/rinetd.confein:
log /var/log/rinetd.log
- Um den Zugriff auf bestimmte Quell-IPs zu beschränken, verwenden Sie
iptables- oderfirewall-cmd-Regeln vor rinetd. - Bei sehr hoher Last (Tausende von Verbindungen) kann rinetd erheblichen Speicher verbrauchen — überwachen Sie dies mit
topoderhtop. - Alternativen: socat, iptables DNAT, HAProxy, NGINX stream module — rinetd ist jedoch die einfachste und schlankste Lösung für grundlegende Port-Weiterleitungen.
Hilfe
Bei Fragen oder wenn Sie Unterstützung brauchen, erreichen Sie uns jederzeit über das Ticketsystem — wir helfen Ihnen gern weiter!