Poor man's VPN, sshuttle, depends on iptables, how could we use it "on" Windows?
- 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