@@ -4,48 +4,48 @@ sshuttle: where transparent proxy meets VPN meets ssh
4
4
As far as I know, sshuttle is the only program that solves the following
5
5
common case:
6
6
7
- - Your client machine (or router) is Linux, FreeBSD, or MacOS.
7
+ - Your client machine (or router) is Linux, FreeBSD, or MacOS.
8
8
9
- - You have access to a remote network via ssh.
9
+ - You have access to a remote network via ssh.
10
10
11
- - You don't necessarily have admin access on the remote network.
11
+ - You don't necessarily have admin access on the remote network.
12
12
13
- - The remote network has no VPN, or only stupid/complex VPN
14
- protocols (IPsec, PPTP, etc). Or maybe you *are * the
15
- admin and you just got frustrated with the awful state of
16
- VPN tools.
13
+ - The remote network has no VPN, or only stupid/complex VPN
14
+ protocols (IPsec, PPTP, etc). Or maybe you *are * the
15
+ admin and you just got frustrated with the awful state of
16
+ VPN tools.
17
17
18
- - You don't want to create an ssh port forward for every
19
- single host/port on the remote network.
18
+ - You don't want to create an ssh port forward for every
19
+ single host/port on the remote network.
20
20
21
- - You hate openssh's port forwarding because it's randomly
22
- slow and/or stupid.
21
+ - You hate openssh's port forwarding because it's randomly
22
+ slow and/or stupid.
23
23
24
- - You can't use openssh's PermitTunnel feature because
25
- it's disabled by default on openssh servers; plus it does
26
- TCP-over-TCP, which has terrible performance (see below).
24
+ - You can't use openssh's PermitTunnel feature because
25
+ it's disabled by default on openssh servers; plus it does
26
+ TCP-over-TCP, which has terrible performance (see below).
27
27
28
28
29
29
Prerequisites
30
30
-------------
31
31
32
- - sudo, su, or logged in as root on your client machine.
33
- (The server doesn't need admin access.)
32
+ - sudo, su, or logged in as root on your client machine.
33
+ (The server doesn't need admin access.)
34
34
35
- - If you use Linux on your client machine:
36
- iptables installed on the client, including at
37
- least the iptables DNAT, REDIRECT, and ttl modules.
38
- These are installed by default on most Linux distributions.
39
- (The server doesn't need iptables and doesn't need to be
40
- Linux.)
35
+ - If you use Linux on your client machine:
36
+ iptables installed on the client, including at
37
+ least the iptables DNAT, REDIRECT, and ttl modules.
38
+ These are installed by default on most Linux distributions.
39
+ (The server doesn't need iptables and doesn't need to be
40
+ Linux.)
41
41
42
- - If you use MacOS or BSD on your client machine:
43
- Your kernel needs to be compiled with `IPFIREWALL_FORWARD `
44
- (MacOS has this by default) and you need to have ipfw
45
- available. (The server doesn't need to be MacOS or BSD.)
42
+ - If you use MacOS or BSD on your client machine:
43
+ Your kernel needs to be compiled with `IPFIREWALL_FORWARD `
44
+ (MacOS has this by default) and you need to have ipfw
45
+ available. (The server doesn't need to be MacOS or BSD.)
46
46
47
-
48
- - Python 2.x, both locally and the remote system. Python 3.x is not yet supported.
47
+ - Python 2.x, both locally and the remote system. Python 3.x is not yet
48
+ supported.
49
49
50
50
*WARNING *:
51
51
On MacOS 10.6 (at least up to 10.6.6), your network will
@@ -60,45 +60,45 @@ again, even after a reboot.
60
60
Additional Suggested Software
61
61
-----------------------------
62
62
63
- - You may want to need autossh, available in various package management
64
- systems
63
+ - You may want to need autossh, available in various package management
64
+ systems
65
65
66
- - For Linux only tproxy support, you need PyXAPI, available here:
67
- http://www.pps.univ-paris-diderot.fr/~ylg/PyXAPI/
66
+ - For Linux only tproxy support, you need PyXAPI, available here:
67
+ http://www.pps.univ-paris-diderot.fr/~ylg/PyXAPI/
68
68
69
69
70
70
Obtaining sshuttle
71
71
------------------
72
72
73
- - Clone::
73
+ - Clone::
74
74
75
- git clone https://github.com/sshuttle/sshuttle.git
76
- ./setup.py install
75
+ git clone https://github.com/sshuttle/sshuttle.git
76
+ ./setup.py install
77
77
78
- - From PyPI::
78
+ - From PyPI::
79
79
80
- pip install sshuttle
80
+ pip install sshuttle
81
81
82
82
83
83
Usage
84
84
-----
85
85
86
- - Forward all traffic::
86
+ - Forward all traffic::
87
87
88
- sshuttle -r username@sshserver 0.0.0.0/0 -vv
88
+ sshuttle -r username@sshserver 0.0.0.0/0 -vv
89
89
90
- - There is a shortcut for 0.0.0.0/0 for those that value
91
- their wrists::
90
+ - There is a shortcut for 0.0.0.0/0 for those that value
91
+ their wrists::
92
92
93
- sshuttle -r username@sshserver 0/0 -vv
93
+ sshuttle -r username@sshserver 0/0 -vv
94
94
95
- - If you would also like your DNS queries to be proxied
96
- through the DNS server of the server you are connect to::
95
+ - If you would also like your DNS queries to be proxied
96
+ through the DNS server of the server you are connect to::
97
97
98
- sshuttle --dns -vvr username@sshserver 0/0
98
+ sshuttle --dns -vvr username@sshserver 0/0
99
99
100
- The above is probably what you want to use to prevent
101
- local network attacks such as Firesheep and friends.
100
+ The above is probably what you want to use to prevent
101
+ local network attacks such as Firesheep and friends.
102
102
103
103
(You may be prompted for one or more passwords; first, the
104
104
local password to become root using either sudo or su, and
0 commit comments