Wie kann ich mit IPTABLES einen Portbereich vom Server auf ein anderes LAN-Gerät umleiten?

Wie kann ich mit IPTABLES einen Portbereich vom Server auf ein anderes LAN-Gerät umleiten?

Ich habe einen Server und einige LAN-Geräte, die benutzerdefinierte Dienste auf benutzerdefinierten Ports hosten. Alle Geräte verwenden Linux. Nur der Server ist dem Internet ausgesetzt (Ports werden weitergeleitet).

Ich versuche, den gesamten Datenverkehr im Portbereich x auf den Portbereich des Geräts 1 umzuleiten, zum Beispiel:

Server-IP: 192.168.5.5

Gerät 1 IP: 10.0.0.1

Eine Anfrage an 192.168.5.5:4001 sollte an Gerät 1 (10.0.0.1) auf Port 2001 umgeleitet werden

Ich versuche, den gesamten Datenverkehr im Portbereich 4001:4050 auf Gerät1 an den Ports 2001:2050 umzuleiten. Die externen Ports sollten mit den internen Ports übereinstimmen (4001 -> 2001, 4002 -> 2002 usw.).

Ich habe die folgenden IPTable-Regeln verwendet und es hat für die Umleitung einzelner Ports gut funktioniert, aber für den Portbereich stimmt es nicht überein: (4001 stellt manchmal eine Verbindung zu 2005 her, obwohl es eine Verbindung zu 2001 herstellen sollte)

IPTABLE-Regeln:

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 4000:4050 -j DNAT --to-destination Device_1_IP:2000-2050

iptables -t nat -A POSTROUTING -d device1_ip -p tcp --dport 2000:2050 -j SNAT --to-source Server public ip

Ich habe auch versucht, rinetd zu verwenden, konnte aber nicht herausfinden, wie man einen ganzen Portbereich umleitet.

Mit freundlichen Grüße

verwandte Informationen