Vovanches667
Местный
Привет всем. Нашёл замечательную статью о VPN для новичков подкорректировав её . В этой статье я в полу-сжатой форме постарался объяснить, что такое VPN ?, зачем он нужен, описал клиенты OpenVPN под разные ОС. Коснулся такой темы как "Бесплатные VPN vs Свой VPN-server vs Покупной VPN", поскольку частенько вижу вопросы об этом . Показал, как самому на собственном сервере можно поднять VPN (OpenVPN) на реальном примере - от анонимной покупки VPS в интернете за Bitcoin с его первичной настройкой и рассмотрением проблем, связанных с анонимной покупкой сервера до самого процесса поднятия OpenVPN вручную или хорошим, автоматическим скриптом.
Хотелнебольшую тему, но получилось как всегда очень объемно .
Собственно, вот и всё с этим делом.
Есть вопросы, замечания, предложения - пишите в личку.
Хотел
Что такое VPN и для чего он нужен. ?
VPN расшифровывается как Virtual Private Network (Виртуальная Частная Сеть). Это технология, которая создает виртуальный защищенный канал (или туннель) между вашим устройством (компьютер/смартфон/планшет) и Интернетом.
VPN - это некий сервис, который обычно работает на удаленной машине (сервере).
Зачем нужен VPN
VPN обычно используют разные предприятия и организации, что бы объеденить разные её филиалы или удаленных пользователей, которые находятся физически далеко друг от друга, в одну сеть. Но нам интересно не это.
VPN позволяет выходить в сеть от пользователя с другим IP адресом, возможно, другой страны, что дает возможность обходить разного рода блокировки (на рутрекер сможете зайди или в ваш любимый ВК, если заблокируют и его) или воспользоваться ресурсами, которые доступны только для пользователей определенных стран (допустим существует сайт, который доступен только для пользователей Германии).
Также, если ваш провайдер не предоставляет вам статический IP адрес, VPN может быть использован для создания такого выделенного IP.
Поскольку VPN создает зашифрованный криптостойким алгоритмом туннель, это позволяет послать нахуй сразу несколько категорий потенциально опасных для нас и нашего дела существ - провайдеров, ментов (гос-во), хакеров и конечный ресурс (прим. сайт в интернете).
Для нас VPN является отличным средством анонимизации и защиты нашего траффика от провайдера и самых разных SleepWalker'ов.
Использование VPN, если так можно сказать, почти обязательно для каждого более-менее вменяемого юзера. Причем речь не только об около-криминале, VPN неплохо бы использовать и в вашей повседневной жизни. Что уж говорить об остальных категориях пользователей, например, которое посещают Runion.
VPN будет скрывать от вашего провайдера ресурсы, которые вы посещаете. А от ресурсов, которые вы посещаете, VPN будет скрывать ваш реальный IP адрес.
VPN часто используется как средство для сокрытия Tor-траффика от вашего провайдера, ведь запуская VPN, а затем Tor Браузер, ваш трафик имеет цепь VPN -> Tor, что означает, что факт использования Tor скрыт от провайдера, в ваш настоящий IP адрес не палится перед первой (входной) нодой сети Tor.
Описано в сжатой форме. За остальным курите интернеты.
Популярные VPN протоколы.
Существует множество разных протоколов VPN.
Здесь я постарался сравнить самые популярные и используемые из них.
Начнем с хорошего.
OpenVPN - это твой бро. Это протокол с открытым исходным кодом, использующий библиоеку OpenSSL - поддерживает большое количество шифров, очень безопасный, достаточно гибкий в настройке, может работать на любом порту, быстрый по скорости. Для работы необходимо стороннее ПО (клиенты OpenVPN под разные ОС, об этом ниже). Клиентский файл .ovpn может использоваться на любой ОС, в том числе и мобильных. Везде рекомендую вам именно OpenVPN.
IKEv2 - Тоже очень неплохой протокол с очень высокой степенью защиты, быстрый по скорости. Один из немногих протоколов, поддерживающий устройства Blackberry, но сам по себе поддерживает достаточно мало платформ. Этот протокол встретишь не так часто в VPN сервисаХ. в отличии от OpenVPN или L2TP. Исходный код не открыт, а это потенциально небезопасно.
PPTP - Этот протокол достаточно старый, один из самых первых. Быстрый по скорости и легкий в настройке, поддерживается почти всеми ОС, однако очень уязвимый и совершенно небезопасный. Несколько раз взламывался спецслужбами. Этот протокол использовать крайне не рекомендуется за исключением случаев, где вам не нужна защита. Это юзать не нужно ни в коем случае!
L2TP/IPsec - Уже лучше, чем PPTP. L2TP также поддерживается многими ОС, в том числе и мобильными и тоже достаточно прост в настройке. IPsec обеспечивает более стойкое шифрование, чем PPTP. Однако, L2TP/IPsec медленнее, чем PPTP или OpenVPN. Не обходит Фаерволлы.
SSTP - Протокол от Microsoft. SSTP с хорошим, стойким шифрованием, доступен только для операционных систем Windows. Как и OpenVPN, позволяет обходить Firewall. Проще в настройке, чем OpenVPN. Без открытого исходного кода, поэтому OpenVPN лучше.
Вывод:
Если есть возможность, использовать лучше только OpenVPN из-за открытого исходного кода, безопасности и относительной скорости. IKEv2 хороший протокол, безопасный, быстрый, стабильный, но с закрытым исходным кодом. L2TP/IPsec можно использовать вместо PPTP, а PPTP использовать вовсе не рекомендую. SSTP доступен только для Винды, тоже не очень рекомендую.
Если интересует больше подробностей - гуглите и читайте.
VPN расшифровывается как Virtual Private Network (Виртуальная Частная Сеть). Это технология, которая создает виртуальный защищенный канал (или туннель) между вашим устройством (компьютер/смартфон/планшет) и Интернетом.
VPN - это некий сервис, который обычно работает на удаленной машине (сервере).
Зачем нужен VPN
VPN обычно используют разные предприятия и организации, что бы объеденить разные её филиалы или удаленных пользователей, которые находятся физически далеко друг от друга, в одну сеть. Но нам интересно не это.
VPN позволяет выходить в сеть от пользователя с другим IP адресом, возможно, другой страны, что дает возможность обходить разного рода блокировки (на рутрекер сможете зайди или в ваш любимый ВК, если заблокируют и его) или воспользоваться ресурсами, которые доступны только для пользователей определенных стран (допустим существует сайт, который доступен только для пользователей Германии).
Также, если ваш провайдер не предоставляет вам статический IP адрес, VPN может быть использован для создания такого выделенного IP.
Поскольку VPN создает зашифрованный криптостойким алгоритмом туннель, это позволяет послать нахуй сразу несколько категорий потенциально опасных для нас и нашего дела существ - провайдеров, ментов (гос-во), хакеров и конечный ресурс (прим. сайт в интернете).
Для нас VPN является отличным средством анонимизации и защиты нашего траффика от провайдера и самых разных SleepWalker'ов.
Использование VPN, если так можно сказать, почти обязательно для каждого более-менее вменяемого юзера. Причем речь не только об около-криминале, VPN неплохо бы использовать и в вашей повседневной жизни. Что уж говорить об остальных категориях пользователей, например, которое посещают Runion.
VPN будет скрывать от вашего провайдера ресурсы, которые вы посещаете. А от ресурсов, которые вы посещаете, VPN будет скрывать ваш реальный IP адрес.
VPN часто используется как средство для сокрытия Tor-траффика от вашего провайдера, ведь запуская VPN, а затем Tor Браузер, ваш трафик имеет цепь VPN -> Tor, что означает, что факт использования Tor скрыт от провайдера, в ваш настоящий IP адрес не палится перед первой (входной) нодой сети Tor.
Описано в сжатой форме. За остальным курите интернеты.
Популярные VPN протоколы.
Существует множество разных протоколов VPN.
Здесь я постарался сравнить самые популярные и используемые из них.
Начнем с хорошего.
OpenVPN - это твой бро. Это протокол с открытым исходным кодом, использующий библиоеку OpenSSL - поддерживает большое количество шифров, очень безопасный, достаточно гибкий в настройке, может работать на любом порту, быстрый по скорости. Для работы необходимо стороннее ПО (клиенты OpenVPN под разные ОС, об этом ниже). Клиентский файл .ovpn может использоваться на любой ОС, в том числе и мобильных. Везде рекомендую вам именно OpenVPN.
IKEv2 - Тоже очень неплохой протокол с очень высокой степенью защиты, быстрый по скорости. Один из немногих протоколов, поддерживающий устройства Blackberry, но сам по себе поддерживает достаточно мало платформ. Этот протокол встретишь не так часто в VPN сервисаХ. в отличии от OpenVPN или L2TP. Исходный код не открыт, а это потенциально небезопасно.
PPTP - Этот протокол достаточно старый, один из самых первых. Быстрый по скорости и легкий в настройке, поддерживается почти всеми ОС, однако очень уязвимый и совершенно небезопасный. Несколько раз взламывался спецслужбами. Этот протокол использовать крайне не рекомендуется за исключением случаев, где вам не нужна защита. Это юзать не нужно ни в коем случае!
L2TP/IPsec - Уже лучше, чем PPTP. L2TP также поддерживается многими ОС, в том числе и мобильными и тоже достаточно прост в настройке. IPsec обеспечивает более стойкое шифрование, чем PPTP. Однако, L2TP/IPsec медленнее, чем PPTP или OpenVPN. Не обходит Фаерволлы.
SSTP - Протокол от Microsoft. SSTP с хорошим, стойким шифрованием, доступен только для операционных систем Windows. Как и OpenVPN, позволяет обходить Firewall. Проще в настройке, чем OpenVPN. Без открытого исходного кода, поэтому OpenVPN лучше.
Вывод:
Если есть возможность, использовать лучше только OpenVPN из-за открытого исходного кода, безопасности и относительной скорости. IKEv2 хороший протокол, безопасный, быстрый, стабильный, но с закрытым исходным кодом. L2TP/IPsec можно использовать вместо PPTP, а PPTP использовать вовсе не рекомендую. SSTP доступен только для Винды, тоже не очень рекомендую.
Если интересует больше подробностей - гуглите и читайте.
Я часто вижу вопросы на эту тему, она популярна.
Посему решил разобрать этот вопрос в данной статье.
Итак, что же лучше?
Бесплатные VPN, предоставляемые разными сервисами, свой VPN, поднятый самостоятельно на собственном сервере или платные VPN-сервисы?
Если вам нужен VPN срочно, быстро, здесь и сейчас и у вас нет оформленной подписки на каком-то VPN-сервисе, а своего сервера нет и подавно - тогда можете воспользоваться бесплатными VPN. Но затея, конечно, сомнительная.
Сервис который юзал только я , предоставляющих бесплатный VPN:
1) vpnbook.com ( не реклама )
Все просто. Идем на сайты, скачиваем конфигурационный файл OpenVPN или получаем инструкцию по подключению, если вы используете другой VPN протокол.
Конфигурационный файл OpenVPN (с расширением .ovpn) нужно "скормить" вашему OpenVPN клиенту (о клиентах я написал ниже).
В чем приимущество бесплатных VPN?
Очевидно, что сама по себе бесплатность является плюсом. Также то, что такими серверами пользуются большое количество людей, прибавляет анонимности. На этом его преимущества заканчиваются.
Данные VPN очень нестабильные. Часто отваливаются. Очень медленные. Использовать их я бы рекомендовал, только если нужно срочно для чего-то и нет других возможностей. Но лучше что бы у вас не было таких ситуаций. Не исключено, что на таких серверах ведутся логи. Да и что на этих серверах ЕЩЕ происходит - никому не известно.
Для долгосрочного использования и по важным делам использовать крайне не рекомендую.
Можно воспользоваться собственным VPN.
Нужно лишь купить сервер в интернете, зайти на него и поднять там OpenVPN по инструкции.
По сравнению с платными VPN-сервисами, свой собственный VPN выходит еще дешевле. Арендовать VPS (Virtual Private Server) можно чуть ли не за 2-3$/месяц в интернете. Что, по-моему, достаточно дешево - нужно лишь поискать.
Конечно же, свой VPN имеет и другие приимущества. Например, у вас будет root-доступ к серверу, поэтому вы можете отключить логирование и 100% быть уверенными в том, что логирование не ведется. В отличии от не своего VPN (бесплатные или платные), где у вас нет root-доступа, а это значит, что вы не можете никак быть уверенны в том, что логирование отключено, как бы вас не убеждали в этом эти сервисы. Вы сам себе хозяин на сервере. Это ваш VPN.
В отличии от бесплатных VPN, свой сервер будет работать гараздо быстрее и стабильнее. Это очень весомый плюс.
Также, поскольку у вас будет свой собственный сервер, туда можно прикрутить что-нибудь помимо OpenVPN, какой-нибудь другой сервис. Например, веб-сервер и разместить там небольшой сайт. Или еще какую ерундень поставить. Или можно сделать ее Tor-нодой, если провайдер разрешает. Tor relay разрешают чаще чем Tor Exit Node (выходную ноду).
Однако, существует проблема, что на сервере будете находиться вы и только вы один (если вы, конечно, не дадите использовать свой VPN еще пару сотен человек, но тогда и сервер нужен будет мощнее). Такой проблемы нет у бесплатных или платных VPN.
Еще одним минусом является то, что не каждый способен поднять себе VPN. Кто-то может плохо разбираться в IT и ему эти инструкции будут казаться совершенно дикими и непонятными. А кто-то будет совершенно не понимать что он делает вообще, это тоже не хорошо.
В общем, настоятельно рекомендую использовать.
Можно воспользоваться услугами платных VPN сервисов
которые тоже относительно недорогие (в среднем 5-12$/месяц).
Такие сервисы нужно искать, конечно же, в интернете.
Большенство из них принимают к оплате Bitcoin, что несомненно круто.
Что-то конкретное рекомендовать не буду, но есть ряд VPN-сервисов, которые постоянно мелькают:
AirVPN
IPVanish
PIA
TorGuard
IVPN
NordVPN
Proxy.sh
ExpressVPN
BolehVPN
Все вышеперечисленные сервисы принимают к оплате Bitcoin (на момент написания статьи). Некотрые даже принимают другие криптовалюты.
Я детально не изучал каждый из этих сервисов, но они предлагают самые разные решения. Разные VPN протоколы, под разные десктопные и мобильные ОС. У многих есть свой OpenVPN клиент под какую-то операционную систему, но пользоваться их клиентами не очень рекомендуется из соображений безопасности (об этом ниже).
Все просто. Регистрируетесь и платите за месяц (или год, что выходт дешевле), скачиваете конфигурационный факл OpenVPN (.ovpn), скармливаете его вашему OpenVPN клиенту и всё, у вас будет VPN. Если у вас не OpenVPN, то читаете инструкцию на сайте сервиса по подключению с другим протоколом. Благо на этих сайтах у них хорошие инструкции и все предельной просто и понятно.
Из преимуществ можно выделить то, что каждый сервис предлагает сервера во многих разных странах, которые доступны вам. Между этими странами можно переключаться, вручную с .ovpn конфигами или как-то автоматически, если эта фича реализованна в их клиенте. Тогда как на своем собственном сервере вы привязаны к одной стране, одному IP адресу. Не понравилась одна страна - переключились на другую. Скажу от себя, что фича хоть и полезная, но какая-то сомнительная.
Говорить про то, что эти сервера намного стабильнее, надежнее и быстрее по сравнению с "бесплатным" решением, я думаю не нужно. Доверие к платным сервисам тоже как-то больше, чем к беслпатным VPNам, хоть все равно нет гарантий.
По сранению со своим собственным сервером, у вас нет root-доступа, посему контроллировать процессы, которые происходят внутри вы не можете. Это значит, что никаких гарантий того, что логирование отключено, у вас нет.
Хотелось бы верить, что логирование отключено и платные сервисы не пиздят своим клиентам. Я думаю во многих случаях так и есть, но все зависит от страны наверное. Где-то могут и не принуждать включать логирование, это значит, что сервису ничего не будемт мешать сделать это.
Посему решил разобрать этот вопрос в данной статье.
Итак, что же лучше?
Бесплатные VPN, предоставляемые разными сервисами, свой VPN, поднятый самостоятельно на собственном сервере или платные VPN-сервисы?
Если вам нужен VPN срочно, быстро, здесь и сейчас и у вас нет оформленной подписки на каком-то VPN-сервисе, а своего сервера нет и подавно - тогда можете воспользоваться бесплатными VPN. Но затея, конечно, сомнительная.
Сервис который юзал только я , предоставляющих бесплатный VPN:
1) vpnbook.com ( не реклама )
Все просто. Идем на сайты, скачиваем конфигурационный файл OpenVPN или получаем инструкцию по подключению, если вы используете другой VPN протокол.
Конфигурационный файл OpenVPN (с расширением .ovpn) нужно "скормить" вашему OpenVPN клиенту (о клиентах я написал ниже).
В чем приимущество бесплатных VPN?
Очевидно, что сама по себе бесплатность является плюсом. Также то, что такими серверами пользуются большое количество людей, прибавляет анонимности. На этом его преимущества заканчиваются.
Данные VPN очень нестабильные. Часто отваливаются. Очень медленные. Использовать их я бы рекомендовал, только если нужно срочно для чего-то и нет других возможностей. Но лучше что бы у вас не было таких ситуаций. Не исключено, что на таких серверах ведутся логи. Да и что на этих серверах ЕЩЕ происходит - никому не известно.
Для долгосрочного использования и по важным делам использовать крайне не рекомендую.
Можно воспользоваться собственным VPN.
Нужно лишь купить сервер в интернете, зайти на него и поднять там OpenVPN по инструкции.
По сравнению с платными VPN-сервисами, свой собственный VPN выходит еще дешевле. Арендовать VPS (Virtual Private Server) можно чуть ли не за 2-3$/месяц в интернете. Что, по-моему, достаточно дешево - нужно лишь поискать.
Конечно же, свой VPN имеет и другие приимущества. Например, у вас будет root-доступ к серверу, поэтому вы можете отключить логирование и 100% быть уверенными в том, что логирование не ведется. В отличии от не своего VPN (бесплатные или платные), где у вас нет root-доступа, а это значит, что вы не можете никак быть уверенны в том, что логирование отключено, как бы вас не убеждали в этом эти сервисы. Вы сам себе хозяин на сервере. Это ваш VPN.
В отличии от бесплатных VPN, свой сервер будет работать гараздо быстрее и стабильнее. Это очень весомый плюс.
Также, поскольку у вас будет свой собственный сервер, туда можно прикрутить что-нибудь помимо OpenVPN, какой-нибудь другой сервис. Например, веб-сервер и разместить там небольшой сайт. Или еще какую ерундень поставить. Или можно сделать ее Tor-нодой, если провайдер разрешает. Tor relay разрешают чаще чем Tor Exit Node (выходную ноду).
Однако, существует проблема, что на сервере будете находиться вы и только вы один (если вы, конечно, не дадите использовать свой VPN еще пару сотен человек, но тогда и сервер нужен будет мощнее). Такой проблемы нет у бесплатных или платных VPN.
Еще одним минусом является то, что не каждый способен поднять себе VPN. Кто-то может плохо разбираться в IT и ему эти инструкции будут казаться совершенно дикими и непонятными. А кто-то будет совершенно не понимать что он делает вообще, это тоже не хорошо.
В общем, настоятельно рекомендую использовать.
Можно воспользоваться услугами платных VPN сервисов
которые тоже относительно недорогие (в среднем 5-12$/месяц).
Такие сервисы нужно искать, конечно же, в интернете.
Большенство из них принимают к оплате Bitcoin, что несомненно круто.
Что-то конкретное рекомендовать не буду, но есть ряд VPN-сервисов, которые постоянно мелькают:
AirVPN
IPVanish
PIA
TorGuard
IVPN
NordVPN
Proxy.sh
ExpressVPN
BolehVPN
Все вышеперечисленные сервисы принимают к оплате Bitcoin (на момент написания статьи). Некотрые даже принимают другие криптовалюты.
Я детально не изучал каждый из этих сервисов, но они предлагают самые разные решения. Разные VPN протоколы, под разные десктопные и мобильные ОС. У многих есть свой OpenVPN клиент под какую-то операционную систему, но пользоваться их клиентами не очень рекомендуется из соображений безопасности (об этом ниже).
Все просто. Регистрируетесь и платите за месяц (или год, что выходт дешевле), скачиваете конфигурационный факл OpenVPN (.ovpn), скармливаете его вашему OpenVPN клиенту и всё, у вас будет VPN. Если у вас не OpenVPN, то читаете инструкцию на сайте сервиса по подключению с другим протоколом. Благо на этих сайтах у них хорошие инструкции и все предельной просто и понятно.
Из преимуществ можно выделить то, что каждый сервис предлагает сервера во многих разных странах, которые доступны вам. Между этими странами можно переключаться, вручную с .ovpn конфигами или как-то автоматически, если эта фича реализованна в их клиенте. Тогда как на своем собственном сервере вы привязаны к одной стране, одному IP адресу. Не понравилась одна страна - переключились на другую. Скажу от себя, что фича хоть и полезная, но какая-то сомнительная.
Говорить про то, что эти сервера намного стабильнее, надежнее и быстрее по сравнению с "бесплатным" решением, я думаю не нужно. Доверие к платным сервисам тоже как-то больше, чем к беслпатным VPNам, хоть все равно нет гарантий.
По сранению со своим собственным сервером, у вас нет root-доступа, посему контроллировать процессы, которые происходят внутри вы не можете. Это значит, что никаких гарантий того, что логирование отключено, у вас нет.
Хотелось бы верить, что логирование отключено и платные сервисы не пиздят своим клиентам. Я думаю во многих случаях так и есть, но все зависит от страны наверное. Где-то могут и не принуждать включать логирование, это значит, что сервису ничего не будемт мешать сделать это.
После того, как все данные для подключения были высланы вам на почту или вы нашли их в личном кабинете, то для коннекта к серву вы обладаете всеми данными, а именно:
IP адресс.
Логин: root.
Пароль от root: либо вы указывали при создании сервера, либо был сгенерирован.
Для того чтобы подключиться по SSH на Windows, нужно воспользоваться сторонними программами.
Скачивайте на выбор: Putty или Kitty. ( не реклама )
Работать с этими программами достаточно просто. Гуглите.
На ОС Linux и MacOS все проще.
В терминале вводим:
где:
ip - IP адрес VPS.
user - username пользователя. При первом подключении / в нашем случае - root.
После нажатия enter, при самом первом коннекте, вам выскочит сообщение:
вручную вводим yes, потом вам предложит ввести пароль от root, который у вас также есть. Если все хорошо, то вы подключились к VPS и вам будет передано управление командной строкой.
Скопировать и вставить в терминале можно так:
Если Linux, то ctrl+shift+v вставить в терминале (ctrl+shift+c скопировать из терминала),
Если Windows и вы используете Putty/Kitty, то вставить в консоль можно по нажатию на ПКМ.
IP адресс.
Логин: root.
Пароль от root: либо вы указывали при создании сервера, либо был сгенерирован.
Для того чтобы подключиться по SSH на Windows, нужно воспользоваться сторонними программами.
Скачивайте на выбор: Putty или Kitty. ( не реклама )
Работать с этими программами достаточно просто. Гуглите.
На ОС Linux и MacOS все проще.
В терминале вводим:
Код:
ssh user@ip
ip - IP адрес VPS.
user - username пользователя. При первом подключении / в нашем случае - root.
После нажатия enter, при самом первом коннекте, вам выскочит сообщение:
Код:
Are you sure you want to continue connecting (yes/no)?
Скопировать и вставить в терминале можно так:
Если Linux, то ctrl+shift+v вставить в терминале (ctrl+shift+c скопировать из терминала),
Если Windows и вы используете Putty/Kitty, то вставить в консоль можно по нажатию на ПКМ.
Далее, перед поднятием непосредственно OpenVPN, было бы неплохо произвести какую-то первичную настройку на сервере: обновить пакеты - поставить нужные пакеты, отключить ненужные сервисы, создать пользователя, настроить sshd_config (поменять порт, запретить коннет от root).
Поскольку я показываю на примере дистрибутива Debian, вводимые команды будут для этого дистибутива и для дистрибутивов основанных на Debian (Ubuntu).
Итак, приступим.
Обновляем пакеты:
apt-get update && apt-get dist-upgrade -y
Ставим нужные пакеты:
apt-get install -y nano sudo htop curl perl python wget git openvpn openssl easy-rsa iptables ca-certificates ufw
где:
nano - консольный редактор. Обычно стоит изначально, но не всегда.
htop - консольный диспетчер задач.
openvpn - пакет openvpn. Нужно для поднятия OpenVPN.
easy-rsa - скрипты для легкой генерации ключей. Нужно для поднятия OpenVPN.
git - понадобится, если будете поднимать OpenVPN скриптом (далее в статье).
Еще можно поставить следующие пакеты, но не обязательно:
apt-get install build-essential make automake autoconf pkg-config
Далее, нам нужно создать пользователя:
useradd -m -s /bin/bash pp ( )
где:
useradd - команда, создающая пользователя.
-m - создает домашнюю папку пользователя (по пути /home/<имя пользователя>/), по-умолчанию имеет такое же название, как и имя пользователя
-s - указывает, какой shell использовать
pp-runion - имя пользователя.
После создания юзера, вам ОБЯЗАТЕЛЬНО нужно создать ему пароль, потому что мы будем использовать этого юзера для коннекта по ssh, поэтому вводим команду:
passwd pp-runion
Предложит дважды ввести пароль. При вводе не будет отображаться. Как вставлять в терминале я писал вышел.
Далее, нужно отключить лишние сервисы.
Вводим команду:
netstat -tulpn
Для того что бы посмотреть, какие сервисы запущены.
На данном этапе в идеале должен быть запущен только sshd. Поскольку у меня установлена Debian-minimal, то у меня так и есть и команда
Далее, можно настроить sshd.
Из соображений безопасности поменяем порт со стандартного на нестандартный и запретим коннект от root.
Редактируем файл /etc/ssh/sshd_config при помощи nano:
nano /etc/ssh/sshd_config
Поскольку я показываю на примере дистрибутива Debian, вводимые команды будут для этого дистибутива и для дистрибутивов основанных на Debian (Ubuntu).
Итак, приступим.
Обновляем пакеты:
apt-get update && apt-get dist-upgrade -y
Ставим нужные пакеты:
apt-get install -y nano sudo htop curl perl python wget git openvpn openssl easy-rsa iptables ca-certificates ufw
где:
nano - консольный редактор. Обычно стоит изначально, но не всегда.
htop - консольный диспетчер задач.
openvpn - пакет openvpn. Нужно для поднятия OpenVPN.
easy-rsa - скрипты для легкой генерации ключей. Нужно для поднятия OpenVPN.
git - понадобится, если будете поднимать OpenVPN скриптом (далее в статье).
Еще можно поставить следующие пакеты, но не обязательно:
apt-get install build-essential make automake autoconf pkg-config
Далее, нам нужно создать пользователя:
useradd -m -s /bin/bash pp ( )
где:
useradd - команда, создающая пользователя.
-m - создает домашнюю папку пользователя (по пути /home/<имя пользователя>/), по-умолчанию имеет такое же название, как и имя пользователя
-s - указывает, какой shell использовать
pp-runion - имя пользователя.
После создания юзера, вам ОБЯЗАТЕЛЬНО нужно создать ему пароль, потому что мы будем использовать этого юзера для коннекта по ssh, поэтому вводим команду:
passwd pp-runion
Предложит дважды ввести пароль. При вводе не будет отображаться. Как вставлять в терминале я писал вышел.
Далее, нужно отключить лишние сервисы.
Вводим команду:
netstat -tulpn
Для того что бы посмотреть, какие сервисы запущены.
На данном этапе в идеале должен быть запущен только sshd. Поскольку у меня установлена Debian-minimal, то у меня так и есть и команда
Далее, можно настроить sshd.
Из соображений безопасности поменяем порт со стандартного на нестандартный и запретим коннект от root.
Редактируем файл /etc/ssh/sshd_config при помощи nano:
nano /etc/ssh/sshd_config
Поднять OpenVPN вручную вам не под силу? Не отчаивайтесь, у меня для вас хорошие новости!
О Чудо!
На Github существует Open Source скрипт, который позволяет быстро и легко поднять OpenVPN сервер на вашем VPS.
Скрипт называтся openvpn-install, и вот ссылка на Github: nyr/openvpn-install
И этого скрипта есть куча форков, которые вы можете изучить.
Посмотреть исходный код можно здесь.
Приступим.
Работаем под пользователем root или суперпользователем.
Для начала, обновим систему:
apt-get update && apt-get dist-upgrade -y
Если вы уже пытались поднять OpenVPN вручную, но у вас ничего не получилось, то нужно сначала его полностью снести.
Удаляем openvpn:
apt-get remove --purge openvpn
удаляем папку:
rm -rf /etc/openvpn/
выключаем ufw:
ufw disable
и установим нужные пакеты:
apt-get install -y sudo nano curl perl python wget git iptables openvpn openssl ca-certificates
Скачиваем скрипт в домашнюю папку root:
git clone https://github.com/Nyr/openvpn-install.git ~/nyr-openvpn
Переходим туда:
cd ~/nyr-openvpn/
Запускаем скрипт:
bash openvpn-install.sh
И вы попадете в так называемый Инсталятор. Где нужно будет отвечать на вопросы или что-то вписывать. Для перехода на следующий этап установки жмите Enter.
Первый делом, предложит ввести внешний IP адрес, но вероятнее всего скрипт сам его определит:
IP address: 111.222.111.222
Следующий этап, выбрать протокол. Мы жжамкали 1 и выбираю UDP.
Далее, выбираете порт. Я поставлю, например 14000.
После этого предложит выбрать DNS сервера. Выбор будет из Google, OpenDNS или текущих, которые на VPS и еще каких-то. Я выбираю OpenDNS, жму 3.
После этого предложит ввести имя клиента. Вводили "pp-runion".
Далее начнется скачивание-утановка пакетов, генерация ключей, сертификатов и конфигурационных файлов.
когда все закончится, он поместит конфиг. в домашнюю папку юзера, от имени которого запсукался скрипт.
То есть, сейчас конфиг лежит по адресу:
/root/
Собственно, на этом конфигурация OpenVPN скриптом завершается.
Можно уже сейчас взять новый конфиг и использовать.
Просто, да?
Интересно, чего он там такого сгенерировал вам, посмотрим на конфиг pp-runion.ovpn:
nano ~/pp-runion.ovpn
>>: (без ключей и сертификатов)
client
dev tun
proto udp
sndbuf 0
rcvbuf 0
remote 111.222.111.222 14000
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
comp-lzo
setenv opt block-outside-dns
key-direction 1
verb 3
<ca>
Все вроде бы нормально, да лучше auth SHA512 явно указать.
Поэтому добавим
auth SHA512
Вот так:
client
dev tun
proto udp
sndbuf 0
rcvbuf 0
remote 111.222.111.222 14000
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
auth SHA512
comp-lzo
setenv opt block-outside-dns
key-direction 1
verb 3
Обратите внимание, что скрипт уже запихнули фичу для предотвращения утечки DNS под клиент Windows:
setenv opt block-outside-dns
Если у вас Linux или MacOS - эту строку лучше закомментировать.
Теперь посмотрим на серверный конфиг server.conf:
nano /etc/openvpn/server.conf
>>:
port 14000
proto udp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem
Здесь также добавляем auth SHA512 (а то работать не будет, если на клиенте указан а на серве нет), делаем verb 0.
Также нужно проделать следующее.
Нужно закомментировать строку
status openvpn-status.log
И добавить log:
log /dev/null 2>&1
Где-то выше писал, зачем он нужен.
Получилось так:
port 14000
proto udp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
cipher AES-256-CBC
auth SHA512
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
#status openvpn-status.log
log /dev/null 2>&1
verb 0
crl-verify crl.pem
О Чудо!
На Github существует Open Source скрипт, который позволяет быстро и легко поднять OpenVPN сервер на вашем VPS.
Скрипт называтся openvpn-install, и вот ссылка на Github: nyr/openvpn-install
И этого скрипта есть куча форков, которые вы можете изучить.
Посмотреть исходный код можно здесь.
Приступим.
Работаем под пользователем root или суперпользователем.
Для начала, обновим систему:
apt-get update && apt-get dist-upgrade -y
Если вы уже пытались поднять OpenVPN вручную, но у вас ничего не получилось, то нужно сначала его полностью снести.
Удаляем openvpn:
apt-get remove --purge openvpn
удаляем папку:
rm -rf /etc/openvpn/
выключаем ufw:
ufw disable
и установим нужные пакеты:
apt-get install -y sudo nano curl perl python wget git iptables openvpn openssl ca-certificates
Скачиваем скрипт в домашнюю папку root:
git clone https://github.com/Nyr/openvpn-install.git ~/nyr-openvpn
Переходим туда:
cd ~/nyr-openvpn/
Запускаем скрипт:
bash openvpn-install.sh
И вы попадете в так называемый Инсталятор. Где нужно будет отвечать на вопросы или что-то вписывать. Для перехода на следующий этап установки жмите Enter.
Первый делом, предложит ввести внешний IP адрес, но вероятнее всего скрипт сам его определит:
IP address: 111.222.111.222
Следующий этап, выбрать протокол. Мы жжамкали 1 и выбираю UDP.
Далее, выбираете порт. Я поставлю, например 14000.
После этого предложит выбрать DNS сервера. Выбор будет из Google, OpenDNS или текущих, которые на VPS и еще каких-то. Я выбираю OpenDNS, жму 3.
После этого предложит ввести имя клиента. Вводили "pp-runion".
Далее начнется скачивание-утановка пакетов, генерация ключей, сертификатов и конфигурационных файлов.
когда все закончится, он поместит конфиг. в домашнюю папку юзера, от имени которого запсукался скрипт.
То есть, сейчас конфиг лежит по адресу:
/root/
Собственно, на этом конфигурация OpenVPN скриптом завершается.
Можно уже сейчас взять новый конфиг и использовать.
Просто, да?
Интересно, чего он там такого сгенерировал вам, посмотрим на конфиг pp-runion.ovpn:
nano ~/pp-runion.ovpn
>>: (без ключей и сертификатов)
client
dev tun
proto udp
sndbuf 0
rcvbuf 0
remote 111.222.111.222 14000
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
comp-lzo
setenv opt block-outside-dns
key-direction 1
verb 3
<ca>
Все вроде бы нормально, да лучше auth SHA512 явно указать.
Поэтому добавим
auth SHA512
Вот так:
client
dev tun
proto udp
sndbuf 0
rcvbuf 0
remote 111.222.111.222 14000
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
auth SHA512
comp-lzo
setenv opt block-outside-dns
key-direction 1
verb 3
Обратите внимание, что скрипт уже запихнули фичу для предотвращения утечки DNS под клиент Windows:
setenv opt block-outside-dns
Если у вас Linux или MacOS - эту строку лучше закомментировать.
Теперь посмотрим на серверный конфиг server.conf:
nano /etc/openvpn/server.conf
>>:
port 14000
proto udp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem
Здесь также добавляем auth SHA512 (а то работать не будет, если на клиенте указан а на серве нет), делаем verb 0.
Также нужно проделать следующее.
Нужно закомментировать строку
status openvpn-status.log
И добавить log:
log /dev/null 2>&1
Где-то выше писал, зачем он нужен.
Получилось так:
port 14000
proto udp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
cipher AES-256-CBC
auth SHA512
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
#status openvpn-status.log
log /dev/null 2>&1
verb 0
crl-verify crl.pem
Поскольку OpenVPN не встроен по-умолчанию ни в одну популярную ОС, то требуется установить сторонее ПО - клиент OpenVPN.
Windows.
Под Windows есть официальный клиент, называется OpenVPN GUI.
Скачать его можно на офф. сайте OpenVPN ( не реклама )
Скачиваете, устанавливаете. Появится ярлык на раб. столе, после запуска - иконка в трее.
Далее, помещаете ваш .ovpn файл в папку config, в установленной папке OpenVPN.
В общем, если устанавливать OpenVPN GUI по-умолчанию в папку Program Files, то адрес такой:
C:\Program Files\OpenVPN\config
В эту папку кидаем конфиги .ovpn.
Потом из трея можно запускать VPN. Все достаточно просто.
Linux.
На Линукс в репозиориях вашего дистрибутива пакет скорее всего будет называется "openvpn" (еще может openvpn-client), и ставится следующим образом:
sudo apt-get install openvpn
Если у вас Debian-подобные дистрибутивы (Debian, Ubuntu, Mint).
Если у вас дистрибутив другой линейки - сами разберетесь как ставить.
Работает это следующим образом. У вас есть .ovpn файл, далее вы в терминале вводите команду:
sudo openvpn --config <путь до файла .ovpn>
где <путь до файла .ovpn>, собственно, путь до файла .ovpn.
Или можете скормить файл network-manager ' у.
MacOS.
Под MacOS из клиентов OpenVPN я знаю только Tunnelblick.
Скачать его можно здесь. ( не реклама )
Устанавливается просто, требует права суперпользователя.
По-умолчанию будет отпрыать файлы с расширением .ovpn.
Будет иконка в трее, там конектимся.
Можно настроить, что бы коннектился к OpenVPN сразу при загрузке системы.
Когда соеденение обрывается с VPN, интернет пропадает. В этом случае нужно вручную отсоеденяться от VPN.
Android.
Официальный клиент OpenVPN Connect под Android доступен для скачивания на Google Play ( не реклама )
iOS.
Для iOS клиент скачиваем из AppStore. ( не реклама )
Клиенты, предоставляемые провайдером VPN.
Некоторые провайдеры предоставляеют свой собственный OpenVPN клиент под разные ОС и платформы.
Использовать их или нет, решать вам. Но это потенциально не очень безопасно.
Windows.
Под Windows есть официальный клиент, называется OpenVPN GUI.
Скачать его можно на офф. сайте OpenVPN ( не реклама )
Скачиваете, устанавливаете. Появится ярлык на раб. столе, после запуска - иконка в трее.
Далее, помещаете ваш .ovpn файл в папку config, в установленной папке OpenVPN.
В общем, если устанавливать OpenVPN GUI по-умолчанию в папку Program Files, то адрес такой:
C:\Program Files\OpenVPN\config
В эту папку кидаем конфиги .ovpn.
Потом из трея можно запускать VPN. Все достаточно просто.
Linux.
На Линукс в репозиориях вашего дистрибутива пакет скорее всего будет называется "openvpn" (еще может openvpn-client), и ставится следующим образом:
sudo apt-get install openvpn
Если у вас Debian-подобные дистрибутивы (Debian, Ubuntu, Mint).
Если у вас дистрибутив другой линейки - сами разберетесь как ставить.
Работает это следующим образом. У вас есть .ovpn файл, далее вы в терминале вводите команду:
sudo openvpn --config <путь до файла .ovpn>
где <путь до файла .ovpn>, собственно, путь до файла .ovpn.
Или можете скормить файл network-manager ' у.
MacOS.
Под MacOS из клиентов OpenVPN я знаю только Tunnelblick.
Скачать его можно здесь. ( не реклама )
Устанавливается просто, требует права суперпользователя.
По-умолчанию будет отпрыать файлы с расширением .ovpn.
Будет иконка в трее, там конектимся.
Можно настроить, что бы коннектился к OpenVPN сразу при загрузке системы.
Когда соеденение обрывается с VPN, интернет пропадает. В этом случае нужно вручную отсоеденяться от VPN.
Android.
Официальный клиент OpenVPN Connect под Android доступен для скачивания на Google Play ( не реклама )
iOS.
Для iOS клиент скачиваем из AppStore. ( не реклама )
Клиенты, предоставляемые провайдером VPN.
Некоторые провайдеры предоставляеют свой собственный OpenVPN клиент под разные ОС и платформы.
Использовать их или нет, решать вам. Но это потенциально не очень безопасно.
VPN может детектироваться конечным ресурсом (например сайт) какими-то хитро-выебанными способами.
Поэтому, если вам НЕ ПОХУЙ (а мне похуй, например), то читайте дальше.
Для начала можете читануть статью на хабре: Определяем пользователей VPN ( не реклама )
Заходим на browserleaks.com/ip ( не реклама )
И смотрим строку "TCP/IP OS Fingerprinting"
У меня определился OpenVPN.
ЧТО ДЕЛАТЬ?
Если у вас, как у меня, конфиг UDP, то можно проделать следующее.
Мне помогает, если прописать
mssfix 0
На клиенте .ovpn и сервере server.conf
Поэтому, если вам НЕ ПОХУЙ (а мне похуй, например), то читайте дальше.
Для начала можете читануть статью на хабре: Определяем пользователей VPN ( не реклама )
Заходим на browserleaks.com/ip ( не реклама )
И смотрим строку "TCP/IP OS Fingerprinting"
У меня определился OpenVPN.
ЧТО ДЕЛАТЬ?
Если у вас, как у меня, конфиг UDP, то можно проделать следующее.
Мне помогает, если прописать
mssfix 0
На клиенте .ovpn и сервере server.conf
Есть вопросы, замечания, предложения - пишите в личку.
Последнее редактирование: