All of lore.kernel.org
 help / color / mirror / Atom feed
* iptables for port forwarding
@ 2004-11-30  0:51 Nick
  2004-11-30 13:05 ` Gavin Hamill
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Nick @ 2004-11-30  0:51 UTC (permalink / raw)
  To: netfilter

Hi,

I want to do something relatively simple, but have not been able to
figure out from the manual or playing with it how to achieve what I
want.

I have a server which I can only connect to via port 80, due to a
firewall.  I want to connect to VNC on the server, and connect to it
via a VNC client my laptop.  VNC server only wants to run on port 5900.
 I'm not running an HTTP server on 80, so no prob there.  I want to
forward packets  coming into the server on port 80 to the VNC on 5900.

I tried doing this:
/sbin/iptables -A FORWARD -p tcp --dport 80 -j ACCEPT 
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT
--to 127.0.0.1:5900 

But the VNC client hangs for a while before timing out when I try to
connect to it.

Ideas on how to achieve the desired result?

Thanks,

Nick


	
		
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - You care about security. So do we. 
http://promotions.yahoo.com/new_mail


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: iptables for port forwarding
  2004-11-30  0:51 iptables for port forwarding Nick
@ 2004-11-30 13:05 ` Gavin Hamill
  2004-11-30 13:26 ` John Lash
  2004-11-30 20:54 ` Jason Opperisano
  2 siblings, 0 replies; 4+ messages in thread
From: Gavin Hamill @ 2004-11-30 13:05 UTC (permalink / raw)
  To: netfilter

On Tuesday 30 November 2004 00:51, Nick wrote:
> Hi,
>

> I have a server which I can only connect to via port 80, due to a
> firewall.  I want to connect to VNC on the server, and connect to it
> via a VNC client my laptop.  VNC server only wants to run on port 5900.
>  I'm not running an HTTP server on 80, so no prob there.  I want to
> forward packets  coming into the server on port 80 to the VNC on 5900.


Take a step back and work from first principles... can you telnet to port 80 
on the server from your laptop?

You should see something like this...

gdh:~# telnet 1.2.3.4 80
Trying 1.2.3.4...
Connected to myhost.mydomain.com
Escape character is '^]'.
RFB 003.003

If you don't see that 'RFB' message then something else is wrong.. if you do 
see it, then can I ask how you're telling the VNC client to use port 80?

You can't simply tell it to connect to "1.2.3.4:80" because this will try to 
connect to port 5980...

Cheers,
Gavin.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: iptables for port forwarding
  2004-11-30  0:51 iptables for port forwarding Nick
  2004-11-30 13:05 ` Gavin Hamill
@ 2004-11-30 13:26 ` John Lash
  2004-11-30 20:54 ` Jason Opperisano
  2 siblings, 0 replies; 4+ messages in thread
From: John Lash @ 2004-11-30 13:26 UTC (permalink / raw)
  To: netfilter

> I tried doing this:
> /sbin/iptables -A FORWARD -p tcp --dport 80 -j ACCEPT 
> /sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT
> --to 127.0.0.1:5900 
> 
> But the VNC client hangs for a while before timing out when I try to
> connect to it.
> 
> Ideas on how to achieve the desired result?
> 
> Thanks,
> 
> Nick
> 

I suspect that you won't be able to redirect to 127.x.x.x. Check out this
thread:
	https://lists.netfilter.org/pipermail/netfilter/2002-November/040104.html

He comes to the conclusion that you can't redirect packets to localhost because
the kernel refuses to route a packet from an external ip to a destination on the
127.x.x.x network. I haven't yet verified that in the code but it sounds
reasonable enough.

I played with something similar for a while and was also unsuccessful. Needless
to say, if you find a way to do this, short of hacking the routing code, please
post back. Seems to be a fairly common wish.

The usual way to forward the port to localhost is to use ssh. There are many
references to that on the net.

--john


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: iptables for port forwarding
  2004-11-30  0:51 iptables for port forwarding Nick
  2004-11-30 13:05 ` Gavin Hamill
  2004-11-30 13:26 ` John Lash
@ 2004-11-30 20:54 ` Jason Opperisano
  2 siblings, 0 replies; 4+ messages in thread
From: Jason Opperisano @ 2004-11-30 20:54 UTC (permalink / raw)
  To: netfilter

On Mon, Nov 29, 2004 at 04:51:54PM -0800, Nick wrote:
> Hi,
> 
> I want to do something relatively simple, but have not been able to
> figure out from the manual or playing with it how to achieve what I
> want.
> 
> I have a server which I can only connect to via port 80, due to a
> firewall.  I want to connect to VNC on the server, and connect to it
> via a VNC client my laptop.  VNC server only wants to run on port 5900.
>  I'm not running an HTTP server on 80, so no prob there.  I want to
> forward packets  coming into the server on port 80 to the VNC on 5900.
> 
> I tried doing this:
> /sbin/iptables -A FORWARD -p tcp --dport 80 -j ACCEPT 

you're changing the dport to 5900 in NAT PREROUTING--your filter rule
should reflect that fact.

> /sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT
> --to 127.0.0.1:5900 

you can't DNAT to 127.0.0.1--search the list archives for the nearly
8000 messages on this topic.

> But the VNC client hangs for a while before timing out when I try to
> connect to it.
> 
> Ideas on how to achieve the desired result?

  # redirect tcp 80 -> 5900
  iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \
    -j REDIRECT --to-port 5900

  # allow stateful replies
  iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  # allow connections to tcp 5900
  iptables -A INPUT -i eth0 -p tcp --syn --dport 5900 -j ACCEPT

you then need to tell your VNC client to connect to:

  $SERVERIP:-5820

the port number is calculated by:  5900 + DISPLAY_NUMBER

to get it to connect to port 80:  5900 + (-)5820 = 80

-j

--
"Okay, retrace your steps. Woke up, fought with Marge, ate Guatemalan
 insanity peppers, then I... Oh..."
        --The Simpsons


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-11-30 20:54 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-30  0:51 iptables for port forwarding Nick
2004-11-30 13:05 ` Gavin Hamill
2004-11-30 13:26 ` John Lash
2004-11-30 20:54 ` Jason Opperisano

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.