10

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.

Jeremy
  • 1
  • 5
  • 17
  • 44

2 Answers2

16

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

ssh -D 192.168.0.123:1234 example.com
Ignacio Vazquez-Abrams
  • 111,361
  • 10
  • 201
  • 247
-2

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).

Keith
  • 8,013
  • 1
  • 31
  • 34
  • The users just have to enter your proxy server's IP address... no routing required. – Mark E. Haase May 01 '11 at 01:36
  • @mehaase You are confused. And what will the proxy server do with it then? How will the users reach other networks? – Keith May 01 '11 at 01: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. – Mark E. Haase May 01 '11 at 01: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 01 '11 at 04:42