Last Updated: February 25, 2016
·
14.06K
· mrkschan

sshuttle "on" Windows

Poor man's VPN, sshuttle, depends on iptables, how could we use it "on" Windows?

Requirements:

  • Vagrant
  • cmd.exe with Administrator access

What we can really do is to create a Linux VM with Vagrant (or simply Virtualbox if you like). In the Vagrant settings, remember to turn on bridged NIC. Then, run sshuttle inside the VM like below.

sshuttle -l 0.0.0.0 -x 10.0.0.0/8 -x 192.168.0.0/16 0/0

10.0.0.0/8 excludes NAT traffics of Vagrant and 192.168.0.0/16 excludes traffics to my router.

Assuming the default gateway is 192.168.1.1 and the VM has the IP 192.168.1.200 obtained on the bridge NIC (we can configure that in Vagrantfile), we can then ask Windows to route all its traffic via the VM by running the following in cmd.exe with admin right...

route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 2
route add 0.0.0.0 mask 0.0.0.0 192.168.1.200 metric 1

Enjoy.

1 Response
Add your response