{"id":2175,"url":"\/distributions\/2175\/click?bit=1&hash=803b6e1bcbd9dfc4ba9456fda887a878c80d24df8d3a575913b14876e18923a5","title":"TJ \u0437\u0430\u043a\u0440\u043e\u0435\u0442\u0441\u044f 10 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u2014\u00a0\u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0430\u043d\u043e\u043d\u0441 \u0441 \u0434\u0435\u0442\u0430\u043b\u044f\u043c\u0438","buttonText":"\u0427\u0438\u0442\u0430\u0442\u044c","imageUuid":"d1d355d8-93a3-5140-aeae-14b03046b760","isPaidAndBannersEnabled":false}
Технологии
byron

Инструкция: Как настроить свой VPN-сервер

В связи с претензиями к популярным VPN-сервисам и появлением новой компании, которая обещает «100% блокировку Telegram».

Как мы все уже на TJ знаем, Роскомнадзор выдал тендер «РДП.ру» на установку их системы DPI, для того чтобы попытаться окончательно заблокировать Telegram на территории РФ. Пытаются ввести всякие законы о ещё большем контроле трафика внутри РФ, и помимо этого Роскомнадзор попросил многие популярные VPN-провайдеры зарегистрироваться в его системе, в противном случае пригрозив им блокировкой. Из-за этого всё больше людей изучают возможности создания своего собственного VPN соединения, а не покупки сервиса у кого-то другого.

Для начала поймём, в чём разница в сравнении с покупкой VPN-сервиса:

  • Дешевле (иногда);
  • Приватнее и безопаснее. Вы точно будете знать, ведёте ли вы сами записи о посещаемых сайтах на вашем VPN-сервере или нет;
  • Быстрее. Вы можете выбрать сервер ближе к вашей локации для меньшего пинга, да и на самом сервере будете вы один;
  • Круче (100%).

Для того чтобы запустить на своём сервере VPN, нужно понимать, какой клиент, протокол и тому подобное вы собираетесь для него использовать. Об этом и будет конкретно эта статья.

Скриншот softether.org

Проект, который начали разрабатывать ещё в 2001 году и с тех пор потихоньку улучшали. Является в какой-то степени академическим исследованием.

На мой взгляд, самый умный, интересный и легкий для установки и подключения клиент. Главная фишка даже не в том, что его разрабатывали в Японии от имени прекрасного университета Цукубы, а в том, что его функциональность уникалmyf по сравнению с любыми другими VPN-клиентами (хоть и немного ограничена по ОС).

SoftEther VPN позволяет подключаться к себе, шифруя трафик в:

  • DNS. Таким образом можно использовать интернет на полную, даже если ваш провайдер отключил вам интернет, но не ограничил DNS-соединения;
  • ICMP. Аналогично DNS-соединению, все ваши пакеты будут видны на уровне DPI как обычный ICMP;
  • SSL. Самое крутое на мой взгляд, 100% соответствие HTTPS-пакетам. Отличить от обычного подключения на сайт через HTTPS невозможно (как заверяет SoftEther);
  • L2TPv3/IPsec;
  • OpenVPN.

Вдобавок всё это даётся бесплатно из коробки, а в версии для Windows есть графический интерфейс.

Скриншот панели управления сервера

Минус SoftEther: на macOS использовать его в полном объёме не выйдет, как и на телефонах. SSL-VPN соединение (то самое которое упаковывает трафик в HTTPS) работает только при условии подключения с компьютера под операционной системой Windows. А для того, чтобы запустить и без того полурабочий клиент для macOS, придётся собирать клиент вручную.

Других серьёзных минусов у него нет. Я с удовольствием использовал его в свои времена, когда на рабочем Wi-Fi отфильтровали OpenVPN, L2TP, IPSec и другие, а на Reddit мне всё равно хотелось заходить.

OpenVPN

Логотип OpenVPN

(Обновлено благодаря Золотому Наномишке)

Самый популярный в мире клиент OpenVPN для создания VPN-подключений. Его тоже можно установить бесплатно на любой сервер Linux, а их можно достать всего за 2 евро в месяц: работать OpenVPN на них будет прекрасно.

В интернете существует куча руководств по установке данного VPN-сервера. Запустить его ужасающе просто.

OpenVPN используют много компаний, есть вдоволь публичных и приватных VPN-сервисов на продажу и для бесплатного подключения. Всё это позволяет коммьюнити вокруг клиента быстро находить баги и уязвимости, а разработчикам — исправлять их.

Эксплуатировать OpenVPN возможно разными способами: пропуская свой трафик через обычный OpenVPN-протокол или же модернизируя клиент, к которому существует множество интересных модулей. По словам пользователя TJ Золотого Наномишки, нижеперечисленное используют для обхода блокировок в Китае:

  • Stunnel. Позволяет превратить трафик между OpenVPN-сервером и OpenVPN-клиентом в полную копию TLS/TCP (HTTPS трафика, о котором уже говорилось в клиенте SoftEther);
  • obfsproxy. Он хоть и старый модуль, но в каком-то смысле «морфит» (изменяет вид) трафика, пакуя его в нужный человеку формат. Он сложен для настройки на серверной стороне, да и новый модифицированный пакет может быть заблокирован, и несколько внутренностей всегда останутся теми же — время, размеры пакета, другие основные характеристики. Однако когда в Иране в 2012 году начали фильтровать SSL-трафик и подключение к ТОРу было заблокировано, это на какое-то время спасло ситуацию.

Для кого-то устанавливать модули поверх OpenVPN может показаться проблемой, однако это до момента, пока не будет найдена инструкция на установку популярного модуля. В основном это не занимает больше пары-тройки строк в командной строке.

IPSec VPN

Популярное и ещё более простое решение. IPSec является протоколом для VPN-соединений (выходящие из него — AH, ESP, IKE, и другие), и установить его можно одной строчкой в командной строке Linux-сервера. Он даёт достаточный уровень безопасности, скорости и всего остального, при этом функциональность ужасно скудна, да и сами протоколы легко блокируются и фильтруются.

С другой стороны, он также быстро и круто работает на телефонах, и многие публичные VPN-сервисы, которые продают к себе доступ для соединений с мобильных устройств, используют именно IPSec.

VPN через SSH

Самое смешное и простое подключение, которое позволяет создать прокси из пустого SSH подключения к стороннему серверу. Обнаружить трафик и определить какого он типа в этом случае возможно, однако не так легко, как кажется.

Реализуется простой командой в одну строку ("ssh -N [email protected] -L 3306:127.0.0.1:3306") — и вуаля, у вас прокси на указанном вами порте (в приведённом примере — 3306, а IP для подключения 127.0.0.1, потому что соединение открыто на локалхосте).

Удобен в использовании, относительно сложен и непопулярен в какой-то степени в блокировке. Позже его можно использовать как прокси, пуская всю систему через него — например, с помощью Proxifier или любого другого софта. Тем не менее обнаружение уже исходящего трафика, зашифрованного в вид SOCKS5 (например), возможно, а поскольку SOCKS5 очень популярен, руководства по его блокировке в сети пруд пруди, и шанс того, что ваш местный офисный сисадмин уже заблокировал его, довольно велик.

PPTP VPN

Очередной очень популярный протокол, встроенный в операционные системы Windows со времён, когда ещё мамонты были живы.

Относительно сложно настраивается и на стороне клиента, и на стороне сервера. Даже с учётом, что всё делается через графический интерфейс, работает относительно средне, ничем удивительным от других протоколов или видов подключений не отличается. Пакеты идут с понятным названием протоколов и легко фильтруются с помощью DPI. Это, наверное, один из самых старых и до сих пор самых используемых протоколов и систем соединения между сервером и клиентом.

Многие говорят, что он 100% безопасен для использования, и вообще не стоит даже думать его устанавливать. Он как самое худшее — в конце списка.

Итог

Используем SoftEther VPN для максимальной эффективности, поскольку имеем кучу протоколов, настроек, и всё удобно из коробки. Однако для того, чтобы всё работало хорошо, придётся иметь сервер на Windows: стоят они недёшево по сравнению с Linux, и платить придётся по 10-15 евро в месяц. Однако можно быть уверенным в том, что VPN тебе не заблокируют, да и ограничить доступ к нему в целом не смогут, а трафик будет надёжно защищён.

Использовать его стоит только в случае, если у вас основной компьютер на Windows, потому что без SSL-VPN, VPN через ICMP и VPN через DNS он в наших реалиях теряет смысл. Разве что ради возможности подключаться сразу к серверу с нескольких протоколов (и с OpenVPN можно, и с IPSec, да и с PPTP) и отсутствию необходимости устанавливать отдельно OpenVPN + IPsec + PPTP.

В случае, если ваш основной компьютер работает на macOS, или вы не хотите платить много денег за VPN и понимаете, что он нужен просто для обхода блокировок, а именно за вами конкретно никто не следит и к каким VPN серверам для обхода блокировок вы подключаетесь никого не волнует, можно использовать OpenVPN/Ipsec протоколы — выйдет дешевле и круче.

А если вам просто лень разбираться, запускать всякие клиенты и просто хочется иметь что-то похожее на VPN под рукой, вы можете купить сервер и подключаться к нему по SSH, создавая себе прокси-соединение. Таким образом вам не придётся настраивать ровно ничего на сервере, а прокси будет стабилен, однако нужно помнить о легкой его блокировке (при условии фильтрации исходящего трафика).

Существуют и другие протоколы, методы, клиенты для подключения. Тут перечислены те, которые я по своему мнению решил перечислить (помимо PPTP — я его просто так добавил): самые популярные, стабильные, быстрые и безопасные для использования. Существует IKe2, SSTP и ещё парочка, которые в принципе бесполезны и являются или клоном/новой версией PPTP, или просто недостоверными настолько, что их не использует почти никто и нигде из-за боязни наличия дыр, которые повлекут за собой утечку данных.

Это моя первая статья. Я не умею писать, но, мне кажется, ребятам, которые мало чего понимают в этом, будет интересно почитать. Особенно при том, что почти никто не знает про SoftEther, а это ведь реально очень хороший софт, который ушёл далеко в будущее по сравнению даже с OpenVPNом, и его отсутствие в массах объясняется лишь тем, что никто о нём не знает.

0
104 комментария
Написать комментарий...
Константин Андреевич

Меня больше интересует всегда, кто эти люди, которые непосредственно занимаются блокировкой телеграмм vpn и тд? Это же какие-то программисты, которые читают ТЖ, сидят на хабре и тд. Что с вами не так?

Ответить
Развернуть ветку
Драгоценный Кирилл

Всегда были, есть и будут люди, готовые продать мать родную за деньги

Ответить
Развернуть ветку
7 комментариев
Сиреневая Бо

Возможно они нормальные люди, которые хотят и хлебушек с маслом и не вредить особо

Ответить
Развернуть ветку
Artyom Pas'ko

Может быть благодаря им телеграм и работает. Это хорошие программисты, они в ркн под прикрытием, саботируют блокировки

Ответить
Развернуть ветку
arayam

Даедра, спасибо за полезный пост.

Ответить
Развернуть ветку
Синий паркур

Комментарий недоступен

Ответить
Развернуть ветку
Престижный Кирилл
свой сервер
под управлением Windows

Звучит очень-очень странно.

Ответить
Развернуть ветку
Синий паркур

Комментарий недоступен

Ответить
Развернуть ветку
2 комментария
Золотой Наномишка

Про другие способы скрытия OpenVPN траффика не рассказал, хотя ими пользуется большинство сервисов, предназначенных для использования в Китае (там как раз жёсткий DPI фаерволл).

Вот гайд про них: https://support.nvpn.net/Knowledgebase/Article/View/416/0/how-to-bypass-dpi-deep-packet-inspection

Ответить
Развернуть ветку
byron
Автор

Блин, а я про Stunnel и не знал, спасибо, ты крутой, обновлю потом текст, если можно будет.
Obsfproxy + tls-crypt тоже добавлю, хотя они какие-то не очень интересные.

Ответить
Развернуть ветку
Последующий Орзэмэс

Комментарий недоступен

Ответить
Развернуть ветку
Никита Лихачёв

Напиши инструкцию.

Ответить
Развернуть ветку
Andrey Vasilev

DO Это не очень вариант для некоторые сервисов, например нетфликс. Они блокируют такие известные VPS. Плюс некоторые айпи заблокированы
Самый удобный вариант, имхо - https://github.com/StreisandEffect/streisand

Ответить
Развернуть ветку
Прошедший турник

Я думаю, варианты с Docker будут самыми простыми для начинающих, учитывая установку в два клика. Накидай, еще хороших образов, я бы добавил их в статью на месте автора

Ответить
Развернуть ветку
Невинный теркин30см

Странно, что не упомянули outline.
Устанавливаешь, авторизируешься через DO и в пару кликов свой VPN.

https://getoutline.org/

Ответить
Развернуть ветку
Slow Dimon

В этой статье плохо всё: от сервера на виндовс до предложений без мультиплатформы.

Ответить
Развернуть ветку
byron
Автор

SoftEther, OpenVPN, IPSec по сути все мульти-платформны.

Ответить
Развернуть ветку
Страховой ключ

Ещё такое есть:
https://github.com/ValdikSS/GoodbyeDPI
Сам не ковырял

Ответить
Развернуть ветку
Михаил Бочаров

С хорошим DPI у провайдера она тебе не поможет

Ответить
Развернуть ветку
Последующий Орзэмэс

Комментарий недоступен

Ответить
Развернуть ветку
Stepka

Я бы ещё про Outline (протокол shadowsocks) добавил. Устанавливается легко как на сервере,так и на клиентах,про возможность обнаружения не знаю,к сожалению, ничего, но, говорят, в Китае норм работает

Ответить
Развернуть ветку
Закомплексованная Душа

Outline лучшее с чего сталкивался, из коробки все заработало, каждая домохозяйка осилит установку и настройку

Ответить
Развернуть ветку
2 комментария
Невинный теркин30см

Сам не тестил, но шарил outline и в китае были с этим проблемы, много сетей не пропускало

Ответить
Развернуть ветку
Никита Лихачёв

Спасибо большое за пост, особенно учитывая, что чукча не писатель. Я отредактировал насколько мог, чтобы сделать более удобочитаемым.

Ответить
Развернуть ветку
byron
Автор

Всё-таки это не инструкция, а обзор

Ответить
Развернуть ветку
Вчерашний глобус

А как же WireGuard? Да, он пока не умеет ходить по TCP и у него нет обфускации, но это самый быстрый VPN. С моим гигабитным каналом, я получаю на выходе тот же самый гигабит с минорной потерей в районе 5%. Разве это не сказка? Я уж молчу про ультрамалое время хендшейка. На мобиле использовать в режиме Always-On одно удовольствие.

Ответить
Развернуть ветку
какой-то иван

напиши инструкцию?

Ответить
Развернуть ветку
Геологический фитиль

Раз уж ты в теме: винду можно подключить? Сам уже давно на этот проект засматриваюсь, но официального клиента так и нет.

Ответить
Развернуть ветку
5 комментариев
Прошедший турник

Настроить OpenVPN легко — ну да, конечно

В статье не хватает тех самых инструкций, которые позволят юзерам не потонуть в сертификатах, параметрах и правилах iptables. А то информация полезна, но как что-то поднять самому так и неясно

Ответить
Развернуть ветку
Справедливый клуб

Комментарий недоступен

Ответить
Развернуть ветку
Удивленный динозавр

Есть скрипты-однострочники

Ответить
Развернуть ветку
Dear Moscow,
На моё мнение самый умный, интересный, и легкий для установки и подключения клиент, сама же его фишка не сколько то что его разрабатывали в Японии от имени прекрасного университета Цукубы
Используем SoftEther VPN для максимальной эффективности

О**енное [охуенное] начало, ящетаю.

UPD:
Ещё круче то, что если вручную добавить exception, автоматом перекидывает на google.com.

Ответить
Развернуть ветку
Dear Moscow,

В общем, специалисты по сетевым протоколам на ТЖ примерно такие же, как японские админы.

Используем SoftEther VPN ... однако для того чтобы всё работало хорошо, придётся иметь сервер на Windows

Softether поддерживает, как они сами пишут, "Linux (32bit, 64bit): Linux 2.4, 2.6, 3.x, 4.x".
При этом рекомендуют RHEL, Fedora и CentOS:
https://www.softether.org/4-docs/1-manual/7._Installing_SoftEther_VPN_Server/7.3_Install_on_Linux_and_Initial_Configurations

Вот несколько гайдов по установке из Гугла (я не тестировал ни один из них!):
https://www.digitalocean.com/community/tutorials/how-to-setup-a-multi-protocol-vpn-server-using-softether
https://linoxide.com/linux-how-to/install-softether-vpn-server-centos-7/
https://www.ukhost4u.com/community/blog/how-to-set-up-a-vpn-using-softether-on-centos-7/

Есть даже некий установочный скрипт для CentOS 7 (обязательно читайте readme к нему):
https://github.com/MaverickTse/softether-install

Ответить
Развернуть ветку
6 комментариев
Виталий Лановой

Почему в подсайте разработка?

Ответить
Развернуть ветку
byron
Автор

А куда стоило? В технологии? Думаю в разработке чуть больше подходит

Ответить
Развернуть ветку
4 комментария
Рамиль

Добавлю ещё WireGuard. Не пробовал, но от него все ссут кипятком на hackernews и недавно появился клиент iOS.

Ответить
Развернуть ветку
Геологический фитиль

Только под винду пока нет, уже давно обещают soon

Ответить
Развернуть ветку
2 комментария
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Виктор Буслов

Заголовок: «Инструкция: Как настроить свой VPN-сервер». Внутри: беглый и не всегда корректный обзор имеющихся решений и полное отсутствие инструкции. wtf?

Ответить
Развернуть ветку
Jakub Muller

ПУТИН ХУЙЛО!

Ответить
Развернуть ветку
Блестящий лолипоп

Комментарий недоступен

Ответить
Развернуть ветку
какой-то иван

целовальник закрой порванка

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
2 комментария
Страховой ключ

ла-ла-ла

Ответить
Развернуть ветку
Уникальный теркин30см

Подскажи последнее слово силы.

Ответить
Развернуть ветку
Alexander Litreev

WireGuard забыли.
OpenConnect забыли.

Несерьезный подход.

Ответить
Развернуть ветку
Эржан Ибраимов

Статья пушка, в закладки

Ответить
Развернуть ветку
Zasad Asdasd

Streisand top

Ответить
Развернуть ветку
Роман Морозов

Ничего не понимаю, нужен впн или прокси для телеграма на андроид. Что ставить, где платить?

Ответить
Развернуть ветку
byron
Автор

Очень легко заблокировать на уровне файрволла имхо, да и такой-же формулой можно OpenVPN поднять который по моему мнению лично в разы лучше.

Ответить
Развернуть ветку
Игорь Никитин
Приватнее и безопаснее

Ну это спорно, на самом деле.
Во-первых, смотря как настроишь. Если не повырубать на машине логи, то уже не приватнее и безопаснее.
Во-вторых, хостер будет видеть все исходящие подключения. И логировать их, конечно.
В-третьих, фиг знает, может ещё что-то

Ответить
Развернуть ветку
Павел Бондаренко

Крутая стаття. Но - в случае (моего любимого) SoftEther VPN - у них на сайте есть большое количество публичных VPN-серверов, которые выкладывают добровольцы со всего мира. И можно совершенно бесплатно - подключаться к любому из них (страну - ты видишь сразу, и выбираешь сам - США, Корея,Япония,Вьетнам.....) ..одно из моих развлечений - заходишь через Иран, например, идёшь в тренды Youtube - там такая дичь ))))

Ответить
Развернуть ветку
Солидный томагавк_два

Ну гайд для винды сосед, т.к. я думаю много кто пользуется разными ос, у всех есть ведь телефоны. А заюзать телефон чтобы зайти на любимый pornhub через vpn так это вообще маст хэв. Далее. Юзать ближайший сервер - это российский значит. Который так же будет обслуживаться российским провайдером скорее всего и смысл тогда..........................

Ответить
Развернуть ветку
NiemandDa

Вот скрипт:
https://github.com/hwdsl2/setup-ipsec-vpn

Поднимает и настраивает личный впн за 5 минут. Юзал на Azure, но другие хостинги тоже подойдут, лишь бы линух был.

Ну и писал по этому поводу на дтф:
https://dtf.ru/flood/19708-kak-zastavit-rabotat-psn

Ответить
Развернуть ветку
Ivan Testov

Но разве IPSec не проще всего заблокировать?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Jakub Muller

Я жду когда мне впарят штраф в 100 тысяч)

Ответить
Развернуть ветку
Никита Андреев

Вот самая простая инструкция и возможность почувствовать себя умнее:
https://p.umputun.com/p/2014/08/12/svoi-sobstviennyi-vpn-za-3-minuty/

Ответить
Развернуть ветку
Spid3r

А есть же, вроде, способы поднять VPN на своем роутере? Может, кто-то расскажет как (желательно, на примере Keenetic'а)?

Ответить
Развернуть ветку
Никита Андреев

зачем? что-бы подключаться с телефона в свою локальную сеть? VPN должен находиться там - где нет заблокированых ресурсов

Ответить
Развернуть ветку
5 комментариев
Михаил Кометов

Главное не поднимайте на своих серверах чистый MTProto для телеграма. Ркн блокирует айпи крайне быстро

Ответить
Развернуть ветку
Классный Никита

а что поднимать если хочешь прокси для телеги?

Ответить
Развернуть ветку
1 комментарий
Классный Никита

мы себе в офис SoftEther на убунте в ирландии подняли и подключаемся к нему через OpenVpn клиенты и работает все хорошо, даже с маков

Ответить
Развернуть ветку
Maksym Pustynnikov

А shadowsocks? Не VPN технически, но все же

Ответить
Развернуть ветку
Andrey Mima

Самый простой способ настроить свой собственный VPN — это гугловский Outline: https://getoutline.org

Ответить
Развернуть ветку
жуланов Александробл Alekcandr

Поступки на высших законах эволюции блокироаки модераторов отомрут сами

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Alexander Popov

Статья для Хабра, сначала даже не понял, что это TJ :)

Ответить
Развернуть ветку
Andrius Kai

Я давненько писал пост обо всем этом. берем заграничный travelsim, профит. Мобильный роуминговый интернет трафик не режут даже в Китае. Цены вполне ок, видов сим-карт навалом.

Ответить
Развернуть ветку
Читать все 104 комментария
null