[Linux] Portforwarding klappt nicht auf allen Interfaces

01/04/2013 - 21:58 von Holger Marzen | Report spam
Ich bin gerade etwas ratlos.

Portforwarding der Art

iptables -t nat -A PREROUTING \
-i ppp+ -p tcp --dport 4022 \
-j DNAT --to-destination 10.66.44.11:22

funktioniert einwandfrei. In diesem Fall befindet sich das Ziel
10.66.44.11 als virtuelle Maschine hinter einem virtuellen Interface.

Aber:
Regeln, die eine Zielmaschine auf dem LAN (eth0) ansprechen,
funktionieren nicht. Es gibt kein REJECT, und in "iptables -t nat -L -n
-v" sieht man, dass der Zàhler der Regel hochgeht. Das Paket wird aber
nirgendwohin weitergeleitet. tcpdump auf allen möglichen Interfaces
sieht nichts.

Die Maschine hat eine Menge Regeln, darunter auch policy based Routing,
also mehrere ip-Tabellen, die abhàngig von Absender- oder
Empfàngeradresse herangezogen werden. Aber die Regeln beginnen mit

0: from all lookup local
100: from all to 10.66.0.0/16 lookup main
101: from all to 192.168.0.0/16 lookup main

Es müsste also die erste, spàtestens aber die zweite Regel greifen, die
die ganz normale Standardtabelle anzieht.

Handelt es sich vielleicht ganz banal um einen Fehler des
zugegebenermaßen àltlichen aber ansonsten robusten Kernels 2.6.18?
 

Lesen sie die antworten

#1 Tim Ritberg
01/04/2013 - 22:10 | Warnen spam
Am 01.04.2013 21:58, schrieb Holger Marzen:
Ich bin gerade etwas ratlos.

Portforwarding der Art

iptables -t nat -A PREROUTING \
-i ppp+ -p tcp --dport 4022 \
-j DNAT --to-destination 10.66.44.11:22



Das oben ist kein Portforwarding sondern NAT. Zeig mal die Regeln aus
FORWARD.

TIM

Ähnliche fragen