VPN бедняка — sshuttle

http://github.com/sshuttle/sshuttle

SSHuttle — что-то среднее между проксёй ssh -D 8080 юзер@айпи и VPN. В отличие от первой, у сабжа нет задержек из-за туннелирования TCP внутри TCP: производительность TCP полагается на целостность сетевых пакетов; sshuttle не пересылает пакеты по одному, а собирает их в единый грузовик пакетов на нашей стороне и распаковывает, отправляя дальше — на серверной. В отличие от VPN же, sshutle не требует рута, настройки портов, сертификатов и прочего гемора, т.е. простой в настройке (в мобильных консолях может не хватить зависимостей).

📌 Детали

  • минимализм: весит <500КБ в установленном виде
  • из требований только путон 3.8+ и пара извилин клиент-сервер
  • опционально проксирует и DNS-запросы (--dns), и UDP (TPROXY)
  • краткая документация
  • поддерживает Linux, FreeBSD, macOS
  • на нестабильные серверы (тот же бабушкин комп на винде) можно поставить как сервис

Для стран с бессмысленной и беспощадной блокировкой нескрепных протоколов есть бонус: SSH — это «необходимое зло» и не будет заблокирован без былинного ущерба в 146% XP для бизнеса хотя бы с одним красноглазым сисадмином на еде зарплате. Арендовать VPS необязательно — можно поднять хоть на бабушкином компе с маздаем, но бабушке желательно жить не в этой стране и не за NATом (берём белый айпи у её провайдера, либо какой-нибудь DDNS), если VPN нужен не для корпоративных целей, а как портал в Ад.

📌 Начало работы

  1. Ставим на сервер: sudo apt install sshuttle
  2. Подключаемся с клиента (ББ): sudo sshuttle --dns -r юзер@айпи 0.0.0.0/0 Во избежание быстрой, решительной блокировки вашего VPN цензором не стоит менять на сервере стандартный порт 22. Учитывая ориентацию сабжа на терминал, его удобно поднять на роутере.

ИМХО:  Раньше простейшим вариантом VPN для тех, кто меняет сервера как перчатки, считал OpenConnect, но сабж оказался и того проще.

Свежее