Categories: linux

sshuttle/

Вы можете помнить, как когда-то я рассказывал про установку и настройку OpenVPN за 5 минут . А знаете ли вы, что абсолютно любой SSH-сервер можно использовать в качестве совершенно полноценного VPN вообще без какой-либо настройки? Такую добрую магию нам дает замечательная утилита под названием sshuttle , о которой и пойдет речь далее.

Дополнение: Опыт показал, что стабильность работы sshuttle сильно зависит от качества вашего интернета. По возможности я бы все же рекомендовал использовать OpenVPN, а про sshuttle знать просто так, на всякий случай.

Итак, установка в Arch Linux :

sudo pacman -S sshuttle

В других дистрибутивах Linux пакет почти наверняка будет называться так же.

Далее создаем скрипт с именем типа vpn.sh:

#!/bin/sh

set -e

USER =eax
SERVER =11.22.33.44
DNS =8.8.8.8

mv / etc / resolv.conf / etc / resolv.conf.sshuttle- $SERVER .bak
echo «nameserver $DNS » > / etc / resolv.conf
sshuttle —dns -r $USER @ $SERVER -x $SERVER 0 / 0 || true
mv / etc / resolv.conf.sshuttle- $SERVER .bak / etc / resolv.conf

Здесь eax и 11.22.33.44 нужно заменить на имя пользователя и IP-адрес вашего сервера.

Далее говорим:

chmod u+x . / vpn.sh
sudo . / vpn.sh

… и ждем появления строчки:

client: Connected.

Проверяем, что все работает:

curl https: // remontka.com / ip /

В ответ должен прийти IP-адрес использованного SSH-сервера. Также проверяем, что используется DNS-сервер, указанный в переменной $DNS :

dig remontka.com

В ответ должно прийти что-то вроде:


;; Query time: 20 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)

… где 8.8.8.8 — это выбранный нами DNS-сервер. В данном случае это сервер компании Google.

Напоследок вот вам несколько занимательных фактов о sshuttle:

  • Чтобы все работало, на сервере не требуются ни root, ни sudo;
  • Утилита не ломается, если попытаться сделать VPN внутри VPN;
  • Также вы можете использовать ее совместно с OpenVPN или каким-нибудь Tor ;

Вот такая полезная утилита.

admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

4 недели ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

4 недели ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

4 недели ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

4 недели ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

4 недели ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

4 недели ago