title: Port Forwarding
body: <p>I have a simple requirement of a software level port forwarding/tunnelling of socket based communication.</p>
  
  <ul>
  <li>I have a source server and port using Sockets. This is a java program which works both in windows and linux and this is irrelevant.</li>
  <li>I have devices which keep sending data to this port. There may be a bi-directional communication</li>
  <li>I want to redirect this data to another remote server and port. So for the clients they will not have to worry about change of ip address whenever I move my app server.</li>
  </ul>
  
  <p>Are there any tools/deamon/service programs which I can use to configure and do this?</p>
  
  <p>I tried SSH, but to my understanding this needs a SSH protocol enabled server. In my case this is not applicable. I also tried using JSch but this again is an implementation of SSH in java format.</p>
  
  <p>Can someone throw some pointers? Is it possible to use iptables NAT in linux?</p>