Если вы выходите в интернет со своего Linux-ноутбука, вам стоит знать об особенностях виртуальных частных сетей (Virtual Private Network, VPN). Эта технология особенно актуальна для тех, кто подключается к Сети через точки доступа, расположенные в общественных местах, однако, во многих ситуациях VPN не повредит и компьютеру, которым пользуются дома.



VPN позволяет защищать данные, передаваемые из точки «А» в точку «Б». Точка «А» — это ваш компьютер. Точка «Б» — это VPN-провайдер, или VPN-система, которую развернули вы сами, либо в облаке, либо где-то ещё, например — в офисе. С VPN-сервисами можно взаимодействовать, используя множество протоколов, но их суть остаётся одной и той же: трафик, который путешествует между компьютером и VPN-сервисом, шифруется. Благодаря этому обеспечивается защита данных от перехвата на пути от пункта отправления к пункту назначения.

В ходе работы с VPN применимо множество сценариев, касающихся маршрутизации. Типичный сценарий заключается в перенаправлении всего трафика по VPN-соединению, но, кроме того, можно применить концепцию «раздельного туннелирования». При таком подходе некоторые данные идут через VPN, а другие — по обычному интернет-соединению в соответствии с правилами маршрутизации.

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

Зачем нужны виртуальные частные сети?


Для начала поговорим о причинах использования VPN. Чаще всего в их число включают соображения конфиденциальности данных и безопасности, но это — далеко не всё.

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

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

VPN может помочь этого избежать, так как при использовании VPN-технологий шифруется весь трафик, идущий через ваше интернет-соединение. Это означает, что провайдер не сможет понять, что именно проходит по вашему каналу связи. Один небольшой недостаток такого подхода заключается в том, что некоторые провайдеры могут обнаруживать и замедлять сам VPN-трафик. Хотя, учитывая разнообразие различных доступных виртуальных частных сетей и протоколов, этого можно избежать, используя сервисы, не пользующиеся широкой известностью (обычно — не OpenVPN).

Защита данных


Классический сценарий использования VPN заключается в применении этой технологии при работе в общедоступных Wi-Fi-сетях. Если вы повсюду носите с собой ноутбук (или телефон, или что угодно другое, выходящее в интернет), значит не будет ничего удивительного в том, чтобы бесплатно подключиться к интернету в каком-нибудь кафе.

Проблема тут заключается в том, что вы не можете точно знать, что происходит с данными, пока они идут от вашего компьютера к службе в интернете, которой вы хотите воспользоваться. Данные могут быть перехвачены кем-то в интернете, или, если Wi-Fi-сеть кафе взломали, прямо в этой сети. Если вы собираетесь работать с данными, которые не должны попадать в чужие руки, будь это посты в социальной сети или банковская информация, вам стоит серьёзно подумать о безопасности. Использование VPN обеспечит надёжную защиту трафика, идущего по общедоступным сетям.

Ещё один весьма распространённый сценарий использования VPN заключается в обеспечении подключения к корпоративным сетям извне. Применение такого подхода означает, что компьютеры таких сетей извне напрямую недоступны. Вместо этого в интернете виден лишь VPN-сервер. Когда пользователи подключаются к VPN, они могут работать с внутренними ресурсами корпоративной сети так, будто они подключаются к ней из офиса. Использование раздельного туннелирования при удалённом подключении к сети организации позволяет, с одной стороны, работать в интернете или в некоей локальной сети обычным образом, но при этом обмениваться данными с корпоративными IP-адресами по VPN.

Тот же подход можно использовать и в домашней сети. Установив VPN-сервер дома, или используя VPN-возможности множества популярных маршрутизаторов, можно подключиться к домашней сети откуда угодно и работать в ней так, будто вы находитесь дома. Это особенно полезно, если у вас есть данные, хранящиеся в NAS, или, возможно, вы хотите удалённо посмотреть картинку с охранной IP-камеры, не открывая доступ к ней из интернета.

Многие организации в наши дни разворачивают инфраструктуры в облаке, используя провайдеров вроде Amazon Web Services. Обычная концепция облачного хостинга — это виртуальное частное облако (Virtual Private Cloud, VPC). Такой подход позволяет компаниям иметь множество серверов, размещённых в облаке и взаимодействующих друг с другом, но недоступных любому, кто подключён к интернету. VPN можно развернуть и внутри VPC, в результате, опять же, внешнему миру оказывается видимо минимальное количество портов, что помогает повысить общий уровень безопасности.

Где расположен VPN?


Одно из соображений, касающихся использования VPN-сервисов, заключается в их географическом расположении. Если вы, скажем, находитесь в Великобритании, но подключены к VPN, который находится в другой стране, скажем, в США, это повлияет на такие виды деятельности, как, например, просмотр веб-страниц, так как целевой сервер будет видеть лишь ваш «выходной» IP, который является IP-адресом сервера, на который вы, в конечном итоге, перенаправляете трафик.

Подобное вас вполне может не устроить. Например, если вы пользуетесь Google, всё может быть на непонятном для вас языке, или нужные вам данные могут быть заблокированы по географическому принципу. Но тут есть и плюсы — например, если вы находитесь за границей и пользуетесь VPN, расположенным в Великобритании, для того, чтобы работать с данными, доступ к которым из других мест может быть ограничен (отличный пример — BBC iPlayer).

VPN и VPS


Возможно, если вы интересуетесь темой VPN, вы слышали о VPS и хотите узнать о том, что это такое, и в чём разница между VPN и VPS. VPS — это виртуальный частный сервер (Virtual Private server) — виртуальный компьютер, размещённый в облаке. Вот основные характеристики VPN и VPS, раскрывающие особенности этих технологий.

Особенности VPN

  • Эту услугу обычно предоставляют специализированные компании.
  • VPN могут разворачивать технически грамотные пользователи.
  • VPN-услуги широко варьируются в цене — от бесплатных, до очень дорогих.
  • Обычно качество VPN зависит от его стоимости.
  • Если ключ шифрования совместно используется разными пользователями, данные, в теории, могут быть перехвачены.
  • Популярные VPN-провайдеры часто имеют точки присутствия (PoP, Point of Presence) в разных странах.
  • Скорость доступа обычно варьируется в зависимости от расположения пользователя.

Особенности VPS

  • VPS-провайдеры предоставляют определённые ресурсы процессора, памяти, хранилища информации и трафика на основе помесячной оплаты.
  • Обычно облачные сервера поставляются с базовыми сборками ОС, которые пользователь может настраивать.
  • Чаще всего это — Linux-сервера.
  • VPS идеально подходят для разворачивания собственного VPN-решения.

Теперь поговорим о лучших VPN-сервисах.

Лучшие VPN-решения для Linux


Вот четыре лучших VPN-решения для Linux, которые можно использовать для защиты интернет-соединений. Первые три — это инструменты из разряда «сделай сам», а четвёртое — традиционный VPN-провайдер.

▍Streisand



Когда дело доходит до развёртывания собственного VPN-сервера, имеется множество вариантов. Можно взять чистую Linux, после чего установить и настроить необходимые пакеты. Такой подход даст максимальный уровень контроля, но потребует немалых затрат времени. Ещё один вариант заключается в использовании инструментов для автоматического развёртывания VPN-сервисов. Существует довольно много опенсорсных проектов, предлагающих такую возможность, наиболее значительным из которых можно признать Streisand.

Скрипт Streisand создаёт новый сервер, использующий L2TP/IPsec, OpenConnect, OpenSSH, OpenVPN, Shadowsocks, sslh, Stunnel, мост Tor, и WireGuard. Это даёт пользователю множество методов подключения, что способно удовлетворить практически любым нуждам, позволяя подключиться к VPN с любой платформы.

Особенно приятно то, что Streisand генерирует инструкции для всех этих служб. После установки пользователь получает HTML-файл руководства, который можно дать друзьям или домочадцам, инструкции по подключению есть и на самом сервере.

Скрипт рассчитан на работу в Ubuntu 16.04 (текущий LTS-релиз), его можно использовать как для подготовки существующего сервера, через интернет, так и для автоматического развёртывания нового на одном из многих облачных VPS-провайдеров, среди которых — Amazon EC2, DigitalOcean, Google Compute Engine, Linode, Rackspace. Разработчики Streisand планируют, в ближайшем будущем, добавить поддержку Amazon Lightsail.

Процесс установки сервера полностью автоматизирован и занимает всего около 10 минут. При необходимости VPS можно полностью переустановить. Это очень удобно и позволяет снизить риск взлома VPS. Streisand — опенсорсный проект, его проверкой занимается множество независимых разработчиков, это позволяет говорить о высоком уровне его безопасности.

▍Algo



В то время, как Streisand — весьма популярная VPN-платформа, это — далеко не единственное решение такого типа. Часто используемая альтернатива — Algo — набор Ansible-скриптов (как и Streisand), который упрощает установку собственного IPSEC VPN. Algo включает, по умолчанию, наиболее безопасные настройки. Он, опять же, работает с популярными облачными провайдерами, и самое главное, не требует клиентского ПО на большинстве устройств, с которых к нему можно подключаться.

Итак, зачем пользоваться Algo а не Streisand? Algo гораздо ограниченнее, чем Streisand, и об этом часто говорят как о его главном преимуществе. Кроме того, Algo поддерживает только IKEv2 с единственной подсистемой шифрования — AES-GCM, HMAC-SHA2, и P-256 DH. Он не устанавливает Tor, OpenVPN или другие сервера, в безопасности использования которых некоторые сомневаются. Algo поддерживает лишь один широко распространённый протокол, он, на большинстве устройств, не требует клиентского ПО. Кроме того, Algo гораздо лучше чем Streisand показывает себя в поддержке большого количества пользователей, предоставляя скрипт, который можно применять после установки сервера для обновления списка пользователей по усмотрению администратора.

Помимо этого основного отличия, многие другие аспекты Algo похожи на Streisand. Он разёртывается на Ubuntu, его можно установить на DigitalOcean, Amazon EC2, Microsoft Azure или на ваш собственный сервер. После завершения установки Algo генерирует требуемые для подключения конфигурационные файлы. Algo, кроме того, имеет собственные необязательные для установки функции, такие, как блокировка рекламы через локальный DNS-преобразователь и HTTP-прокси, и ограниченные SSH-пользователи для туннелирования трафика.

На сайте Algo есть подробности о том, как подключаться к созданным с его помощью VPN-сервисам с устройств, работающих на ОС разработки Apple, с Android и Windows-устройств, и, конечно, с компьютеров, работающих под Linux.

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

Как и в случае со Streisand, проект это опенсорсный, его постоянно обновляют и вносят в него исправления.

▍WireGuard



Множество протоколов и решений VPN, используемых сегодня, существуют уже очень долго, многие считают их неэффективными. Если взглянуть на дискуссии о Streisand и Algo, можно обнаружить массу рассуждений о том, какие сервисы и протоколы нужно включить в эти продукты. Накала страстям добавляют и очень разные подходы, используемые в этих решениях. Как результат, вопрос о том, какими должны быть средства для организации VPN, остаётся открытым. Хотя, ответить на него, возможно, позволит WireGuard.

WireGuard — это очень простой, но быстрый и современный VPN-сервис, который использует актуальные методы шифрования данных. Разработчики говорят о том, что его цель заключается в том, чтобы оказаться быстрее, проще, меньше, удобнее, чем IPSec-сервисы, как в плане работы, так и в плане установки. Говорят, что он создан для того, чтобы быть значительно лучше, чем вездесущий стандарт OpenVPN.

WIreGuard спроектирован как многоцелевой VPN, который может работать на множестве платформ и подходит для всех типов использования. Изначально WireGuard был создан для ядра Linux, но планируется его кроссплатформенность и возможность развёртывания во множестве сред.

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

На сайте WireGuard есть руководство по установке, и, конечно, тут имеется два варианта — скомпилировать его из исходного кода или установить в виде готового пакета. PPA предоставляется для Ubuntu, установить его можно и на таких системах, как Debian, Arch, Fedora, CentOS, OpenSUSE, и на многих других дистрибутивах. Существует его версия и для тех, кто предпочитает macOS.

WireGuard — это кое-что большее, нежели нечто симпатичное, но бесполезное, несмотря на то, что проект находится в стадии активной разработки. Его, по меньшей мере, стоит попробовать. Благодаря его грамотной реализации в виде простого сетевого интерфейса, потрясающей производительности и минимальной поверхности атаки, он вполне может стать популярнейшим VPN-решением будущего.

▍VyprVPN



Что если вместо того, чтобы разворачивать собственное VPN-решение, вы предпочитаете подписаться на использование готовой службы? В этой сфере есть много всего, например, сервис VyprVPN от GoldenFrog, который называют «самым мощным в мире VPN».

Что даёт VyprVPN? Среди его особенностей — высокие скорости, размещение серверов, которых более семисот, в примерно 70-ти местах по всему миру. В распоряжении VyprVPN около 200000 IP-адресов, сервис предлагает простые приложения для широкого диапазона устройств и интеллектуальную технология маскирования OpenVPN-туннелей, называемую Chameleon.

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

Сервис VyprVPN основан на Ubuntu-серверах и на огромное опенсорсном стеке, в который входят OpenVPN, strongSwan, Nginx, OpenSSL, Python и многие другие технологии. Части системы с закрытым кодом — это, в основном, то, что объединяет всё остальное — веб-интерфейсы, клиенты, API и прочее. По оценкам GoldenFrog, код закрыт у примерно 0.7% программного стека компании.

Функция VyprVPN Chameleon тоже имеет закрытый исходный код, но это — один из убедительных аргументов за использование службы. Chameleon основан на OpenVPN. Он берёт пакеты, которые нужно отправить по сети и добавляет слой обфускации, который разработан для противодействия системам глубокой проверки пакетов (DPI, Deep Packet Inspection), тому самому неприятному инструменту, с помощью которого провайдеры выполняют выравнивание трафика.

Кроме того, в отличие от других VPN, Chameleon справляется даже с особо агрессивными провайдерами. Если подобная возможность интересует вас сильнее всего, вполне возможно, что лучшего VPN, чем VyprVPN вам не найти.

▍Итоги


По какой бы причине вы ни занимались поисками VPN-системы для Linux, надеемся, наш обзор дал вам пищу для размышлений. Если вы хотите углубиться в поиски подходящего вам VPN — вот обзор лучших VPN-сервисов 2017-го года, а вот — полезный ресурс для тех, кто занимается подбором VPN.

Уважаемые читатели! Пользуетесь ли вы VPN?