Here's my scenario.
I have a WORKING DAEMON receiving packets through a proprietary protocol (mounted on the port 5000
) that has been working flawlessly for over a decade.
I have a weird problem though.
I have a FIREWALL which have our public IP ADDRESS that does a PORT REDIRECTION with IPTABLES like this:
IPT=iptables
LUISANA=192.168.0.1
LOCAL_IF=eth0
INET_IF=eth1
$IPT -t nat -A PREROUTING -i $LOCAL_IF -p tcp --dport 5000 -j DNAT --to $LUISANA:5000
$IPT -t nat -A PREROUTING -i $INET_IF -p tcp --dport 5000 -j DNAT --to $LUISANA:5000
Here, LOCAL_IF
and INET_IF
are my two NICs with local and public ip addresses respectively and LUISANA
is the IP address of the machine that is on the local network running my daemon on port 5000
.
When I have the network under this configuration, iptables
some incoming packets get corrupted on the transformation and the protocol fails. However, if I take down these two iptables
and use a ssh tunnel to do the port forwarding, the protocol works flawlessly.
So my question is: what can be causing this packet corruption? May be it has something to do with endianness? (both machines, FIREWALL and LUISANA run the same LINUX version on the same x86 hardware).
0 Answers