Мимокрокодил
0,0
рейтинг
2 декабря 2014 в 20:58

Разработка → VPN в каждый дом



Всем привет! Желание сделать VPN сервер максимально простым в установке и удобным в использовании назревало уже давно. За основу я взял L2TP/IPsec, эта технология нативно поддерживается всеми устройствами и в отличии от PPTP не вызывает проблем при подключении через сотовых операторов.

tl;dr
Для установки нам потребуется машинка с Ubuntu 14.04 на борту и «белым» IP-адресом, любой VPS подойдет. Достаточно ввести эту волшебную строчку:
 curl -sS https://raw.githubusercontent.com/sockeye44/instavpn/master/instavpn.sh | sudo bash 

и через несколько минут у вас будет рабочий VPN с управлением через браузер (httр://ip-address:8080/) или консоль (instavpn -h).


Что внутри?


После загрузки скрипт загружает сам VPN сервер (openswan и xl2tpd), node.js и vnstat, настраивает конфиги и iptables, устанавливает веб-интерфейс. Если вы используете Security Groups или любой другой внешний файрвол, придется открыть следующие порты: 4500/udp, 500/udp, 1701/udp, 8080/tcp

Это слишком дорого для меня


Такие провайдеры как DigitalOcean или OVH предоставят вам вполне подходящую машинку за 5 долларов в месяц. Если поискать получше, можно сократить расходы до 2-3$. Имхо, чашка кофе в месяц — не такая уж и большая цена за защиту от меняющих SSL-сертификаты провайдеров, блокировок сайтов, прослушки в публичных точках доступа и прочих «радостей» Интернета

Ссылки


Репозиторий на GitHub

upd от Ernillew: Сидящим за NATом пользователям Windows может понадобится добавить одно значение в реестр. support.microsoft.com/kb/926179

upd(2): Багрепорты и предложения было бы просто отлично переместить из комментариев в GitHub issues
Александр @sockeye
карма
15,7
рейтинг 0,0
Мимокрокодил
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

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

  • +4
    Вот тут можно взять OpenVZ VPS за $9/год. Трафик 500GB/месяц, вполне хватает.
    • +1
      Кстати, куча их «недорогих для vpn». К примеру, 10$ в год, habrahabr.ru/post/189564/#comment_6583752

      И вопрос. TUN/TAP для этого нужно?
      • 0
        На всякий случай добавлю, что комментарии ниже про 123systems;
        хотя услугами 123sys я тоже пользовался(правда по другому тарифу) и всё было хотя и не очень хорошо, но не настолько плохо…
      • +22
        image

        Угоняю верхний комментарий, чтобы авторитетно заявить:

        1. Автор — чудак.
        2. Никогда, никогда, никогда так не делайте. Вы! Запускаете! С рутовыми! Правами! Непонятную! Фигню! Из! Интернета! Вслепую! Без восклицательных знаков тут не обойтись. Это осная причина ботнетов на шиндовс!

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

        Что может пойти не так:
        1. Провайдер увидит пост подменит запись в DNS.
        2. С таким подохом к безопасности я не удивлюсь, если ваш сайт сломают и скрипт подменят.
        3. Вы приучаете человека делать огромную глупость. Он потом пойдет, и сделает ее еще раз.

        Выводы:
        1. Автор — поменяйте статью. Не делайте так.
        2. Ребята, не делайте так НИ-КОГ-ДА. Огребете. Зуб даю.

        Экспрессия добавлена исключительно для привлечения внимания. Прошу никого не обижаться.
        • 0
          1. Так ли это необходимо Cloudflare?
          2. Сайт лежит на GitHub Pages. Надежный пароль и двухфакторная авторизация снизит эту вероятность.
          3. Разработчики RVM, NPM, Dokku, Chef делают огромную глупость.
          • +3
            1. Местному провайдеру — да запросто. В соседнем посте рассказывали, как интернет-провайдеры сертификаты на гитхаб меняли.
            2. Из конкретного: homakov.blogspot.ru/2013/03/hacking-github-with-webkit.html Можно было сделать все, совсем недавно. Зуб дадите, что у них больше нет таких уязвимостей?
            3. Если они делают такую фигню, то да, они делают огромную глупость. Если кто-то крупный делает глупость, это не дает никакого основания ее повторять. Аппелировать к авторитету не стоит.

            UNIX и подобные это не шиндовс, не надо учить людей делать глупые вещи.
            • +1
              Подскажите где именно говорили про провайдеров и сертификаты. В постах информационной безопасности не обнаружил
              • +1
                Дом.Ру подменял сертификат для гитхаба, если вам это интересно.
          • +1
            Понимаете, безопасность не работает по принципу «все или ничего». Мы не можем сделать систему 100% защищенной, но это не повод опускать руки и не стараться сделать ее защищенной. Это называется Defense in depth, и говорит нам о том, что нужно стараться максимально минимизировать риски, хотя и невозможно достигнуть 100%. Запуск скрипта из интернета без проверки глазами это очень большое наплевательство на безопасность.
            • +2
              Вы при обновлении пакетов из репов своей оси хотя бы инсталляционные скрипты просматриваете глазами?
        • +2
          ayambit, полностью поддерживаю
          Но есть проблема: у статьи рейтинг высокий, многое уже её прочли. А вот Ваш коммент — наверняка намного меньше. Да и смогли ли они понять все проблемы по такому краткому комменту?
          Лучше напишите отдельную статью с более раскрытой аргументацией и примерами. Чтоб было доступно и для той части аудитории, которые не сильны в технических вопросах, но им нужно доступно объяснить все заблуждения.
          • 0
            Его коммент — чушь собачья. Посмотреть весь код — дело на 10 минут. Ничего там криминального нет. Просто белка-истеричка.
            • +4
              Вы ничего не поняли. Перечитайте еще раз.
              • –7
                Мало того, что белка истеричка, так еще и в карму срете.
                Аккаунт-то чей-то старый купили, я так понимаю?
                • 0
                  Нет, это мой настоящий аккаунт, много лет уже.
                  • –2
                    Маловероятно.
          • 0
            Написал.
        • 0
          2. По большому счёту все запускают что-то скачанное из Интернета с рутовыми правами вслепую. Объёмы кода современного софта (от ОС до игр) не позволяют хотя бы бегло просматривать весь запускаемый код, кому-то приходится верить «на слово».
    • +11
      Ни в коем случае не связывайтесь с этим хостером! Пользовался их «услугами» около 7 месяцев. Очень часто ВДС валялась и не подавала признаков жизни, иногда он сам поднимался, сами они этот момент никак не контролировали и приходилось создавать тикет.
      Скрин моих обращений в ТП
      image

      Недавно мой ВДС как обычно перестал работать, я создал тикет, вот так мне ответили:
      Gerald P || Staff
      Hello,
      Your server was corrupted hence we had to setup it again. I have sent details.
      Вкратце: они потеряли все данные моего ВДС и восстановить не могут. Уже после этого инцидента обнаружил большое к-во жалоб на них, и в том числе случаями полного удаления ВДС.
      Они заявляют, что у них RAID10 и «99.9% uptime», но все это лажа. Не тратьте свое время на них и делайте бэкапы. (С FirstVDS тоже не связывайтесь ;-) )
      • +1
        Присоединяюсь! С переменным успехом удалось попользоваться сервисом месяц-полтора (было несколько падений на 2-3 дня). После чего он умер окончательно:
        It appears to be the server has been crashed
        Unfortunately, we have lost all the data on the server node due to crash
      • 0
        Спасибо, буду знать. У самого пока таких проблем не было, да и тариф я взял на распродаже, еще более дешевый ($5 за год). С трудностями, как у вас, не сталкивался, но и не могу сказать, что я его гонял на 100%.
      • –4
        Так raid10 ненадежен априори.
        Вообще любые raid-ы, кроме первого — профанация.
        • 0
          А что в 10 не нравится? Что сразу два диска могут вылететь? Ну так и в зеркале с той же вероятностью сразу два диска навернуться могут.
          • 0
            Огромная куча случаев в моей практике, когда raid10 разваливался и восстанавливать его не удавалось никому (случаев 30 точно) не нравится.
            В основном, из-за аппаратных проблем (диски флапали туда-сюда), но от этого не легче — raid1 в любых условиях выживает.
            • 0
              диски флапали туда-сюда

              Что значит «флапали»?
              • 0
                Отваливались-включались.
                • 0
                  Ни один рэйд не предназначен для работы в таких условиях. Думаете, что зеркало выжило бы, если бы у него попеременно диски дёргали, а то и оба сразу?
                  • 0
                    Само по себе зеркало может и не выжило бы. Данные было бы восстановить легко.
                    • 0
                      Для восстановления данных нужен бэкап. Рэйд нужен для бесперебойной работы.

                      • 0
                        Чушь не порите.
                        Бэкап никогда не будет на 100% актуальным. Если есть возможность восстановить raid — это намного предпочтительнее. Все бэкапы == потеря данных (сколько — зависит от).
                        • 0
                          Ну вообще-то будет, если это репликация в реальном времени с двухфазным коммитом. Другое дело, что назвать это бэкапом скорее всего нельзя.
      • 0
        Достойной заменой пожалуй будет cloudmouse. Как считаете?
        • 0
          Достойная замена за аналогичные деньги за 10$ есть по ссылке выше.
          Вообще с удешевлением памяти(оперативки и SSD) достойные альтернативы будут появляться и появляться.
      • 0
        Подтверждаю. Имел опыт работы с этим хостером. Под конец года машина вообще не поднималась, не смотря на бесконечное число тикетов.
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Сменил их на bluevm.com, пока полёт нормальные (~2 месяца)
          • 0
            Ха! Да BlueVM не лучше.
            • 0
              И, кстати, так и оказалось.
          • 0
            Ребята, это еще хуже! 45 дней мой ВДС у них не работал, поменяли айпишник, я ребутнул и он вновь не доступен. Я даже не знаю, что сказать…
      • 0
        It should be fixed now, please reboot.
      • 0
        FirstVDS не нужен. Обычные реселлеры услуг хецнера.
        • +1
          У них свой ДЦ, скорее всего вы путаете FirstVDS с FastVPS (fastvps.ru)
          • 0
            Возможно, спасибо.
      • 0
        Практически все low-end VPS хостеры славятся таким.
        ChicagoVPS (тариф 7$ в месяц, акционный) терял мои файлы раза четыре уже, благо за последний год только один раз. При этом VPS при таких вот потерях может неделями лежать. Восстановить они обычно ничего не могут (хотя в последний раз все восстановили нормально, хотя на это и ушло около 7 дней).
        Virpus (тариф 5$ в месяц, не акционный) файлы теряли только 1 раз, но VPS валялся пару дней в месяц обязательно.
        Urpad (тариф 12$ в год, акционный) терял файлы два раза, один раз восстановили, правда спустя пару недель, правда там ничего особо важного не было и я не заморачивался.
        Prefiber (тариф 3 евро в месяц, не акционный) терял файлы несчетное количество раз (никогда не восстанавливали, видимо из принципа), аптайм вообще зависел от фазы луны по всей видимости, в итоге они вообще пропали (биллинг перестал работать, хотя VPS какое-то время еще продержался).
        Поэтому с low-end хостерами надо держать ухо в остро. Впрочем, под VPN подойдет.
        • 0
          ChicagoVPS = 123systems
          • 0
            А, то-то я смотрю интерфейс какой-то знакомый. Если их задалбывать обращениями каждый час, то через пару дней они все таки что-нибудь сделают.
            • 0
              Они две недели назад владельца сменили (123systems), вроде лучше стало, говорят.
              • 0
                Может они починили место из которого можно виртуалку переставить?
                А то я на свою у них существующую забил, с момента как понял, что не могу зайти в нужную консоль и сказать, что хочу систему с нуля.
        • 0
          Слушайте, читаю про потери, и у меня только один вопрос: зачем вы держите там проекты, если есть DO, за который пока только хорошее и слышно?
          • 0
            Сегодня он тоже лежал днем, но недолго. Я примерно минут 15 не мог в консоль управления зайти и потом еще с час висело предупреждение о проблемах в работе.
            • 0
              Да? Ну вот, нахвалил на свою голову :) Но видимо я очень редко в консоли бываю у них. Спасибо вам, развеяли :)
          • 0
            Для личного блога, пары проектов для себя, и VPN DO как-то дороговат по сравнению с этими хостерами. А тут еще и рубль падает. Ну и лень наверное, когда я арендовал эти VPS (по факту остался один), про DO еще не было слышно, а это же переносить надо :)
            А так есть бэкапы на бесплатном прокачанном Dropbox, скрипт, позволяющий быстро восстановить конфигурацию, так что все не так страшно.
            • 0
              Я на тот же DO ушел с хостинга jino.ru. Достало платить за каждую опцию.
              И хотя я не великий linux-админ (windows тоже :) ) то VDS мне куда больше нравится… А 200 рублей в месяц не жалко.
        • 0
          Может просто бесплатно юзать FrootVPN?
    • +2
      httpzoom.com. Полтора года, проблем нет. Минимальный тариф — 12 фунтов в год. Канал шикарный, смотрел через него HD-видео в реальном времени
      • 0
        Не доверяю я английским хостерам.
        www.bbc.co.uk/russian/uk/2014/10/141020_uk_peadophiles_policy
        www.bbc.co.uk/russian/uk/2013/07/130722_online_pornography_ban.shtml
        en.wikipedia.org/wiki/Internet_Watch_Foundation_and_Wikipedia

        Это все мне слишком напоминает свою собственную страну.
        • 0
          Это все мне слишком напоминает свою собственную страну

          США?
          • 0
            Да нет, РФ.

            Хотя в штатах тоже не все гладко в этом плане.
            • 0
              Я это и имел ввиду. Если в какой-то стране сейчас «гладко», то это, скорее всего, явление временное.
        • +1
          Он в юрисдикции США. Это и хорошо и плохо одновременно. Плохо тем, что они следуют DMCA даже на серверах в тех странах, где DMCA не имеет законной силы.
      • 0
        Тоже рекомендую. Стабильный хостер.
    • +1
      123systems


      image
      image
    • +1
      www.serverbox.io/vps
      lowendoffer.com/
      www.frugalboxes.com/vps
      vpsrecord.com/offers/
      list.lowendserv.net/
      lowendstock.com/
      vpsboard.com/forum/10-vps-offers/

      Говно за $3-8 в год брать не стоит, но за $15 в год уже хорошие предложения от серьезных компаний.
      Могу порекомендовать Ramnode, Hosthatch, BuyVM, YourServer, HTTPZoom.
      • +1
        использую «говно» за $3 в год только для впн ( lowendspirit.com/locations.html ), пол года работает без проблем.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        а я только-только от них ушёл (правда у меня там windows был). Windows server иногда падал, периодически я просто не мог зайти даже по vnc, хотя техподдержка отписывала, что всё работает. Пару раз я пропускал оплату, сервер отключали, и потом, после такого отключения, windows не запускалась. Не спорю, может мои кривые руки. Последние пару месяцев работало стабильно. Но снова на ровном месте, когда я не заходил туда даже пару недель, перестало работать. Ушел от них.
        И ещё, у меня возникло такое чувство, что ТП у них работает по европейскому времени, т.е. не особо круглосуточная. Т.к. я живу в UTC + 12, например перед обедом пишу тикет — на него ответят лишь когда у меня около 17 часов.

        В общем, как-то так я с ними поработал.
        • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    А этот вариант не требует установки клиента на машину в отличии от того, который тут как-то недавно описывали? Т.е. хоть в XP прописывай IP в качестве VPN и вперед?
  • 0
    Как вовремя, спасибо! У меня как раз guthub отвалился и повод проверить появился.
  • 0
    Это гениально!
  • 0
    зачем в скрипте sudo, если сам скрипт нужно запускать от суперпользователя?
     curl -sS https://sockeye.cc/instavpn.sh | sudo bash 
    

    • 0
      Большинство провайдеров выдают root или пользователя с sudo без пароля
      • 0
        ну вот у меня он не запустился потому что у меня нет sudo, и я его запускал из под рута
         curl -sS https://sockeye.cc/instavpn.sh | bash 
        
        • 0
          В Ubuntu 14.04 sudo ставится по умолчанию. Если вы его удалили, то придется использовать команду без sudo.
          • 0
            У меня провайдерская убунту. Там нет судо. Я, собственно, сообразил вызывать скрипт без судо. Просто у вас в самом скрипте совсем не нужное судо (скрипт ведь итак должен запускаться от суперпользователя).
            Я просто взял и ручками склонил репозиторий
          • +1
            Что вы имеете в виду под «Ubuntu 14.04 по умолчанию»?
            Если я сделаю debootstrap или поставлюсь с mini.iso, то у меня не будет sudo.
          • +4
            Предлагаю вместо sudo использовать в самом начале скрипта instavpn.sh следующую проверку:

            if [ `whoami` != 'root' ]; then
                echo "$0: only root can do that"
                exit
            fi  
            


            Имхо — намного практичнее.
  • 0
    22:41:49 INFO: Checking your OS version...
    Traceback (most recent call last):
      File "install.py", line 53, in <module>
        main()
      File "install.py", line 7, in main
        if util.check_os(log):
      File "/home/username/instavpn/util.py", line 9, in check_os
        logger.log_debug('OS: ' + platform.linux_distribution())
    TypeError: cannot concatenate 'str' and 'tuple' objects
    

    Ubuntu 12.04
    • 0
      >Для установки нам потребуется машинка с Ubuntu 14.04
      Вывод ошибки сейчас поправлю
      • +1
        обидно(
  • +8
    Репозиторий на GitHub

    Чтобы установить драйвер для CD-ROM вставьте CD с драйверами.
    • +1
      Нет смысла ставить VPN в этой стране. А в других вроде как GitHub не блокируют
    • +3
      winrar.rar
      • +2
        а разве не pkunzip.zip?
        • +5
          Кто сейчас помнит про pkzip/pkunzip кроме нескольких олдфагов, вроде нас с вами?
          • +1
            Дык смысл-то как раз и был в самой программе :-D
            Неужели и я теперь могу сказать: вот и выросло поколение, которые…
          • +2
            Думаю, нас не так уж мало.
            Keyboard not found. Press F1 to continue
            — из того же прошлого.
        • +2
          arj.zip
          zip.lh
          lh.arj
          • 0
            OFFTOP: Кстати, вот не припомню, что б пользовался arj и lh.
            Вроде встречал на старых дисках с demoscene, но ни у кого не видел установленного.
            • 0
              Во времена первых олдфагов, когда FTN еще только начинал шагать, а про Интернет еще не особо и слышали, нужно было записывать MS Office на 13 дискет. А pkzip не умел тома.

              И да, архиваторы тогда не устанавливались, они копировались в директорию, указанную в PATH. :)
            • 0
              Все было… ARJ преподавался как дефолтный архиватор под DOS. LH хорошо сжимал EXE-файлы. А еще был чумовой JAR от авторов ARJ. Он умел делать «главы», в которых хранились только изменившиеся файлы. Я на базе JAR построил глобальный бэкап в офисе, где были все изменения всех файлов всех пользователей за все время…
  • 0
    21:59:50 INFO: Checking your OS version...
    21:59:50 CRITICAL: You must use Ubuntu 14.04
    CRITICAL ERROR!
    Crash report: https://pastee.org/cx3su
    Support: https://github.com/sockeye44/instavpn/issues
    


    uname -a
    Linux home 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
    


    lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 14.04.1 LTS
    Release:        14.04
    Codename:       trusty
    

    • 0
      Исправил
  • 0
    На инфобоксовской виртуалке не завелось
  • 0
    Завёл юзера, но через морду не пускает, в чём косяк?
    • 0
      Ответил в лс
      • +1
        Да-да, надо было внимательней смотреть пост, спасибо огромное! Очень удобный вариант.
  • +1
    Вопрос из любопытства — почему на ранних дистрибутивах убунты не заведется?
    • 0
      На различных версиях Убунты было достаточно много своих багов. Для демонстрации решил оставить одну ОС, после исправления всех проблем добавлю остальные версии.
      • 0
        В первую очередь хотелось бы поддержки 12.04, т. к. только ради vpn обновлять сервер не разумно, а заводить новый — глупо, когда есть не загруженные тестовые сервера.
  • –3
    Какой-то у вас странный переход в статье случился. Сначала писали про то, как поднять VPN, а потом вдруг ни с того, ни с сего разговор про деньги. Причем не пояснено ни за что собственно платить, ни зачем. Сначало я думал, что вы рассказываете о том, как дома поднять VPN сервер, но только прочитав три раза понял к чему всё это. С этого стоить начинать статью. Потому что тот, кто знает, что так можно победить все перечисленные радости, и так, скорее всего, может поднять VPN сервер. А ваш потенциальный читатель, который этого не знает, или не дочитает до конца статьи, или не поймет нафига козе баян.
    • +2
      Деньги за хостинг, где будет VPN. Если хостинг бесплатный, то денег платить не надо.
      Даже тот, кто «знает как победить все перечисленные радости» обычно платит за хостинг.
      Автор поста денег не просит.
  • +2
    Я писал похожий скрипт для centos/rhel/fedora, интересен ли он общественности? Кстати IPSec не на всех дешевых openvz подымится, по этому можно сделать выбор между IPSec и pptp. Из vps могу посоветовать:
    cloudatcost.com — Канада, $12/год, сейчас 60% скидка, т.е. $4.8/год.
    hostmist.com — США, $10/год, бывают скидки, адекватный саппорт — включают нужные модули, если vpn не пашет.
    • +1
      всегда, когда есть альтернатива между fedora/ubuntu, я выбираю fedora. Поэтому, если будет такой скрипт — то буду пользоваться, спасибо!
    • +1
      Да, под Centos было бы хорошо.
    • +1
      PPTP — плохой выбор для параноика. С аутентификацией и шифрованием там всё достаточно плохо.
      • 0
        Не каждый openvz провайдер даст вам поддержку ipsec на уровне контейнера. Некоторые жлобохостеры даже нат рубают со всеми вытекающими. А kvm уже других денег стоит, хотя можно поднять на микрике амазоновском и запускать инстанс по надобности пользование vpn (хотя там за хранение инстанса тоже какие-то деньги берут).
        • 0
          В момент надобности вы можете не добраться до амазона чтобы поднять инстанс благодаря роскомнадзору :)
    • +1
      Присоединяюсь, предпочел бы centos
    • 0
      Я правильно понимаю, что в cloudatcost.com можно купить сервер за $4.8 в год или за $14 навсегда? И еще, это смущает
      • 0
        Точнее это
        • 0
          Что конкретно вас смущает? Что у них база отвалилась? :-) Или первый пост в блоге о бизнес разведке?
          А так все верно, $4.8 за год и $14 навсегда. Я не агитирую за них. Мне просто нужен был канадский айпишник и я купил самый дешевый vps который нашел.
          Ничего на нем не храню, vpn поднимается скриптом (моим), и даже если его прикроют, я не сильно буду горевать по тем $3, которые я, пару месяцев назад, им заплатил.
          • 0
            Угу. Что база отвалилась. А также то что моя купленная заявка уже пару часов Pending. Хотя они там писали, что это в связи с наплывом запросов. Будем смотреть
            • 0
              Ну кривые руки фронтендщиков никто не отменял :) cloudatcost ведут очень агрессивную рекламную компанию, так что в комплексе с их ценами это превращается в несколько часовой pending. Но, согласитесь, за такие деньги можно и подождать, в том же Kimsufi на сервера еще более не реальная очередь.
  • +2
    Эх, захотел посмотреть как вы там быстро разворачиваете, заглядываю в скрипт, а там только клонирование репозитория и запуск чего-то питоновского. Вы это специально, что бы веселей было?
    Полезу смотреть что у вас там на питоне написано, интересно же!
  • +1
    ESP в файрволе уже не надо разрешать для работы IPSec? :)
    • 0
      Если я правильно ошибаюсь, то L2TP был придуман или выбран как раз, чтобы в том числе избежать ESP в файерволе. Применение IPSec поверх голого IP вызывает лютое желание распечатать весь набор RFCей по IPSec и скормить постранично их авторам за то, что придумали без оглядки на практику применения.
      • 0
        Ммм… я 500/udp увидел, и подумал, что стандартно все: ISAKMP, затем IKEv1/v2 уже криптованное и поехали. Прошу прощения, если что-то не так понял. Хорошо было бы, если бы статья этот момент немного хотя бы разжевала :-)

        L2TP/IPSEC uses UDP 500 for the the initial key exchange, protocol 50 for the IPSEC encrypted data (ESP), UDP 1701 for the initial L2TP configuration and UDP 4500 for NAT traversal. L2TP/IPSec is easier to block than OpenVPN due to its reliance on fixed protocols and ports.

        Вроде как все как обычно.
  • 0
    Где-то час потратил, чтобы понять, как настроить клиента в Linux (fedora 21, gnome 3)
    1) Нужно установить NetworkManager-l2tp пакет
    2) Settings -> Networks, добавить VPN подключение с типом L2TP (Layer 2 Tunneling Protocol)
    3) ввести туда IP сервера в поле Gateway и юзера + пароль, взятых с веб админки вашего vpn
    4) Network Manager -> Vpn -> Connect
    • 0
      Вообще говоря, ваша инструкция не покрывает те цели, которые заявлены автором поста. Нужен ещё IPSec (openswan).
      • 0
        Или racoon или strongswan или libreswan
        • 0
          Хоть что, но только не openSwan, oh god.
  • 0
    Воспользовался скриптом, и у меня осталась папка instavpn с питоновскими файликами — так и должно быть? :-) они все еще нужны?
    • 0
      Можно удалять без проблем
  • 0
    Подскажите, а как бы на этом же VPS ещё чёрные списки доменов прикрутить?
    • 0
      Что вы имеете в виду под черными списками доменов? Куда через него ходить нельзя или что?
      • +1
        Ну да, чтоб рекламу заодно фильтровать, раз уж свой сервер.
        • +1
          Тут есть два варианта. Первый поднимаете на нем прокси, например squid и на squidе рулите этим делом, а веб-траффик прозрачно загоняете на оный сквид. Второй поднимаете на нем ДНС и заворачиваете обращения к ДНСу на него, на ДНСе резолвите что хотите и как хотите. Для резанья рекламы я бы рекомендовал вариант с прокси.
  • –2
    Установил на DigitalOcean — создал дроплет с убунтой 14.04, на нее установил гит и запустил `curl -sS sockeye.cc/instavpn.sh | sudo bash`. Все работает, спасибо!
    • +4
      держите нас в курсе
  • 0
    Что-то у меня не заводится, поднимаю на DO, все установилось и запустилось без проблем. Создал через WebUI пользователей, попробовал подключиться, ни с ноута (MacBook Air Mac OS X 10.10), ни с телефона (Nexus 5 Android 5.0) не подключается.
    • 0
      После пары перезагрузок все завелось, после смены логина и пароля для WebUI и создания новых пользователей, чтобы они заработали, пришлось перезагружать дроплет
      • 0
        Подтверждаю, также поднял на DO дроплет, сразу на маке не взлетело, хотя проверял все и через гуи и через терминал. Заработало только после ребута дроплета. И так нужно делать каждый раз после редактирования реквизитов эккаунта.
        • –1
          Все бы вам ребутить сразу.
          service xl2tpd restart
          service openswan restart
          • 0
            Эти вещи и так делаются автоматически при работе с юзером в консоли — пруф:
            root@testVPNkey:~# instavpn user set homevpn **********
            Restarting VPN server…
            ipsec_setup: Stopping Openswan IPsec…
            ipsec_setup: Starting Openswan IPsec U2.6.38/K3.13.0-37-generic…
            Restarting xl2tpd: xl2tpd.
            OK!
            root@testVPNkey:~# instavpn user list


            Так вот, это НЕ ПОМОГАЕТ! Юзер вновь созданный не коннектится через стандартную VPN-оснастку в Mac Os X 10.10, и помогает только полный ребут дроплета. Во всяком случае у меня так.
  • +5
    А зачем так сложно и велосипедно, какая-то прога на питоне, node.js...? Чем openvpn не угодил? Настриватется элементарно же, везде работает.
    • 0
      думаю, дело в том, что с точки зрения большинства ОС — как раз openVPN велосипед, тогда как IPSec/L2TP идут, что называется, искаропки.

      (в том же андроиде, например, чтоб заставить любой внешний впн стартовать без вопросов при перезагрузке — нужен рут и XPosed Framework с модулями)
      • 0
        > (в том же андроиде, например, чтоб заставить любой внешний впн стартовать без вопросов при перезагрузке — нужен рут и XPosed Framework с модулями)

        Вот эта штука вроде как умеет автозапуск и без доп. извратов.
        • 0
          там не от клиента зависит. в 4+ система спрашивает «у вас тут впн хочет стартовать, запустить?» при перезагрузке. для этого и нужен модуль XPosed, чтоб не спрашивала.
      • 0
        А если ориентироваться и на роутеры, тогда надо делать PPTP.
        • +1
          роутеры — штука слишком растяжимая, где-то вообще ничего нет, а где-то и ipsec будет…
          • 0
            PPTP есть почти везде.
            • 0
              GRE до удаленного хоста есть не всегда.
          • 0
            Большая часть бытовых роутеров в диапазоне до $150 (в старых ценах) l2tp без шифрования-то еле тянет (хотя микротики за $70 нормально вытягивают ~90Mbit/s). Что уж говорить про ipsec, который куда более ресурсоёмкий.
  • 0
    И еще SoftEther…
    • 0
      Это вообще гениальнейшая штука. настраивается легко, управляется удаленно, можно управлять пользователями, создавать сертификаты, ну и куча протоколов
      • +1
        Ага-ага, только вот сертификаты поддерживаются только собственным протоколом SoftEther, поддержка Radius никакая, IKEv2 нет, OpenVPN кастрированный, L3-туннели кастрированные.
  • +1
    А есть ли инструкция по настройке клиентской ubuntu? У меня не хочет работать. Я так понимаю, что-то с ключами клиентскими

    Скрытый текст
    Dec  3 04:48:31 thinkpad NetworkManager[15178]: <error> [1417571311.531706] [nm-vpn-connection.c:1324] plugin_need_secrets_cb(): (97a7b880-d77b-4e5d-b012-0f1cda8a860b/VPN-соединение 1) plugin NeedSecrets request #1 failed: dbus-glib-error-quark Rejected send message, 1 matched rules; type="method_call", sender=":1.447" (uid=0 pid=15178 comm="NetworkManager ") interface="org.freedesktop.NetworkManager.VPN.Plugin" member="NeedSecrets" error name="(unset)" requested_reply="0" destination="org.freedesktop.NetworkManager.l2tp" (uid=0 pid=15585 comm="/usr/lib/NetworkManager/nm-l2tp-service --debug ")
    Dec  3 04:48:31 thinkpad NetworkManager[15178]: <info> Policy set 'Berserk 2' (wlan2) as default for IPv4 routing and DNS.
    Dec  3 04:48:31 thinkpad NetworkManager[15178]: <warn> error disconnecting VPN: Rejected send message, 1 matched rules; type="method_call", sender=":1.447" (uid=0 pid=15178 comm="NetworkManager ") interface="org.freedesktop.NetworkManager.VPN.Plugin" member="Disconnect" error name="(unset)" requested_reply="0" destination="org.freedesktop.NetworkManager.l2tp" (uid=0 pid=15585 comm="/usr/lib/NetworkManager/nm-l2tp-service --debug ")
    
    
    • 0
      Update: на андроид тоже не могу создать VPN подключения без указания каких-то ключей. Может я что-то не понимаю…
      • 0
        Насколько знаю, там есть два варианта, l2tp/IPSec psk и l2tp/IPSec rsa. Нужно выбрать psk
  • 0
    Мне понравился скрипт отсюда habrahabr.ru/company/infopulse/blog/183628/ запускаем, указываем логин и пароль и готово. Можно коннектиться.
    • 0
      тут тоже самое, только ещё и с вэб мордой с указанием трафика + уи для добавления, удаления юзверов
  • +3
    Ссылка на гитхаб в свете последних событий смотрится дерзко.
  • 0
    Периодически проходят посты про настройку VPN на сервере, и при этом мне не попадалось описание настройки на клиентской машине. Т.е. должны соблюдаться какие-то правила, чтобы соблюдать анонимность. Просто есть яркий пример, когда поймали основателя Silk Road, хотя тот пользовался Tor'ом. Говорят, что он попался из-за того, что часть запросов шла обычным путем, в обход шифрованного канала. Что говорить про обывателей, не все являются знатоками сетевых настроек.
    • 0
      Периодически проходят посты про настройку VPN на сервере, и при этом мне не попадалось описание настройки на клиентской машине. Т.е. должны соблюдаться какие-то правила, чтобы соблюдать анонимность. Просто есть яркий пример, когда поймали основателя Silk Road, хотя тот пользовался Tor'ом. Говорят, что он попался из-за того, что часть запросов шла обычным путем, в обход шифрованного канала. Что говорить про обывателей, не все являются знатоками сетевых настроек.

      Для анонимусов не желающих заморачиваться с хардендингом своей персоналки есть Live-CD дистрибутив tails, в нем и браузеры и фаервол (iptables) уже настроены так, что бы ни один пакет не прошел мимо tor/i2p. Весьма познавательно было поковырять их настройки.
  • 0
    Если у вас клиент базируется на MacOS или Linux, вы можете по быстрому активировать VPN без дополнительных программ, так как SSH уже предоставляет эту функциональность.

    На клиенте вам нужно запустит:
    ssh -D 9999 root@YOUR_SERVER_IP_ADDRESS

    После этого в браузере вам нужно указать «localhost» в опции «SOCKS Host» и порт 9999.

    Более подробно читайте на сайте online.esud.info/access-internet-via-ip-of-specified-country/
    • +1
      В винде это тоже делается вообще без проблем, качается kitty и пишется батник
      kitty.exe -D 8080 root@YOUR_SERVER_IP_ADDRESS -pw PASSWORD -send-to-tray
    • 0
      а клиент гита умеет сокс прокси? тот же вопрос про ide
      • 0
        на линуксе\маке можно просто завернуть весь исходящий трафик за исключением коннекта с ссх серверу и т.п. на порт 9999.
      • 0
        Под Linux можно трафик как угодно и куда угодно заворачивать просто правильно настроив ~/.ssh/config
        Так например можно организовать подключение по ssh к одному серверу через другой ssh-сервер либо же открыть локальный порт наружу по «белому» ip вашего сервера пробросив туннель.

        Пушу коммиты на один сервер по первому описанному мной варианту — проблем вообще никаких.
    • 0
      Я бы рекомендовал добавить флаг -C для включения сжатия. Выйдет такая команда
      ssh -С -D 9999 root@YOUR_SERVER_IP_ADDRESS
    • 0
      Ещё, большая часть софта при этом будет продолжать делать dns-запросы в открытую. В случае firefox лечится с помощью foxyproxy, которая умеет завернуть dns в socks за компанию.
      • 0
        В firefox есть встроенное перенаправление dns трафика.
        network.proxy.socks_remote_dns

        По умолчанию вроде на true и стоит.
        • 0
          Я экспериментировал пару лет назад, wireshark/tcpdump показывали обыденный dns на 53/udp. Была ли эта настройка по умолчанию — не в курсе. Одним из ограничений было неизменение системной конфигурации proxy.
          • 0
            Надо на последней версии проверить, возможно это был баг и возможно они его исправили.
    • +1
      esudnik, Вы совершенно правы насчёт того, что:
      можете по быстрому активировать VPN без дополнительных программ, так как SSH уже предоставляет эту функциональность


      Но насчёт примера заблуждаетесь:
      На клиенте вам нужно запустит:
      ssh -D 9999 root@YOUR_SERVER_IP_ADDRESS

      После этого в браузере вам нужно указать «localhost» в опции «SOCKS Host» и порт 9999.

      Это — динамический порт форвардинг, иначе говоря, SOCKS-прокси. А вот полноценный VPN — это параметр -w

      Более подробно в статье: SSH VPN over Internet (SSH tun туннелирование)
      Пример настройки из этой статьи
      Подключение к серверу и создание туннеля делается при помощи команды sudo ssh root@74.125.87.104 -w 0:0
      Обязательно делать через sudo или root-а. Будут создаваться tun устройства, что требует привилегий.

      Ключ -w создаст tun0 устройства на сервере и клиенте, объединив их между собой.
      Вот описание из man-а.
      -w local_tun[:remote_tun] Requests tunnel device forwarding with the specified tun(4) devices between the client (local_tun) and the server(remote_tun)
      Настройка tun устройств.
      На сервере ifconfig tun0 10.0.0.1/30 pointopoint 10.0.0.2
      На клиенте ifconfig tun0 10.0.0.2/30 pointopoint 10.0.0.1


  • 0
    Как порт 8080 поменять на другой?
    • +1
      Нужно зайти в /opt/instavpn/server/config.js, поменять 'port: 8080' на нужный и запустить команду 'sudo restart instavpn '
  • 0
    с репозиторием на гитхабе это троллинг такой, да?
    • +3
      Реп клонироваться будет на виртуалке за бугром. В чём проблема то?
  • 0
    Как насчет описать как это всё работает?
    • 0
      Что именно?
      • 0
        да я уже нашел, что это L2TP + IPSEC, было бы не лишним добавить это в пост.

        PS После установки у меня всё пингуеться и резолвиться, но по 80 порту ничего не доступно через VPN, куда копать? по openvpn на том же сервере — всё ок.
        • 0
          Вот у меня точно такая же беда. l2tp прикручивал через плагин к NetworkManager.
  • +5
    curl | sudo bash

    Ну перестаньте так уже делать, а? Неужели так сложно сделать ровно два спека для сборки .deb и .rpm? Или вам нравится делать вот так?

     if logging_subprocess.call("apt-get install -y nodejs-legacy npm build-essential libssl-dev", logger.logger,
    stdout_log_level=logging.DEBUG, stderr_log_level=logging.DEBUG, shell=True) != 0:
    return False
    


    Или вам нравится создавать проблемы с обновлениями у пользователей? Мусорить в системе мимо пакетного менеджера? Опускать безопасность до уровня винды?

    Я вот этого совсем не понимаю, ведь есть сервисы вроде openbuildservice.org/, которыми можно собирать пакеты из спецификаций в репозиторий, сразу для всех дистрибутивов.
    • 0
      Аббалдеть, кроме наплевательства на безопасность у них еще и ноджс для того, для чего нужен 1 (один) файлик на php, python или perl, которые есть везде.
  • 0
    Блин, валялся сервер со 128мб на борту, видимо совсем мало для данного пакета. Встало с 5 раза, но в админку пускает 1 раз, затем перестает до перезагрузки.
    А при попытке подключится — 619 ошибка, что еще более печально.
    • 0
      128 точно мало. 512 хватает с лихвой.
      • +2
        Совсем даже не мало. Кручу и OpenVPN, и strongSwan на сервере со 128МБ оперативки. Еще там nginx.
        • +2
          Дак этож хипстеры с ноджс!
    • 0
      тут вот на Raspberry впн поднимали: tmbl.in/post/92552297030/configure-strongswan-for-windows-phone-8-1-vpn
  • +2
    Отлично, спасибо!

    Ещё бы вот кто написал про настройку VPN для протокола IKEv2 — он родной для Windows 8.1 и WP, и гораздо лучше для тех, кто пользуется мобильным интернетом или переключается между разными сетками WiFi и 3G.

    Самому как-то получилось настроить сервер StrongSwan VPN на Amazon AWS, но шаги документировал плохо, и не всё работает так, как хочется.

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

    — сырой рецепт применительно а Amazon AWS и Blackberry в качестве клиента: forums.crackberry.com/blackberry-10-os-f269/free-vpn-strongswan-ipsec-ikev2-z10-z30-q10-862588/
    — и ещё один: allstarnix.blogspot.com/2013/03/create-vpn-server-for-blackberry.html
    — и ещё (сервер на Raspberry, но это непринципиально) tmbl.in/post/92552297030/configure-strongswan-for-windows-phone-8-1-vpn
    — официальное руководство по установке StrongSwan на Amazon AWS: wiki.strongswan.org/projects/strongswan/wiki/AwsVpc плюс полезное предупреждение об особенностях — serverfault.com/questions/536477/strongswan-server-with-windows-7-clients-doesnt-route-traffic
    — и по настройке Windows-клиента от них же wiki.strongswan.org/projects/strongswan/wiki/Windows7
    — также руководство по настройке VPN-клиента IKEv2 на WP: technet.microsoft.com/en-us/windows/dn673608.aspx
    — перечень портов для открытия на роутере для работы с VPN: blogs.technet.com/b/rrasblog/archive/2006/06/14/which-ports-to-unblock-for-vpn-traffic-to-pass-through.aspx
    — старые статьи про StrongSwan на Хабре — habrahabr.ru/post/177453/, habrahabr.ru/post/177547/
    — руководство по преодолению ошибки соединения с IKEv2 и правильному созданию сертификатов для Windows 7 — tiebing.blogspot.ru/2012/05/windows-7-ikev2-error-13806.html?m=1, serverfault.com/questions/536092/strongswan-ikev2-windows-7-agile-vpn-what-is-causing-error-13801

    В идеале хотелось бы, конечно, иметь к VPN-серверу и вебсервис, который бы генерировал сертификат для любого моего знакомого по Facebook автоматически. Это было бы отличное решение для «среднепродвинутых», которые хотят уберечь от Роскомнадзора своих «совсем не продвинутых» друзей.
    • +3
      Я напишу статью. Давно планирую, думаю, к новому году успею. Хочу написать годную статью, рассказать не только о настройке, но и вообще об IPsec, и почему IPsec + L2TP это плохо, а IKEv2 — православно. И вообще, все IPsec-демоны (особенно openswan) — ужасны, а strongSwan сильный и мягкий!
      А пока можете наслаждаться пропатченным OpenVPN'овским Easy-RSA для генерации PKI, который работает и для OpenVPN, и для IPsec: github.com/ValdikSS/easy-rsa-ipsec
      • 0
        Пожалуйста, в вашем howto хотя бы одной фразой упомяните, что некоторую часть трафика в VPN заворачивать категорически не нужно (как минимум, средствами firewall надо запретить лезть на VPN IP торрент-клиенту). Во-первых, трафик кушает, во-вторых, торрент-трафик в американской или европейской юрисдикции — это отличная заявка на неприятности.
        • 0
          Ну, не всегда. Качаю и раздаю торренты в Швеции и Латвии — никаких проблем. Но в США и большей части Европы (Германия, Франция) да, лучше забыть об этом.
          • 0
            А как насчет Нидерландов, не подскажете?
            • 0
              Качал и раздавал используя DOшную виртуалку в NL, никаких вопросов не возникало со стороны DO ко мне.
              • 0
                Ну я как-бы и сейчас их юзаю, просто интересно, следует ли ждать всяких вопросов по этому поводу.
  • +1
    Все это конечно хорошо. Но github заблокирован =)
    • 0
      У кого как ))))
    • +8
      Если GitHub недоступен с того хоста, на который вы захотели поставить VPN-сервер — значит, нету смысла на нём ставить VPN-сервер…
  • 0
    Почему openswan а не racoon?
    Ваши настройки работают для телефонов iphone/android режим ipsec cisco?
    • 0
      Нет, написано же, L2TP/IPsec
      • +1
        Извиняюсь, проморгал :/
  • –8
    Чуть-чуть оффтопика, но это сделало мне день
    image
    • –1
      Как же я мог забыть — на хабре, за любое упоминание политики (даже не прямого), минусуют. =(
      • 0
        А может дело в том, что шутка повторённая миллион раз смешнее не становится? В том, что это просто глупо? Неуместно?
        Да и при чём здесь политика?
  • 0
    Спасибо, все заработало с пол-пинка. (Ubuntu 14.04 + WinXP)
    • 0
      И вэб сразу поднялся?
  • 0
    не туда
  • НЛО прилетело и опубликовало эту надпись здесь
  • +6
    Так и запишем:
    К использованию на Amazon EC2 непригодно, ломает сеть из-за
    iptables -t nat -A POSTROUTING -j SNAT --to-source $SERVERIP -o eth+
    Ибо берет реальник сервера, не учитывая, что на интерфейсе серый адрес.

    Напишите в посте, что бы люди на Амазоне не запускали ваше чудо мысли. А если запустили, что бы вычистили вас из /etc/rc.local и сделали iptables -t nat -F; iptables -t nat -X.
    Ну и да,

    /etc/init.d/ipsec restart
    /etc/init.d/xl2tpd restart

    в вашем файле засунутом прямо в /etc/ это круто, но есть restart и есть service, а такое дело давно депрекейтед.
    И, пожалуйста, набейте лицо тому, кто вас надоумил баш-скрипт в /etc/ укладывать.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Думаю, что по той же причине.
        Если исправить SERVERIP=$(dig +short myip.opendns.com @resolver1.opendns.com) на выдергивание адреса сетевой карты, то должно взлететь, может попозже проверю.
  • 0
    Никак на AWS EC2 не получается
    13:26:21 INFO: Installing web UI...
    13:29:41 CRITICAL: Fail
    CRITICAL ERROR!
    Traceback (most recent call last):
      File "install.py", line 53, in <module>
        main()
      File "install.py", line 49, in main
        log.log_error("Fail")
      File "/home/ubuntu/instavpn/log.py", line 37, in log_error
        print('Crash report: ' + pastee.PasteClient().paste(string_io.getvalue()))
      File "/home/ubuntu/instavpn/pastee.py", line 93, in paste
        self._conn.request("POST", "/submit", urllib.urlencode(params), headers)
      File "/usr/lib/python2.7/httplib.py", line 973, in request
        self._send_request(method, url, body, headers)
      File "/usr/lib/python2.7/httplib.py", line 1007, in _send_request
        self.endheaders(body)
      File "/usr/lib/python2.7/httplib.py", line 969, in endheaders
        self._send_output(message_body)
      File "/usr/lib/python2.7/httplib.py", line 829, in _send_output
        self.send(msg)
      File "/usr/lib/python2.7/httplib.py", line 791, in send
        self.connect()
      File "/usr/lib/python2.7/httplib.py", line 1172, in connect
        self.timeout, self.source_address)
      File "/usr/lib/python2.7/socket.py", line 553, in create_connection
        for res in getaddrinfo(host, port, 0, SOCK_STREAM):
    socket.gaierror: [Errno -2] Name or service not known
    

    • 0
      Смотрите выше мой коммент.
      habrahabr.ru/post/243915/#comment_8162317
      • 0
        Да, уже увидел, спасибо. Инстанс тестовый, уже удалил.
  • 0
    Спасибо тебе друг!!! Ты просто спас от блокировки github
  • 0
    Использую вот такое для PPTP
    #!/bin/bash
    echo "Select on option:"
    echo "1) Set up new PoPToP server AND create one user"
    echo "2) Create additional users"
    read x
    if test $x -eq 1; then
        echo "Enter username that you want to create (eg. client1 or john):"
        read u
        echo "Specify password that you want the server to use:"
        read p
    
    # get the VPS IP
    ip=`ifconfig eth0 | grep 'inet addr' | awk {'print $2'} | sed s/.*://`
    
    echo
    echo "Downloading and Installing PoPToP"
    apt-get update
    apt-get install pptpd
    
    echo
    echo "Creating Server Config"
    cat > /etc/ppp/pptpd-options <<END
    name pptpd
    refuse-pap
    refuse-chap
    refuse-mschap
    require-mschap-v2
    require-mppe-128
    ms-dns 8.8.8.8
    ms-dns 8.8.4.4
    proxyarp
    nodefaultroute
    lock
    nobsdcomp
    END
    
    # setting up pptpd.conf
    echo "option /etc/ppp/pptpd-options" > /etc/pptpd.conf
    echo "logwtmp" >> /etc/pptpd.conf
    echo "localip $ip" >> /etc/pptpd.conf
    echo "remoteip 10.1.0.1-100" >> /etc/pptpd.conf
    
    # adding new user
    echo "$u	*	$p	*" >> /etc/ppp/chap-secrets
    
    echo
    echo "Forwarding IPv4 and Enabling it on boot"
    cat >> /etc/sysctl.conf <<END
    net.ipv4.ip_forward=1
    END
    sysctl -p
    
    echo
    echo "Updating IPtables Routing and Enabling it on boot"
    iptables -t nat -A POSTROUTING -j SNAT --to $ip
    # saves iptables routing rules and enables them on-boot
    iptables-save > /etc/iptables.conf
    
    cat > /etc/network/if-pre-up.d/iptables <<END
    #!/bin/sh
    iptables-restore < /etc/iptables.conf
    END
    
    chmod +x /etc/network/if-pre-up.d/iptables
    cat >> /etc/ppp/ip-up <<END
    ifconfig ppp0 mtu 1400
    END
    
    echo
    echo "Restarting PoPToP"
    /etc/init.d/pptpd restart
    
    echo
    echo "Server setup complete!"
    echo "Connect to your VPS at $ip with these credentials:"
    echo "Username:$u ##### Password: $p"
    
    # runs this if option 2 is selected
    elif test $x -eq 2; then
        echo "Enter username that you want to create (eg. client1 or john):"
        read u
        echo "Specify password that you want the server to use:"
        read p
    
    # get the VPS IP
    ip=`ifconfig venet0:0 | grep 'inet addr' | awk {'print $2'} | sed s/.*://`
    
    # adding new user
    echo "$u	*	$p	*" >> /etc/ppp/chap-secrets
    
    echo
    echo "Addtional user added!"
    echo "Connect to your VPS at $ip with these credentials:"
    echo "Username:$u ##### Password: $p"
    
    else
    echo "Invalid selection, quitting."
    exit
    fi
    
  • +1
    Как-то жутковато скорость упала — www.uploady.com/#!/download/pvgzpRyL_mT/qtRoT_cNalUVFuJB
    • 0
      У линоды сегодня какие-то проблемы, сам с подобным столкнулся
  • 0
    Пока мы тут обсуждали в чем затык у EC2 был произведен форк одной милой леди
    github.com/kira-korshun/instavpn
    И ошибка исправлена.
    Теперь все должно работать и на Amazon, надо проверить. По крайней мере теперь все ставится и веб-морда запускается.
    Так как у леди акка на хабре нет, а я к ней имею прямое отношение, то я и пощу ссылку.

    P.S. Да, на конфигурации с несколькими адресами/сетевухами оно сломается, мы знаем, чуть попозже допилим до состояния, что бы просто можно было указать сетевуху с которой брать, пока нет времени, сделала на скорую руку.
    • 0
      Большое спасибо, смерджил
      • +1
        Ну правку README можно было не мерджить, это она для своих выложила аналог вашего скрипта просто из ее репозитория клонирующий.
        Может сегодня, если время будет, еще Кира или я посмотрим, как лучше сделать определение IPшника, потому как текущий вариант на нескольких сетевухах скажет «Ква».
        Плюс, думаю можно будет еще кое-что попилить, что бы привести в более приличное состояние, но это уже после выходных, ибо послезавтра уезжаем на некоторое время(ну точнее уезжаю я, а эта лентяйка вряд ли без меня что-то станет делать).
      • 0
        Да, проверили на Амазоне, с нашей правкой все работает, нормально поднимается.
        Я там еще в личку написал ссылочку которую стоит приложить для пользователей винды, под виндой при НАТе могут быть проблемы, надо значение в реестр добавить.
    • НЛО прилетело и опубликовало эту надпись здесь
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          В /var/log/syslog посмотрите что происходит.
          • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Да не за что. Не дошли сегодня руки подправить еще, но в принципе в таком состоянии работает, что уже хорошо, хотя, конечно, там по уму надо многое переделать.
        • 0
          Важный момент, кстати не упомянут — нет никаких предупреждений, что длинна логина и пароля должны быть в диапазоне от 6 до 32 символов. Понял это только благодаря консоли. Сначала пытался делать акки с названием home через web и все сохранялось без предупреждений, и ошибок, но в списке юзеров в консоли они не отражались.
          • 0
            Исправил
            • 0
              А хотелки можно добавлять? Я бы в гуи добавил во первых — ссылку на лог — ну вот как выше здесь предалгали — tail на лог файл — хотя бы последние 100 строк. Это нужно может быть для отладки. Ну и конечно, в идеале, хотелось бы видеть в гуи список подключенных текущих юзеров/сессий. Дабы мониторить кто подключен в моменте.
  • 0
    У меня наверно очень тупой вопрос )

    Установил на амазоне сие чудо.

    Есть виртуалка в москве на убунте. Кто нибудь может пошагово расписать как настроить подключение?
    • 0
      Примерно так
      • 0
        жесть какая жестяная
    • 0
      Зачем вам VPN с Москве? РКН же блокирует все в РФ =)
      Надо за пределами РФ VPN держать.
      • 0
        Как я понимаю человек московскую машину собирается цеплять клиентом к амазоновской. Что бы она нормальный выход имела в сеть.
        • 0
          именно так
  • 0
    1) Где поменять чтобы не светило админкой в интернет после установки? Зачем вообще это? Пусть только localhost слушает, и, раз уж мы зашли на vps по ssh, то добавить в документацию чтобы пробрасывали порт админки на клиента, и ходили через тот же ssh.
    2) Настройка запуска админки как сервиса? Отключение автозапуска? Ручной запуск?
    • 0
      1) /opt/instavpn/server/config.js, переменная host
      2) instavpn web mode on|off включает\выключает админку и автозапуск
  • 0
    Так и не смог приконнектится из MacOS к этому серверу.
    Пишет, что сервер не ответил, какие бы я настройки ни менял итд
    У меня руки конечно далеко не самые прямые в этом деле)
    Снес, поставил на дроплет openvpn, на мак клиент tunnelblick — все завелось.
    • 0
      Писали уже выше — работает только если все ровно настроить и после этого обязательно ребутать дроплет целиком. Если речь про DO.
      • 0
        То есть из консоли DO, а не просто shutown -r now?
        В любом случае, openvpn мне как то больше понравился к тому же, ребутать не надо ничего и чужие скрипты запускать
        • 0
          Ну я ребутал из консоли. До этого коннект не шел. Вопрос личных предпочтений — это другое дело, тут мы обсуждаем конкретное решение из коробки. Я просто к тому, что есть смысл внимательно читать комменты во избежания дублей.
          • 0
            Ну вот как раз, прочитал я тогда и не догадался что надо из консоли DO, ребутнул по ssh: shutdown -r now. Чуда не произошло.
  • +1
    Я думаю, в этом топике для полноты нужно упомянуть вот это: github.com/jlund/streisand

    обещает разворачивание всего (L2TP/IPsec using strongSwan and xl2tpd; OpenSSH; OpenVPN; Shadowsocks; stunnel; Tor) и везде (Amazon, DO, Rackspace).
  • 0
    Раз уж это «установка в один клик» — не мешало бы сделать так, чтобы либо скрипт ставил git, либо это было написано в зависимостях на гитхабе. Потому, что если их нет, он просто молча ничего не делает.
    Ну и curl из коробки тоже отсутствует на чистом дистрибутиве. Лучше было бы использовать wget.
    • 0
      Pull Request.
      P.S. С бейджиком какая-то странность. Похоже на дурь гитхаба (делал через веб-редактор), т.к. я его не трогал.
  • 0
    А реально такой туннель сделать с роутером Mikrotik?
    Чтобы всех клиентов внутренней сети пускать в интернет через него.
    Может кто делал, поделитесь опытом.
    • 0
      А в чем проблема вообще? Микротик очень много чего умеет по части туннелей. Трафик маршрутизировать тоже. Не очень понятно, в чем проблема? Другое дело, что автор предлагал туннель до сервера в облаке за рубежом, что позволяет получать специфические плюшки вроде обхода геолоченных ресурсов. Для того, чтобы получать аналогичные бонусы от микротика — вариантов мало — либо сама железка должна быть «за бугром», либо в тех же облаках поднимать виртуалку с RouterOS.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.