В связи с последними событиями в России хочу рассказать вам о классном self-hosted VPN-сервере. После простой установки, без особого труда и углубленных знаний вы сможете создавать пользователей, генерировать VPN-профили и смотреть графики использования сети.


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


В результате чего пятидоллоравая VPS'ка может превратится в мощный инструмент обхода блокировок


Обзор


На самом деле Pritunl — это надстройка над OpenVPN с красивой web-мордой, которая легко устанавливается и сразу работает. Для подключения сгодится любой openvpn-клиент, а для десктопов предусмотрен отдельный штатный клиент.


Говорить тут больше особо не о чем, лучше приведу вам несколько скриншотов:


Список профилей:



График использования:



Логи сервера:




Установка


Установка крайне проста и с ней может справиться даже любой начинающий энтузиаст:


  1. Для начала вам нужно купить VPS-сервер где-нибудь за пределами вашей страны.
  2. На этой VPS достаточно выполнить команды описанные в руководсвте.
  3. После этого можно продолжить настройку через веб-интерфес.
  4. Если у вас есть доменое имя с настроенной A-записью, можете указать его в настройках, для него автоматически будет получен Letsencrypt-сертификат.

Вот так легко и не принужденно можно получить свой собственный VPN-сервер.


Подключение


  1. Для каждого пользователя нужно создать отдельный профиль в Pritunl.
  2. Ссылку на профиль (или сам профиль) необходимо отправить пользователю.
  3. Пользователю достаточно открыть этот профиль приложением и нажать подключиться.

Рекомендуемые клиенты:



Помоги всем. Обеспечь VPN себя и своих друзей.

Комментарии (78)


  1. institor
    11.05.2018 12:39

    Вот только надо еще найти VPS с адресом не в заблокированной подсети :(


    1. Zava
      11.05.2018 12:48

      Я воспользовался Scaleway и наследующий день попал в блок РКН. Но поигравшись с местным «генератором» IP сумел найти и зарезервировать два адреса в разных не заблокированных подсетях. Установил образ с OpenVPN и поставил dante — socks5 proxy. Сейчас все работает.
      UPD: добавлю, что обладаю весьма поверхностными знаниями. Но достаточно уметь читать не хитрые инструкции и документации, — и сможет справится с задачей любой человек, способный понять с какой стороны включается компьютер.


      1. hashtet
        11.05.2018 17:02

        Зря видимо сюда пишем, но так же зарегистрировался и через день мой IP попал в блок, не разобравшись написал им в саппорт, и в догонку сам же написал, что всё нормально — это наше е**чее правительство.
        Они ответили, что да… сочувствуем, а ещё через день сами написали, мол «мы нашли тут вам хорошие IP — смотрите в личном кабинете». Поддержка на высоте, в общем.(но у меня пока на амазоне всё работает)


        1. Zava
          11.05.2018 17:46

          Я думаю нас накрыло после поста про веерные блокировки, где в комментариях рассказали про ScaleWay, в тот же день Дуров воспользовался там несколькими IP, около 5 штук, которые были конкретно указаны в реестре, а следом вся подсеть 51.15.0.0/16.
          PS: в смысле Дуров не узнал из комментов про scaleway =) а просто нам не повезло, ну вы поняли )
          Кстати до сих пор блокируют, отпустили только Амазон и Гугл


        1. Barnaby
          12.05.2018 14:09

          «мы нашли тут вам хорошие IP — смотрите в личном кабинете»

          А вот мне не нашли. Смог получить из другой подсети в Париже, но не в Амстердаме.


          Unfortunetly, we have no ways to force a certain IP.
          You will have to try to order a new IP until you get one that is not blocked


    1. m0nym
      11.05.2018 21:37
      +1

      Вот только надо еще найти VPS с адресом не в заблокированной подсети :(


      Любой мелкий хостер, не облачный, без API — то есть те, которые не интересны Телеграму.


    1. Rampages
      12.05.2018 09:58
      -3

      Можно использовать digitalocean (ссылка с рефералом и дает вам $10 на пробу). Если IP вашего «дроплета» не открывается, то просто создаете новый «дроплет», а старый удаляете. Самый дешевый «дроплет» за $5 имеет 1Тб трафика на месяц, дополнительный трафик будет стоить $.01/GB, более подробно.


  1. Softer
    11.05.2018 12:53

    Если это надстройка над OpenVPN — зачем отдельный клиент на десктоп?


    1. kvaps Автор
      11.05.2018 13:00

      Для простоты настройки, многим проще вставить ссылочку в клиент нежели скачивать и импортировать какой-то профиль.
      Но это дело вкуса конечно, на linux я использую NetworkManager с плагином для openvpn.


    1. 0xf0a00
      11.05.2018 13:01

      кстати тот же вопрос


  1. immaculate
    11.05.2018 13:14

    У сервиса AirVPN тоже есть десктопный клиент для Windows и Linux. Для мобильных ОС не вспомню, но помню, что без труда настроил использование их VPN у себя на телефоне с Android.


  1. cooladmin
    11.05.2018 13:32

    Неплохая альтернатива для OpenVPN AS получилась.
    Правильно понимаю, что никакой финансовой модели не просматривается? (ни лицензий, ни суппорта, ни +\super\turbo\advanced версии?)


    1. kvaps Автор
      11.05.2018 13:43

      Ну, у них есть версии с поддержкой и расширенным функционалом.


      Pricing


  1. nafigat
    11.05.2018 14:12

    Есть ли возможность перенести сертификаты имеющегося сервера OpenVPN на сервер Pritunl? Или как-то «накатить» Pritunl на существующий сервер OpenVPN?


    1. valery1707
      11.05.2018 14:16

      Тоже интересует этот вопрос.
      Есть сервер streisand — можно ли к нему подключить Pritunl и получать удовольствие?


      1. Vovanys
        11.05.2018 19:14
        +1

        Нет просто так накатить не получится.
        Нужно заново все создавать. Но ключи и т.д. можно попробовать подпихнуть в бд mongo. Он там все настройки хранит.


  1. wilderwind
    11.05.2018 14:32

    Для себя и друзей подойдёт и простой pptpd на бубунте, поднимается с полпинка на самом дешёвом минимальном VPS, никаких специальных клиентов, всё уже встроено и в Android, и в Windows. Конфиг лежит в паре файлов, акки заводятся открытым текстом в chap-secrets. Вряд ли типичному пользователю нужны все эти ключи, Диффи-Хеллманы и монструозное шифрование в 4096…


    1. gudvinr
      11.05.2018 15:27

      К сожалению, некоторые сети просматривают трафик при помощи DPI и даже openvpn до версии 2.4, который не завернут в tls, обрубается в таких сетях. Не говоря о pptp


  1. dmitry_dvm
    11.05.2018 14:44

    Какие преимущества от решений на openvpn по сравнению с IPsec ikev2, например? Во втором случае вообще клиенты не нужны, на всех актуальных осях работает из коробки.


    1. IgorGIV
      11.05.2018 15:32

      А как сейчас обстоят дела с клиентом l2tp/ipsec под линукс?


      1. dmitry_dvm
        11.05.2018 16:18
        -1

        Я не специалист, но насколько знаю — всё поддерживается и работает так же из коробки.


        1. Serge78rus
          11.05.2018 16:38

          всё поддерживается и работает так же из коробки
          Где-то год или два назад безуспешно пытался подключиться клиентской машиной с Debian к l2tp/ipsec серверу на винде. Может дело в кривизне моих рук, но очень хотелось бы доходчивой инструкции по открыванию этой «коробки». Все, что нашел тогда в интернете — реализовывалось на давно протухших версиях openswan/strongswan.


        1. IgorGIV
          11.05.2018 18:31

          Из коробки клиента под l2tp/ipsec нету, что удивительно. Думал, может Вы посоветуете простое решение/клиент для него.


          1. dmitry_dvm
            11.05.2018 22:28

            Не скажу про l2tp, но ikev2 настраивается буквально в несколько строк в strongswan.conf или ipsec.conf, в зависимости от дистра.


            1. m0nym
              12.05.2018 20:36

              Ага.
              И потом не работает на половине платформ.
              Завести его на Win 7 не удалось вообще
              На Android — только через родной клиент Strongswan

              На Win 10 — да, работает.


      1. Sabubu
        12.05.2018 14:57

        В Андроид же вроде бы встроен клиент? Значит и под линукс должен быть.


    1. Silvarum
      11.05.2018 17:23

      Для OpenVPN нужен один любой порт. IPSec нуждается в нескольких фиксированных портах (500 для IKEv2, 50 для ESP, 4500 для NAT traversal). Следовательно, заблокировать OpenVPN труднее.
      Теоретически, IPSec может жрать меньше ресурсов за счёт работы на уровне ядра, но на практике разницы не замечал.


    1. Barafu_Albino_Cheetah
      11.05.2018 18:05

      Из коробки, но не очень. Например в Win10 подключиться-то можно, а чтобы настроить автозапуск — добро пожаловать в коммандную строку с нужными заклинаниями. А чтобы настроить защиту при отключении — только внешний файрволл ставить.
      На Андроиде требуется устанавливать пароль на экран. Мне пароль не нужен…

      Так что в итоге всё равно сторонние клиенты лучше работают.


  1. throttle
    11.05.2018 14:47

    Gateway links
    Create a gateway link to route traffic for a local network to a vpn client. Allowing the vpn clients to access the remote network that is available to the linked vpn client

    Я правильно понял — они берут деньги за директиву iroute в ccd?


  1. zigzag8312
    11.05.2018 15:50

    Может есть под Windows Server что-то подобное, легкое в настройке?


    1. reablaz
      11.05.2018 21:38

      Hyper-V, а на нём уже по инструкции выше


  1. lex_dev
    11.05.2018 15:53

    Было бы неплохо узнать мнения по поводу того, как определить подходящую конфигурацию сервера под определенное количество людей (допустим, сразу на максимальной нагрузке, т.е. когда все сидят через впн одновременно). Т.е. какая конфигурация подойдет лучше под 10 человек, а 20?


    1. bilayan
      12.05.2018 11:55

      Почитайте эту ветку habr.com/post/356274/#comment_11147040


  1. lug32
    11.05.2018 15:53

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


  1. Newcss
    11.05.2018 15:53

    Удобная система, пользуюсь. Хотелось бы иметь возможность развернуть на Raspberry pi 3… Большой сервер держать не особо удобно.


    1. GennPen
      11.05.2018 22:14

      На Raspberry Pi этот же самый Linux. Или он сильно кастрированный что обычные пакеты не катят?



  1. dimatl
    11.05.2018 16:23

    Было бы интересно узнать мнение знающих людей про SSTP, он как-то вроде сильно похож на обычный https, и не смотря на родителя есть вроде и под линукс реализация.


    1. Vovanys
      11.05.2018 19:26

      К openvpn прикручиваете stunnel и отлично работает. DPI думает что это обычный ssl трафик. Проверено там где openvpn не работал вообще.


      1. dimatl
        11.05.2018 19:39

        Опять же, было бы интересно. Но это какая-то абстракция над впн, sstp всё таки более приземлённый и простой.


      1. Darkhon
        12.05.2018 02:56

        Не пробовали вместо этого использовать <tls-crypt> в современных версиях OpenVPN? В мануале заявляется, что это затрудняет обнаружение OpenVPN, но хотелось бы узнать достоверно, насколько это помогает на практике


    1. konchok
      12.05.2018 08:51

      У SSTP всё плохо с клиентами для смартфонов и это не то чтобы прям https, китайский DPI детектит его почти сразу.


  1. Macilnor
    11.05.2018 16:34

    А есть что нибудь подобное только с IKEv2 или L2TP и чтобы клиенты за NAT нормально работали? А то на домашнем интернете Билайн OpenVPN как то очень уж плохо работает, подключается но никакие сайты не грузит.


    1. kvaps Автор
      11.05.2018 16:55

      А есть что нибудь подобное только с IKEv2 или L2TP

      Можете попробовать посмотреть в сторону Mikrotik's Cloud Hosted Router.


      чтобы клиенты за NAT нормально работали? А то на домашнем интернете Билайн OpenVPN как то очень уж плохо работает, подключается но никакие сайты не грузит.

      Мне кажется у вас что-то не так с конфигурацией OpenVPN было, должно без проблем работать за NAT.


      1. konchok
        12.05.2018 08:57

        На Микротике IKEv2 до недавнего времени был один сплошной глюкодром, ветки на их форуме можно изучить. Но что ещё хуже, для немикротиковых клиентов ему нужен внешний сервер аутентификации — тот же StrongSwan итд


      1. Macilnor
        12.05.2018 11:45

        Я пробовал IKEv2 и L2TP на Strongswan — там не получилось подключиться одновременно с двух компов за одним роутером. А OpenVPN хорошо работал через Мастертел, а через Билайн подключался но данные не передавал от слова совсем так что на подключение двух клиентов я его даже не проверял.


    1. Barafu_Albino_Cheetah
      11.05.2018 18:10

      Shadowsocks попробуйте или Wireguard. OpenVPN могут тормозить, особенно на мобильном.


    1. Newcss
      11.05.2018 20:18

      На домашнем билайне поднимал сию программулину. Все работало. У вас скорее всего запрещен трафик во внешний мир, там в настройки галочку нужно поставить. У билайна и так l2tp, под ним openvpn работает очень и очень странно, по крайней мере — картинку с видео камеры на другом конце получить проблема была. Перешел на SkyNet и ценник ниже и качество интернета выше на голову.


    1. ky0
      11.05.2018 22:04

      Softether же.


  1. wild_one
    11.05.2018 17:48
    +1

    Наткнулся на замечательный проект Streisand.


    Streisand (https://github.com/StreisandEffect/streisand) автоматически, используя Ansible (открытый инструмент для развертывания сервисов), настраивает для Вас на выбранном вами сервере или VPS сразу несколько сервисов, предназначенных для обхода цензуры и обеспечения приватности в Сети.


    Настраиваются серверы OpenVPN, Shadowsocks, мост (bridge) для Tor, Openconnect (ocserv) и прочее. Рядом ставится понятный веб-интерфейс для легкого управления.


    TL;DR: автоматическая развертывалка машины для борьбы с РКН и прочими. Надо только осилить поставить Ansible, скачать Streisand и натравить его на купленную VPS. Не "нажать пару кнопок", но уже гораздо лучше, чем настраивать весь этот ворох софта вручную.


    Перевода на русский пока нет (кроме README), но я над ним работаю.


    1. Self_Perfection
      11.05.2018 18:09

      Ну такое. Я пробовал натравить на OpenVZ виртуалку, а оно сказало "кря" и сломалось. Вместо того чтобы настроить хотя бы часть сервисов, которые могли бы жить в этих условиях.


      1. wild_one
        11.05.2018 18:36

        Багрепорт? Я думаю, штука полезная.
        Она, например, поднимает скрытый сервис в Tor, к которому можно подключиться и скачать себе (друзьям) конфигурации для VPN.


      1. ky0
        11.05.2018 21:59

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


      1. Sabubu
        12.05.2018 15:00
        -1

        Наверно потому, что в OpenVZ нельзя настраивать iptables и ipsec. Это вообще довольно плохая технология (например, в ней так настроен учет памяти, что ее расходуется раза в 2 больше чем на KVM).

        OpenVZ годится для хостинга сайта, но не для чего-то более сложного. Я виртуалки с OpenVZ никогда не покупаю.


        1. Self_Perfection
          12.05.2018 16:49
          +1

          Вы в принципе никогда не покупаете или когда-то всё-таки пробовали и не понравилось? Возможно, вы недооцениваете OpenVZ. Таблица filter в iptables у меня вполне настраивается. Использование памяти пока совершенно не оправдывает мои худшие опасение.


          Да и вообще, задачи, под которые я VPS он вполне выполняет. Претензия к streisand. ShadowSocks и много другое успешно работало бы и в OpenVZ контейнере.


          1. alexyr
            13.05.2018 16:00

            Подтверждаю, у меня на OpenVZ работает и ShadowSocks и OpenVPN.


    1. valery1707
      11.05.2018 18:24

      Да вроде README вполне хватает чтобы запустить это на своём сервере.
      Единственное что мне было не ясно — логин+пароль для доступа к веб-интерфесу, но это довольно легко обнаружилось.


      1. wild_one
        11.05.2018 18:36

        Я перевожу странички для встроенного веб-сервера. Чтобы можно было сказать человеку "вот тебе URL и пароль, а ты там уже сам разберешься, как скачать сертификат и зацепиться".


        А то на английском не комильфо.


  1. Vovanys
    11.05.2018 19:03

    Не плохо в целом. Можно много серверов на одном создавать. IPV6 умеет из коробки.
    Есть расширенные настройки. Есть скачивание готовых профайлов как в streisand.
    LetsEncrypt сразу для web морды.


  1. Pusk1
    11.05.2018 20:44

    Клиент OpenVPN для Android неудобен, мягко говоря. Файл с ключами — слишком долгая история для обхода блокировок. После того, как я поднял Pritunl роскомнадзор IP через неделю заблокировал сайт. Переезд на другой IP это новые ключи. Даже при наличии доменного имени.
    Установка Pritunl и его администрирование — это просто сказка. Настоятельно рекомендую, если OpenVPN вам подходит.


    1. vconst
      11.05.2018 22:16
      +1

      Я поражаюсь таким заявлениям…
      Человеку дают файл, он автоматически открывается клиентом, без всяких трудов от пользователя. Потом только нажать одну кнопку в программе. Или ещё проще — сделать два ярлыка для коннекта и дисконнекта…


    1. kirillaristov
      12.05.2018 11:43

      Интересно, как РКН может отлавливать это и как предотвратить


  1. decomeron
    11.05.2018 20:49

    Для iOS:
    OpenVPN Connect


    Читаю в коммментариях на апсторе-не работает. Может есть что то еще?


    1. ptokarevskiy
      11.05.2018 21:39

      Отзывы оставлены год назад)


  1. Space_Cowboy
    11.05.2018 21:39

    Удивлен почему до сих пор не было неичего подобного под опенвпн, Достаточно удобная вещь для бытовых целей, осталось убедиться что твои сертификатики не отправляет куда не нужно)


  1. super-guest
    11.05.2018 22:15

    Если хотите, чтобы это стало популярным, то вот этот пункт нужно раскрыть подробнее:

    1. Для начала вам нужно купить VPS-сервер где-нибудь за пределами вашей страны.


    1. GennPen
      11.05.2018 22:19
      +1

      vds.menu или poiskvps.ru например, выбираете нужную страну, параметры. Не ради рекламы, первое что нагуглилось.


      1. leonid239
        13.05.2018 13:44

        Еще могу посоветовать vps.today


  1. rostislav-zp
    12.05.2018 00:22

    Отличная статья, как и множество других на эту тему на сайте.но для настройки vpn на своем сервере нет описания того, как настраивать порты.во всех видео, во всех инструкциях одно-ставим линукс, качаем то и то.Но не работает же так ничего.на cloud google как не пытался порты пробросить на сервере, так и не смог.может кто-то знающий может носом ткнуть на нужное обсуждение?


    1. Alexsey
      12.05.2018 00:51

      Большая часть статей расчитана на классические vps, которые смотрят в интернет без ограничений и внешних фаерволов. На облаках все совсем иначе. В случае с гуглом попробуйте так:

      Go to cloud.google.com
      Go to my Console
      Choose you Project.
      Choose Networking > VPC network
      Choose «Firewalls rules»
      Choose Create Firewall Rule
      To apply the rule only to select VM instances, select Targets «Specified target tags», and enter into «Target tags» the tag which determine to which instances the rule is applied. Then make sure the instances have the network tag applied.
      To allow incoming TCP port 9090, in «Protocols and Ports» enter tcp:9090
      Click Create


  1. AhJong
    12.05.2018 02:59

    Я так экзамены по матану сдавал, когда билет не помнил, как Вы статьи пишете — «а здесь, с помощью элементарных математических преобразований, получаем такой результат».


    1. kvaps Автор
      12.05.2018 03:13

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


  1. konchok
    12.05.2018 09:06
    +1

    Только тут нужен не просто первый попавшийся VPS, а VPS на котором нормально работают tun/tap, NAT итд А это уже другая история, требующая всё-таки минимального понимания происходящего. Поэтому OpenVPN считаю не очень подходящее решение для прям совсем начинающих обходителей блокировок.


  1. gpyra
    12.05.2018 09:44
    +1

    Pritunl

    Приуныл


  1. AquiHostStrider
    12.05.2018 12:48
    -1

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

    Самый лучший обход блокировок — собственный оптоволоконный кабель, прокинутый через госграницу. Заглублённый под землю метров хотя бы на 10. (Есть мнение, что ещё более лучший вариант — проезд своим трактором через эту самую госграницу в один конец, но дабы не загромождать дискуссию много раз обсуждавшейся темой, этот вариант здесь давайте рассматривать не будем.) Посему, хочется портативный проходческий комбайн размером с чемодан, который сзади себя сразу бы обделывал микротоннель камнем и оставлял рельсы, по которым можно было бы сзади подкатывать роботизированные вагонетки для выгрузки выкопанного грунта. Не знаю только, если такой комбайн наткнётся на скрытую полость/пещеру и свалится в неё, или попадёт в подземный водоём.

    Вопрос к геологам: какие на сегодня существуют самые маленькие проходческие комбайны? (Гугл какую-то фигню выдаёт, извините.)


  1. fdroid
    13.05.2018 02:22
    -1

    На этой VPS достаточно выполнить команды описанные в руководсвте

    image


  1. fennikami
    13.05.2018 21:35

    Огромное спасибо автору! Давно искал что-то подобное OpenVPN AS, но вот наконец-то! Пишу с туннеля :)


  1. Nengchak
    14.05.2018 02:32

    Здравствуйте. Как я понимаю, этот клиент работает только с pritunl? А есть ли клиент для openvpn/возможность создать установщик уже готовым конфигом и одной кнопкой — ПОДКЛЮЧИТЬ?