Позвольте представиться.
Я CEO/CTO/CIO/итд VPN сервиса SmartVPN.biz.
Можно называть меня Виктор Иванов, так как таков был мой псевдоним в службе поддержки клиентов SmartVPN.biz.
Пару лет назад я решил создать свой первый стартап — VPN сервис.
Идея нагрянула после того как около 5 друзей попросили у меня VPN на моем личном сервачке.
Естественно, никакого анализа рынка, конкурентов и написания бизнес плана не было. Я просто сел и начал кодить.
Спустя какое-то время проектом стало можно пользоваться — и он увидел свет.
Расходов было немного — личное время на разработку да 20$ в месяц на low-end серверы.
Полтора года проект был в продакшене. За это время я многое произошло.
Правительство все больше закручивало гайки вокруг российского интернета. Жители Крыма не смогли пользоваться многими зарубежными сервисами. Заблокировано было множество честных, совсем не террористических сайтов.
Я рад, что помог людям пользоваться интернетом свободно, обходя глупые никому не нужные запреты.
Также наш сервис дважды испытал DDoS атаки, незабываемое чувство, когда понимаешь что кому-то твой проект мешает.
Но время идет, а в месте с ним меняются интересы и приоритеты. Поэтому я решил остановить SmartVPN.biz.
Чтобы мой труд не пропал даром, я решил отправить исходники сервиса в опенсорс, по MIT лицензии.
Если я понимаю ее правильно, то вы можете делать с кодом все что хотите, например изменять и запускать свои VPN сервисы.
Это не реклама, просто не хочется чтобы труд канул в лету, форкайте и пользуйтесь: github.com/smartvpnbiz
Комментарии (34)
musuk
28.06.2015 09:36+2Сколько, в среднем, активные клиенты у вас трафика выедают? Мне казалось, что для хостинга VPN нужен хороший канал, так что Low-end сервера тут не подходят.
Mexxis Автор
28.06.2015 11:14+1Как оказалось нет, редко кто выкачивал несколько гигабайт в день.
В основном подключаются чтобы открыть несколько сайтов(судя по расходу траффика).
zhovner
28.06.2015 11:25+4Почему нет ни одного VPN сервиса использующего ipsec ikev2?
Плюсы его очевидны: не нужно ставить никакие сторонние клиенты, поддерживается большинством платформ, работает очень шустро и стабильно.Mexxis Автор
28.06.2015 11:28+1Не слишком знаком с ipsec, но мне казалось он не так гибко конфигурируется, как openvpn
zhovner
28.06.2015 11:36+2Есть разные реализации. У strongSwan, например, куча плагинов wiki.strongswan.org/projects/strongswan/wiki/Pluginlist
ValdikSS
28.06.2015 15:36Тот же strongSwan конфигурируется достаточно гибко для того, чтобы использовать его в коммерческих VPN-сервисах.
inkvizitor68sl
28.06.2015 13:01-5ipsec дыряв как незнамо что.
WarP
28.06.2015 14:35+1На основании чего такие утверждения?
inkvizitor68sl
28.06.2015 14:43-2Хотя бы начать отсюда — xakep.ru/2015/05/13/ipsec-security-flaws, там вроде понятно описано.
www.opennet.ru/opennews/art.shtml?num=36854 — вот ещё из веселого.
Вообще mitm в ipsec был возможен издревле на этапе установления коннекта.dannyzubarev
28.06.2015 14:55+4По первой ссылке рассматривают исключительно IKEv1, хотя изначально zhovner указал IKEv2. По второй ccылке информация о уязвимости, которая касается иключительно бага в реализации обработки результата OpenSSL в конкретном приложении (strongSwan), а не в самом протоколе IPSec.
inkvizitor68sl
28.06.2015 14:57-9Ну возможно. Но общее мнение в среде OSS об ipsec как о не очень надежном протоколе.
ValdikSS
28.06.2015 15:34+10Та статья не имеет ничего общего с IPsec, та статья про Cisco IPSec (S большая), который не представляет из себя ничего кроме технологический отсталости, и вообще мало совместим с IPsec. В IPsec уже почти не используют IKEv1, а если и используют, то уж точно не в aggressive mode. Например, в strongSwan aggressive mode включается вот так:
charon.i_dont_care_about_security_and_use_aggressive_mode_psk=yes
Да и от PSK уже отходят.
WarP
28.06.2015 16:06в общем вам уже ответили о том, что ваша информация несколько устарела.
IPsec — достаточно хорошо защищенный протокол, если не использовать всякие старые дырки или схемы трансформации, о чем в принципе сказано на каждом шагу.
vsb
28.06.2015 14:53-1Насколько я понимаю, кроме OpenVPN ни один вариант не работает, когда несколько клиентов подключаются из-за NAT-а. Например у меня дома два компьютера, два телефона и один планшет и на всех хочется иметь возможность включать VPN. Домашняя сетка идёт через NAT-ящий роутер. Пробовал разные варианты, только OpenVPN работает без проблем.
zhovner
28.06.2015 14:59+1Вы точно пробовали ipsec ikev2? У меня за двойным натом (провайдер выдает маскарадный ip) работает три клиента подключенных к одному серверу без проблем.
vsb
28.06.2015 16:38Спасибо за информацию, попробую ещё раз. Пробовал разные, вроде и ikev2 пробовал.
vsb
06.07.2015 17:55ccc.ru/magazine/depot/01_03/read.html?web.htm собственно тут описывается, почему не будет работать. Чтобы работало — нужно, чтобы маршрутизатор поддерживал IPSec, обычные пользовательские маршрутизаторы, конечно, такого не умеют. Или инкапсулировать зашифрованные пакеты в UDP-пакеты, которые все умеют маршрутизировать, но это уже не ipsec.
zhovner
06.07.2015 18:29+1Или инкапсулировать зашифрованные пакеты в UDP-пакеты, которые все умеют маршрутизировать, но это уже не ipsec.
Вообще-то сейчас это так и работает: ESP инкапсулируется в UDP. И это все называется ikev2. Ваша статья давно устарела.
Вы меня пытаетесь убедить, что это работать не можеть, в то время как я предлагаю вам попробовать и на реальном примере убедиться. Я вышлю вам настройки для windows/macos и адрес сервера.vsb
07.07.2015 09:07Да, ещё почитал и вроде разобрался, таки должно работать. Только называется это NAT-T. У меня свой сервер, я на нём пробую.
zhovner
28.06.2015 15:01Скажите какие ОС на всех ваших клиентах, и если интересно, можем попробовать потестировать.
egormerkushev
30.06.2015 11:50Например ipsec ikev2 на iOS только появился, а это очень популярная ОС.
Kroid
28.06.2015 16:43Круто, что выложили наработки в open source, но жаль что без документации, хотя бы на базовом уровне. Зачастую легче с нуля написать свой велосипед, чем копаться в исходниках чужого, даже если эти исходники на рельсах.
Mexxis Автор
28.06.2015 17:01+4Посмотрим на фидбек, если реально кто-то будет копаться с этим, то возможно напишу документацию.
dimarikpro
Круто.
Скажите мне как junior`у сколько лет в вэбдеве и на RoR?
Сколько времени ушло от идеи до production?
Mexxis Автор
От идеи до продакшена где-то год прошел, но нужно понимать, что все это делалось в свободное от работы время, по выходным, по ночам и очень нерегулярно.