This seems like a cool idea, but I haven't been able to get it to
work. I am connecting from an opensuse 12.1 x64 client to an opensuse
11.4 32bit server.
The following is my command line:
./sshuttle -r MYUSER@MYHOST:SSH_PORT IP_TO_VPN -vvvv
Starting sshuttle proxy.
Binding: 12300
Listening on ('127.0.0.1', 12300).
firewall manager ready.
c : connecting to server...
c : executing: ['ssh', '-p', 'SSH_PORT', 'MYUSER@MYHOST', '--',
'P=python2; $P -V 2>/dev/null || P=python; exec "$P" -c \'import sys;
skip_imports=1; verbosity=4; exec compile(sys.stdin.read(764),
"assembler.py", "exec")\'']
c : > channel=0 cmd=PING len=7 (fullness=0)
server: assembling 'cmdline_options.py' (29 bytes)
server: assembling 'helpers.py' (741 bytes)
server: assembling 'ssubprocess.py' (13703 bytes)
server: assembling 'ssnet.py' (5446 bytes)
server: assembling 'hostwatch.py' (2238 bytes)
server: assembling 'server.py' (2377 bytes)
s: latency control setting = True
s: available routes:
s:
192.168.1.0/24
s:
169.254.0.0/16
c : connected.
Connected.
c : Waiting: 2 r=[3, 8] w=[8] x=[] (fullness=7/0)
c : Ready: 2 r=[] w=[8] x=[]
c : mux wrote: 15/15
c : Waiting: 2 r=[3, 8] w=[] x=[] (fullness=7/0)
s: > channel=0 cmd=PING len=7 (fullness=0)
s: > channel=0 cmd=ROUTES len=30 (fullness=7)
s: Waiting: 1 r=[4] w=[5] x=[] (fullness=37/0)
s: Ready: 1 r=[] w=[5] x=[]
s: mux wrote: 15/15
s: mux wrote: 38/38
s: Waiting: 1 r=[4] w=[] x=[] (fullness=37/0)
c : Ready: 2 r=[8] w=[] x=[]
c : < channel=0 cmd=PING len=7
c : > channel=0 cmd=PONG len=7 (fullness=7)
c : < channel=0 cmd=ROUTES len=30
firewall manager: starting transproxy.
>> iptables -t nat -N sshuttle-12300
>> iptables -t nat -F sshuttle-12300
>> iptables -t nat -I OUTPUT 1 -j sshuttle-12300
>> iptables -t nat -I PREROUTING 1 -j sshuttle-12300
s: Ready: 1 r=[4] w=[] x=[]
s: < channel=0 cmd=PING len=7
s: > channel=0 cmd=PONG len=7 (fullness=37)
>> iptables -t nat -A sshuttle-12300 -j REDIRECT --dest IP_TO_VPN/32 -p tcp --to-ports 12300 -m ttl ! --ttl 42
>> iptables -t nat -A sshuttle-12300 -j RETURN --dest
127.0.0.0/8 -p tcp
c : mux wrote: 15/15
c : Waiting: 2 r=[3, 8] w=[] x=[] (fullness=14/0)
s: mux wrote: 15/15
s: Waiting: 1 r=[4] w=[] x=[] (fullness=44/0)
c : Ready: 2 r=[8] w=[] x=[]
c : < channel=0 cmd=PONG len=7
c : received PING response
c : Waiting: 2 r=[3, 8] w=[] x=[] (fullness=0/0)
s: Ready: 1 r=[4] w=[] x=[]
s: < channel=0 cmd=PONG len=7
s: received PING response
s: Waiting: 1 r=[4] w=[] x=[] (fullness=0/0)
And, it parks right there. If I try to connect to the IP I am trying
to tunnel, it waits for a while and then times out.
I am able to ssh tunnel ports without a problem, so it isn't a network
connectivity problem. Ideas? How can I trouble shoot further?
Thanks!