Debian-Umleitung einzelner Port für ausgehende Verbindungen

Debian-Umleitung einzelner Port für ausgehende Verbindungen

Ich habe eine Debian 11 VM auf einem Windows-Rechner. Sie hat 3 Netzwerkadapter. Einer ist extern (WAN), einer intern (LAN) und ein weiterer privat (experimentell).

Ich verwende die Box als Router, der wiederum meinen DSL-Router über die WAN-Netzwerkkarte nutzt, die eigentlich mit der Hyper-V-Box verbunden ist. Routingtechnisch funktioniert alles.

Was ich erreichen möchte (und nachdem ich viele Artikel gelesen habe, die bisher gescheitert sind), ist, dass ich versuche, einen einzelnen Port (4444) abzufangen, beispielsweise zu einer einzelnen öffentlichen Internet-IP-Adresse, und diesen zurück zu einer Maschine in meinem LAN umzuleiten. Klingt einfach, und ich bin sicher, dass es das auch ist, aber ich bekomme es nicht zum Laufen.

Um es klar zu sagen: Dies istNICHTIch versuche, einen öffentlichen Port freizugeben und ihn intern weiterzuleiten. Dies dient dazu, einen einzelnen Port abzufangen (die betreffende Anwendung stellt eine Verbindung zu mehreren Ports her). Ich möchte, dass die gesamte Kommunikation normal an den Zielserver geht, aber ich möchte, dass dieser Port auf meine Maschine geleitet wird, auf der ich einen Socket-Server für die Kommunikation konfiguriert habe.

Ich weiß, dass die Antwort iptables betrifft, aber ich kann die Befehle einfach nicht richtig ausführen. Wann immer ich

iptables -t nat -A OUTPUT -p tcp --dport 4444 -j DNAT --to-destination 10.0.0.111:4444

es wird nicht einmal in meinem angezeigt iptables -L. Die Weiterleitung ist aktiviert. Ich habe auch Folgendes versucht:

iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 4444 -j DNAT --to-destination 10.0.0.111:4444

Ich habe es sogar auf eth0 angewendet, das das Standard-Gateway ist.

eth0 – Öffentliches WAN

eth1 - LAN

eth2 - Experimentieren mit der Zuweisung der betreffenden öffentlichen IP, aber dies führt zu Problemen beim Routing für alle Ports, also habe ich es aufgegeben

Antwort1

Mein Fehler. Ich habe es behoben. Es scheint, dass -d <destination address>es ignoriert wird, wenn Sie es aus Ihrer Vorableitung entfernen.

Ich habe außerdem eine SNAT-Regel hinzugefügt, um den Anschein zu erwecken, dass die zurückgegebenen Pakete von der öffentlichen IP stammen.

Aufgabe erledigt. Hoffe, das hilft irgendwann jemandem.

verwandte Informationen