DNAT mit Portänderung funktioniert nicht

DNAT mit Portänderung funktioniert nicht

Ich verwende diesen Befehl, um NAT auf meinem VM-Container einzurichten:

iptables -t nat -A PREROUTING -d ${MAIN_IP} -p tcp --dport ${2} -j DNAT --to-destination ${SUBNET}${3}

mit

  • MAIN_IP ist die globale IP des Hauptservers
  • SUBNET sind die ersten drei Zahlen meines VM-Subnetzes, z. B. „192.168.1“.
  • $2 ist der Port, den ich weiterleiten möchte
  • $3 ist das letzte Subnetzsegment, z. B. 20

Dies funktioniert gut für reines NATing.

Aber heute wollte ich einen DNAT für den SSH-Port deklarieren, also habe ich $2 auf 5022 und $3 auf 20:22 gesetzt, was der Übersichtlichkeit halber zu folgender Zeile führte:

iptables -t nat -A PREROUTING -d ${MAIN_IP} -p tcp --dport 5022 -j DNAT --to-destination 192.168.1.20:22

Das hier funktioniert jedoch nicht: Verbindungen laufen ab, wenn ich versuche, per SSH auf die VM zuzugreifen. Beachten Sie, dass sie nicht ablaufen, wenn ich kein NAT verwende, also funktioniert es einwandfrei. Nur über NAT funktioniert es nicht.ssh [email protected]

UFW ist auf dem Containerserver nicht aktiviert. Es hört praktisch nichts ab, also muss nichts geschlossen werden – hoffe ich zumindest.

Ich gehe davon aus, dass die DNAT-Regel korrekt ist. Wie kann ich also feststellen, was mich blockiert?

Bearbeiten: Ausgabe der NAT-Tabelle:

#iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  anywhere             my-server         tcp dpt:2113 to:192.168.1.35
DNAT       tcp  --  anywhere             my-server         tcp dpt:2115 to:192.168.1.35

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  anywhere             anywhere

Bearbeitung 2: Ich löse das Problem vorübergehend, indem ich VM sshd auf mehreren Ports abhören lasse. Auf diese Weise funktioniert NAT einwandfrei.

verwandte Informationen