in iptables it would be something like:
iptables -A PREROUTING -t nat -s 2nd_subnet -j SNAT --to-source local_machine
but this is not possible because SNAT only works for outgoing packets in POSTROUTING.
Is there a way to get this to work other than adding a second router box for NAT?
I tried to do it like this:
Added another IP address eth0:0 to the server,
added rules:
iptables -A PREROUTING -t nat -d eth0:0_ip -p tcp --dport server-port -j DNAT --to-destination eth0_ip:server_port
iptables -A POSTROUTING -t nat -d eth0_ip -p tcp --dport server_port -j SNAT --to-source eth0:0_ip
but when I check from: iptables -L -t nat -nv then the second rule does not get used at all. I presume the pacet intended for local machine does not traverse the outgoing part of the nat table.
Sincerely, Joel