• Уменьшение отступа

    Обратная связь

    (info@ru-sfera.pw)

ВАЖНО Сверхъ-анонимный VPN


Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
2 780
Репутация
4 652
Сегодня листал статейки на Хабре и наткнулся на прикольную штуку. Скажу сразу, что к названию темы она не имеет отношения (впрочем и перечисленные выше способы тоже не тянут на сверханонимность). В общем мануал для лентяев-распиздяев, которым нужно по быстрому сменить ип.

Извращенные методы туннелирования трафика: часть 1. Прощай openvpn, привет sshuttle

Кажется, что я вспомнил про свой блог и решил сюда чего-нибудь написать. Точнее, не чего-нибудь, а самый прекрасный способ быстренько организовать себе VPN-соединение через другой сервер.
На «другой сервер» вам нужен только ssh (при том — не обязательно под рутом). Ещё на той стороне понадобится установленный python 2.3+ (а это все дебианы, начиная с 4-ки, кажется, и все убунты, начиная с 8.04). Ну и понадобится рутовый доступ на своём любимом ноутбучке. Всё — этого достаточно для того, чтобы зароутить весь трафик системы через ssh через сервер у нормального провайдера.
Заинтригованы? Поехали.
Для начала, поставим виновника торжества — пакет sshuttle

Код:
root@laptop:~# apt-get install sshuttle

Теперь цепляем VPN:

Код:
root@laptop:~# sshuttle -r user@remoteserver 0.0.0.0/0 -vv

Последней командой мы завернули весь ipv4-трафик (0.0.0.0/0) своей системы через ssh-туннель до remoteserver. Всё.


Когда я первый раз наткнулся на эту утилиту у меня на лице выражение было с тегом «WAT?». Это же действительно гениально, ей б-гу. SSH-ей у всех хватает, OpenVPN поднимать ради «раз в неделю из открытой wifi-сети посидеть» лениво (окей-окей, не всем).

Ну да ладно, теперь о технических деталях. Сначала о минусах. Первый минус — нет поддержки ipv6. Второй — медленно, блеа! 2 мегабита в секунду через hetzner (с RTT всё хорошо, тем не менее). Но с медленно — это понятно, это ssh, он зашифрован на отличненько, хочет хороший процессор с обеих сторон (а у меня на второй стороне виртуалка с одним ядром). Ещё к минусам можно отнести то, что из коробки он пробрасывает через себя только tcp (и udp пробрасывает хреново, хотя и справляется с dns-трафиком).
Плюсы — мало кто догадывается, что можно делать так. Сами знаете о чём я. Следующий плюс — оно действительно «Just works» и не нужно ни с чем извращаться.

Теперь о том, как работает.
1) в момент запуска sshuttle копирует на удаленный сервер некий assembler.py (/usr/lib/sshuttle/assembler.py с ноута)
2) запускает assembler.py на удаленном сервере (python2 -c import sys; skip_imports=1; verbosity=2; exec compile(sys.stdin.read(764), «assembler.py», «exec»))
3) запускает на локалхосте /usr/lib/sshuttle/main.py
4) в iptables добавляет правило, по которым весь tcp трафик заворачивается в ssh-туннель.

Ещё несколько примеров. Завернем DNS трафик через туннель тоже:

Код:
root@laptop:~# sshuttle -r user@remoteserver 0.0.0.0/0 -vv --dns

(учтите, что если у вас в resolv.conf прописаны провайдерские dns-резолверы, то к ним вас после этой команды могут «не пустить». Впрочем — кто такой херней страдает и оставляет провайдерские dns?)

Используем ssh-ключ для коннекта:

Код:
root@laptop:~# sshuttle -r user@remoteserver 0.0.0.0/0 -vv --dns --ssh-cmd "ssh -i /home/username/.ssh/id_dsa"

Используем ssh-агента для коннекта:

Код:
root@laptop:~# sudo SSH_AUTH_SOCK="$SSH_AUTH_SOCK" sshuttle -r root@messer.qs.biz 0.0.0.0/0 -vv

Отроутим трафик через ssh только до определенных сетей/хостов:

Код:
root@laptop:~# SSH_AUTH_SOCK="$SSH_AUTH_SOCK" sshuttle -r root@messer.qs.biz 188.40.35.183/32 153.121.72.212/32 153.121.72.211/32 173.194.122.0/24 -vv

Да, ещё где-то в недрах «это ж опенсорс!» есть версия, которая умеет роутить вообще весь трафик (и icmp, и весь udp), но она не очень похожа на стабильную. - вот здесь (это НЕ апстрим проекта).

И если вы никуда не торопитесь — то такой туннель можно поднять и внутри любого другого VPN-соединения ;)

Статья с Хабра, где вкратце описывается эта утилита (там же есть ссылка на костыль для виндузятников)
Оригинал обзора приведённого выше (там же можно почитать "Уголок параноика")
 

Дархон

Пользователь
Форумчанин
Регистрация
16.05.2013
Сообщения
3
Репутация
1
Попался мне недавно ряд статей про настройку собственного VPN и вообще настройке VPS для анонимности. Ценно, что контент свежий, расписано всё подробно-пошагово, и в общем толково. к примеру, и остальное в той же рубрике.
 
Верх Низ