I have a simple requirement of a software level port forwarding/tunnelling of socket based communication.
If you're running xinetd
on your system already, it provides a simple port forwarding mechanism that might be useful if you're not running IPTables already.
If you are running IPTables, Server Fault has an excellent, short question with a very similar goal. Though I find it a bit terse more detailed documentation is available.