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
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 246

      +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
                              Подтверждаю. Имел опыт работы с этим хостером. Под конец года машина вообще не поднималась, не смотря на бесконечное число тикетов.
                              • UFO just landed and posted this here
                                  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 ), пол года работает без проблем.
                                                      • UFO just landed and posted this here
                                                          0
                                                          а я только-только от них ушёл (правда у меня там windows был). Windows server иногда падал, периодически я просто не мог зайти даже по vnc, хотя техподдержка отписывала, что всё работает. Пару раз я пропускал оплату, сервер отключали, и потом, после такого отключения, windows не запускалась. Не спорю, может мои кривые руки. Последние пару месяцев работало стабильно. Но снова на ровном месте, когда я не заходил туда даже пару недель, перестало работать. Ушел от них.
                                                          И ещё, у меня возникло такое чувство, что ТП у них работает по европейскому времени, т.е. не особо круглосуточная. Т.к. я живу в UTC + 12, например перед обедом пишу тикет — на него ответят лишь когда у меня около 17 часов.

                                                          В общем, как-то так я с ними поработал.
                                                          • UFO just landed and posted this here
                                                        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).
                                                                                                      • UFO just landed and posted this here
                                                                                                          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`. Все работает, спасибо!
                                                                                                          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
                                                                                                                                                                не туда
                                                                                                                                                                • UFO just landed and posted this here
                                                                                                                                                                    +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/ укладывать.
                                                                                                                                                                    • UFO just landed and posted this here
                                                                                                                                                                        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
                                                                                                                                                                      Спасибо тебе друг!!! Ты просто спас от блокировки 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
                                                                                                                                                                                  Да, проверили на Амазоне, с нашей правкой все работает, нормально поднимается.
                                                                                                                                                                                  Я там еще в личку написал ссылочку которую стоит приложить для пользователей винды, под виндой при НАТе могут быть проблемы, надо значение в реестр добавить.
                                                                                                                                                                                • UFO just landed and posted this here
                                                                                                                                                                                  • UFO just landed and posted this here
                                                                                                                                                                                      0
                                                                                                                                                                                      В /var/log/syslog посмотрите что происходит.
                                                                                                                                                                                      • UFO just landed and posted this here
                                                                                                                                                                                      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.
                                                                                                                                                                                                0
                                                                                                                                                                                                Странно как-то. Поставил на сервер, все работает, подключается, но в некоторые игры не пускает. Или я криворукий или чего то недопонимаю.