VPN sshuttle
На своем компьютере установим sshuttle:
либо с помощью
pip install sshuttle
либо с помощью копирования исходников с github
git clone https://github.com/sshuttle/sshuttle.git && python setup.py install
пользователи debian могут это сделать так:
apt-get install sshuttle
Далее нужно выполнить простую команду:
sudo sshuttle -r username@sshserver 0.0.0.0/0
где username — логин на удаленном виртуальном сервере, sshserver — его IP-адрес или доменное имя, параметр 0.0.0.0/0 означает, что мы собираемся добавить в нашу таблицу маршрутизации правило, благодаря которому весь исходящий трафик будет отправляться на удалённый сервер, за исключением DNS-запросов. Разработчик намеренно не включает по умолчанию этот функционал для DNS, потому что у некоторых пользователей для выхода в интернет должны использоваться провайдерские серверы разрешения имен. Если мы можем пользоваться любыми DNS-серверами, то и запросы к ним можем “завернуть” в наш шифрованный SSH-туннель:
sshuttle --dns -r username@sshserver 0.0.0.0/0
Помимо этого мы можем направлять в туннель наш исходящий трафик не полностью, а только для определенных IP-подсетей, указывая соответствующий параметр:
sshuttle -r username@sshserver 11.12.13.14/0