I often use an SSH tunnelling on my computer, using a SOCKS proxy.

ssh -D 1234 example.com

However, this only accepts local connections. I would like other systems on my network to be able to use the proxy on my computer as well.

How can I achieve this? If SSH doesn't have an option itself I imagine it might be possible to have a program proxy the proxy on a different port, but I don't know if there are any common tools to do this.

link|improve this question

feedback

2 Answers

up vote 3 down vote accepted

Tell it to bind to an external address instead of localhost.

ssh -D 192.168.0.123:1234 example.com
link|improve this answer
2  
Or you can use ssh -D "*:1234" example.com to bind to all addresses. – Gordon Davisson Apr 30 '11 at 18:48
feedback

You would have to enable routing on your host and set up a routing protocol, such as RIP. Basically, you have to act like a router and the other hosts have to have routing entries to get to the network on the other side (which is hopefully not a duplicate RFC1918 network).

link|improve this answer
The users just have to enter your proxy server's IP address... no routing required. – mehaase May 1 '11 at 1:36
@mehaase You are confused. And what will the proxy server do with it then? How will the users reach other networks? – Keith May 1 '11 at 1:42
Through the proxy? Isn't that the whole point? ssh -D acts as a SOCKS proxy, not just a point-to-point tunnel. It's application aware. – mehaase May 1 '11 at 1:51
Actually the question is confusing. I saw the tunneling, which is different from proxying. To share an IP tunnel is no different than routing through a point to point link. – Keith May 1 '11 at 4:42
feedback

Your Answer

 
or
required, but never shown

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