I have a Linux VPS (virtuozzo) server and I need to setup port forwarding, but my hosting provider does not allow iptables-nat kernel modules so iptables -t nat - is not working.

I'm looking for other ways how to do it. I know I can forward port using openssh, but I need to forward 20+ different ports, tcp and udp so this is not an option.

Is there is any software for linux that can do port forwarding?

link|improve this question
huh good question +1. i am not aware of a solution, looking forward to see whether tehre is something here. – Joe Hopfgartner Mar 26 '11 at 13:14
And then, what about a program that lets you forward ports to different destinations based on the source IP? – dpk May 10 '11 at 16:16
feedback

7 Answers

xinet/inetd. For e. g.:

redirect

Allows a tcp service to be redirected to another host. When xinetd receives a tcp connection on this port it spawns a process that establishes a connection to the host and port number specified, and forwards all data between the two hosts.

http://linux.die.net/man/5/xinetd.conf

link|improve this answer
feedback

Use the tool called "socat", it is great tool for such things and it is already packaged in many linux distribution. Read about it here : http://www.dest-unreach.org/socat/doc/README

Port forwarding example with socat :

socat TCP4-LISTEN:80,fork TCP4:www.yourdomain.org:8080

This redirect all TCP connections on port 80 to www.yourdomain.org port 8080 TCP.

link|improve this answer
feedback

xinetd supports a redirect attribute which will do what you want. As others have noted there are a number of programs which handle redirects.

Using xinetd or other program which uses the tcpwrappers library will allow you to apply access restrictions if and when it becomes necessary.

link|improve this answer
feedback

There's a tiny, light resources program called redir which is pretty configurable.

apt-get install redir on Debian-based distributions.

link|improve this answer
feedback

What about rinetd ?
Its a daemon that redirects TCP connections. Have a look at the man page to see if it suits your needs: http://www.boutell.com/rinetd/

link|improve this answer
Looks interesting, but it is limited to TCP only as you said. – troex Mar 26 '11 at 13:28
feedback
up vote 0 down vote accepted

I found small util called portfwd http://portfwd.sourceforge.net/ it does exactly what I need (TCP and UDP forwarding), homepage says it was last updated in 2002, but latest release is 2007, and it works on 2.6 kernel.

link|improve this answer
I'll accept my answer as it seams this is the only software which fully supports both TCP and UDP protocols. – troex Apr 3 '11 at 14:41
feedback

SSH Does port forwarding, so long as you can tunnel in an SSL connection.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.