More formatting fixes.

This commit is contained in:
Brian May 2015-11-15 17:17:16 +11:00
parent 1f2117917f
commit dd8e68b6dc

View File

@ -4,48 +4,48 @@ sshuttle: where transparent proxy meets VPN meets ssh
As far as I know, sshuttle is the only program that solves the following As far as I know, sshuttle is the only program that solves the following
common case: common case:
- Your client machine (or router) is Linux, FreeBSD, or MacOS. - Your client machine (or router) is Linux, FreeBSD, or MacOS.
- You have access to a remote network via ssh. - You have access to a remote network via ssh.
- You don't necessarily have admin access on the remote network. - You don't necessarily have admin access on the remote network.
- The remote network has no VPN, or only stupid/complex VPN - The remote network has no VPN, or only stupid/complex VPN
protocols (IPsec, PPTP, etc). Or maybe you *are* the protocols (IPsec, PPTP, etc). Or maybe you *are* the
admin and you just got frustrated with the awful state of admin and you just got frustrated with the awful state of
VPN tools. VPN tools.
- You don't want to create an ssh port forward for every - You don't want to create an ssh port forward for every
single host/port on the remote network. single host/port on the remote network.
- You hate openssh's port forwarding because it's randomly - You hate openssh's port forwarding because it's randomly
slow and/or stupid. slow and/or stupid.
- You can't use openssh's PermitTunnel feature because - You can't use openssh's PermitTunnel feature because
it's disabled by default on openssh servers; plus it does it's disabled by default on openssh servers; plus it does
TCP-over-TCP, which has terrible performance (see below). TCP-over-TCP, which has terrible performance (see below).
Prerequisites Prerequisites
------------- -------------
- sudo, su, or logged in as root on your client machine. - sudo, su, or logged in as root on your client machine.
(The server doesn't need admin access.) (The server doesn't need admin access.)
- If you use Linux on your client machine: - If you use Linux on your client machine:
iptables installed on the client, including at iptables installed on the client, including at
least the iptables DNAT, REDIRECT, and ttl modules. least the iptables DNAT, REDIRECT, and ttl modules.
These are installed by default on most Linux distributions. These are installed by default on most Linux distributions.
(The server doesn't need iptables and doesn't need to be (The server doesn't need iptables and doesn't need to be
Linux.) Linux.)
- If you use MacOS or BSD on your client machine: - If you use MacOS or BSD on your client machine:
Your kernel needs to be compiled with `IPFIREWALL_FORWARD` Your kernel needs to be compiled with `IPFIREWALL_FORWARD`
(MacOS has this by default) and you need to have ipfw (MacOS has this by default) and you need to have ipfw
available. (The server doesn't need to be MacOS or BSD.) available. (The server doesn't need to be MacOS or BSD.)
- Python 2.x, both locally and the remote system. Python 3.x is not yet
- Python 2.x, both locally and the remote system. Python 3.x is not yet supported. supported.
*WARNING*: *WARNING*:
On MacOS 10.6 (at least up to 10.6.6), your network will On MacOS 10.6 (at least up to 10.6.6), your network will
@ -60,45 +60,45 @@ again, even after a reboot.
Additional Suggested Software Additional Suggested Software
----------------------------- -----------------------------
- You may want to need autossh, available in various package management - You may want to need autossh, available in various package management
systems systems
- For Linux only tproxy support, you need PyXAPI, available here: - For Linux only tproxy support, you need PyXAPI, available here:
http://www.pps.univ-paris-diderot.fr/~ylg/PyXAPI/ http://www.pps.univ-paris-diderot.fr/~ylg/PyXAPI/
Obtaining sshuttle Obtaining sshuttle
------------------ ------------------
- Clone:: - Clone::
git clone https://github.com/sshuttle/sshuttle.git git clone https://github.com/sshuttle/sshuttle.git
./setup.py install ./setup.py install
- From PyPI:: - From PyPI::
pip install sshuttle pip install sshuttle
Usage Usage
----- -----
- Forward all traffic:: - Forward all traffic::
sshuttle -r username@sshserver 0.0.0.0/0 -vv sshuttle -r username@sshserver 0.0.0.0/0 -vv
- There is a shortcut for 0.0.0.0/0 for those that value - There is a shortcut for 0.0.0.0/0 for those that value
their wrists:: their wrists::
sshuttle -r username@sshserver 0/0 -vv sshuttle -r username@sshserver 0/0 -vv
- If you would also like your DNS queries to be proxied - If you would also like your DNS queries to be proxied
through the DNS server of the server you are connect to:: through the DNS server of the server you are connect to::
sshuttle --dns -vvr username@sshserver 0/0 sshuttle --dns -vvr username@sshserver 0/0
The above is probably what you want to use to prevent The above is probably what you want to use to prevent
local network attacks such as Firesheep and friends. local network attacks such as Firesheep and friends.
(You may be prompted for one or more passwords; first, the (You may be prompted for one or more passwords; first, the
local password to become root using either sudo or su, and local password to become root using either sudo or su, and