Как собственными руками создать VPN-сервер, который трудно будет заблокировать — подробный гайд

В России и Беларуси все больше ресурсов заблокированы. А в России вообще думают о полном запрете основных VPN-протоколов. Если такое случится и в Беларуси, то все популярные VPN попросту перестанут работать. Но есть решения, которые могут помочь.

23.09.2023 / 19:10

Как купить сервер?

Пока пользоваться ВПНом — законно, но если вдруг ВПНы поставят вне закона, тогда безопаснее покупать будет с иностранной карточки или через криптовалюты.

Здесь есть большой список таких сервисов. 

Если вы имеете возможность купить сервер с иностранной карточки, то вам подойдет сервіс ServerHunter, позволяющий выбрать из десятков тысяч провайдеров. Здесь вы можете выбрать все нужные параметры сервера, что вам и придется сделать.

Важно также, чтобы на сервере была виртуализация KVM — некоторые функции с другими типами могут не работать. Обратите внимание и на то, что вам требуется сервер с не менее чем гигабайтом свободного пространства и, желательно, гигабайтом оперативной памяти, а также с достаточной пропускной мощностью. Желательно, чтобы он не имел ограничений на входящий и исходящий трафик, а также достаточно мощный процессор, чтобы распределять нагрузку.

Обратите внимание — на почту, которую вы указали при регистрации (в случае, если приобретали VPS-сервер), придет первоначальный пароль с именем пользователя root или вам выдадут его в каком-то другом виде. Он пригодится для настройки сервера.

Также вы можете приобрести сервер через Google Cloud Platform, Amazon Web Services или DigitalOcean. Первые два имеют также бесплатный пробный период, за который вам не нужно платить за сервер, но в целом они стоят дороже, чем аналоги от других платформ на том же Serverhunt.

Outline и Amnezia — в чем разница

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

Outline создан в инкубаторе Jigsaw. Этот инкубатор основан Google-ом. Оттуда он получил свое первое финансирование. Сервис работает с одним протоколом передачи данных.

Outline прошел ряд аудитов (1,2,3), которые доказали, что он более или менее безопасно сконструирован и при этом не имеет доступа к трафику пользователей.

Среди минусов — для его схемы работы сервис записывает IP-адрес вашего сервера и то, сколько трафика вы через него «прогнали». Это сделано для оптимизации работы серверов самой линии.

Но в целом безопасности Outline можно доверять.

Amnezia создан программистами из России. Создатели сервиса финансировались из НПО «Роскомсвобода» и «Теплицы социальных технологий», которые, кажется, не успели замазаться в скандалах.

Весь код Amnezia открыт и доступен на Github. Год назад он прошел аудит европейской компании 7ASecurity, которая полностью базируется в ЕС, при поддержке Международного фонда OpenTech Fund. Это не позволит создателям сервиса вставить туда «жучки» незаметно для пользователей.

Он декларирует, что не собирает никаких ваших сведений. Также не ведет логов.

Outline

Вот как установить Outline.

Если вы уже приобрели сервер, то зайдите на сайт и скачайте Outline Manager. Установите, а после откройте ее.

Первое окно Outline Manager. Выберите здесь ваш тип сервера

В нашем случае мы выбирали «Set up Outline anywhere», так как приобрели сервер на другом сервисе. После этого вам откроется строка, которую нужно вставить на сервер.

Строка, которую нужно «скормить» вашему серверу

Для того, чтобы подключиться к серверу, мы советуем использовать ваш логин и пароль, а также ssh, встроенный в любую командную строку на Windows, Linux и Mac. На Windows откройте «Командную строку» через меню пуск или нажмите Win+R и введите «cmd». На Mac зайдите в меню Launchpad и выберите Terminal.

В командной строке введите команду ssh root@*имя сервера* и нажмите Enter (так после всех команд). После этого командная строка спросит, доверяете ли вы серверу (нажмите Y и более у вас переспрашивать не будут), а после — пароль от учетной записи root (его можно скопировать или ввести вручную).

Начало подключения к серверу на Terminal в Mac

Как только вы присоединитесь, введите команду sudo apt update & & sudo apt update — это нужно, чтобы обновить программное обеспечение сервера. Если сервер предлагает выделить свободное место под обновления, нажмите Y.

После ввода Y нажмите Enter

После обновления программного обеспечения лучше перезагрузить сервер, введя команду reboot. Перезагрузка занимает две-три минуты и после можно переподключаться к нему заново.

После введения команды reboot нажмите Enter

После этого скопируйте в командную строку команду, нужную для установки Outline: sudo bash-c «$(wget-qO— https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)». После начнется установка, и если Outline будет не хватать какой-то программы для установки, придется нажимать Y, чтобы разрешить установку.

В нашем случае не хватало Docker и нужно было дать разрешение на установку программы

После установки в командной строке зеленым цветом будет отмечена та строка, которую нужно скопировать в Outline Manager (на нашем скриншоте замазан и начинается с apiUrl). Сделайте это, а после в Outline Manager нажмите Done. После этого откроется следующее окно.

Окно Outline Manager, в который уже добавлен сервер

Теперь вам нужно  скачать клиент Outline с официального сайта. Он существует для всех популярных платформ и даже как плагин для Google Chrome. После этого вернитесь в Outline Manager и нажмите значок «поделиться» (выглядит как ломаная линия с тремя соединенными между собой точками).

Так выглядит страница «Поделиться» в Outline Manager

Нажмите клавишу Copy access key и пришлите его самому себе или человеку, для которого вы настраиваете VPN. После нужно войти в клиент (на примере Android). Сначала откройте программу. Если вы скопировали ключ заранее, то программа сразу вставит его в строку добавления ключа сервера, если нет, то скопируйте его и вставьте туда.

Устанавливается Outline максимально просто: устанавливается Outline на устройстве, копируете ключ из инструкции и вставляете.

Меню добавления сервера в Outline

После этого появится сервер. Все, что вам нужно сделать, чтобы он заработал, — нажать «подключиться» (Connect).

Так выглядит меню Outline с добавленным в него сервером

После этого кружок станет зеленым, а также появится надпись «подключено» (Connected).

Меню Outline, когда программа подключена к серверу

Если вы не хотите, чтобы при осмотре компьютера можно было однозначно утверждать, что вы подключались к серверу, после настройки удалите файл known_hosts. В Windows он находится по пути C:\Users\*имя_пользователя*\.ssh или в другой папке — подробности есть здесь. В Mac он всегда по адресу /Users/*имя_пользователя*/.ssh/.

Также имеет смысл удалить программу Outline Manager с вашего компьютера, так как она может доказывать, что именно вы администрируете сервер.

Если на том компьютере, где настраивали сервер, следы этого удалить, на других устройствах им все равно можно будет пользоваться.

Amnezia

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

Сначала скачайте клиент для вашей системы и установите его. После запустите — откроется окно клиента.

Главное меню программы Amnezia

Нажмите «Настроить собственный сервис» (Set up your own server) и откроется следующее окошко.

Следующее меню настройки собственного сервера в Amnezia

Здесь нужно ввести адрес сервера (который вы уже вводили во время настройки Outline), имя пользователя root и пароль от него. Нажмите «Подключиться» (Connect). Если программа сумела подключиться к серверу, то откроется новое окно.

Следующее окно в Amnezia

Здесь вам нужно выбрать «Запустить инсталятор» (Run Setup Wazard). Если все хорошо, вас пропустит на следующее окошко.

Следующее окно настройки Amnezia

После этого вам предложат выбрать «уровень цензуры в вашей стране». Поскольку Outline, который вы уже установили, предлагает Shadowsocks, который заблокируют первым или одним из первых в случае серьезных блокировок, то мы советуем выбирать High censorship level.

Еще одно окно настройки Amnezia

Далее вам предложат выбрать, под какой ресурс будет маскироваться трафик OpenVPN over Cloak. Мы советуем выбрать что-то нейтральное — rutube.ru, youtube.com, belta.by, maps.google.com или что-то такого рода. Нажмите «Далее» (Next) и начнется настройка сервера, которое займет примерно 5—10 минут. После этого откроется новая страница.

Страница Amnezia после создания сервера

Теперь вы можете спокойно подключаться к нему, нажимая на серую кнопку «Включить». Чтобы поделиться ключом для присоединения к серверу с другими или подключиться к устройству, войдите в настройки, нажав кнопку в верхнем правом углу.

Меню настроек Amnezia

Нажмите «Поделиться подключением» (Share connection).

Меню «Поделиться подключением» клиента Amnezia

Теперь нажмите «Share for Amnezia». Откроется еще одно окно.

Окно Share for Amnezia

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

Сгенерированные ключ и QR-код, в нашем случае — закрытые черными квадратами

После этого вы можете подключиться к VPN, перейдя в него из стартового меню программы в любом клиенте.

Снова — стартовое меню Amnezia

Здесь можно как скопировать ключ, так и импортировать. В мобильных версиях клиента есть также опция «Отсканировать QR код» (Scan QR code).

Среди других возможностей программы — в настройках вы можете через настройки сервера добавить другие протоколы (но, кажется, пока хватит и этого). 

Главное предостережение, на которое стоит обратить внимание, — если у вас на компьютере будет стоять клиент Amnezia, с которого вы настраивали сервер, то это будет однозначно указывать на то, что вы его администратор, а не просто пользователь. Возможно, безопаснее будет попросить создать его друга за границей или ставить клиент на компьютере, до которого не доберутся силовики при обыске.

Собственный «обычный» VPN или более сложный сервис для обхода цензуры

В принципе, вы можете создать свой «обычный» VPN-сервер. Большого преимущества, по большому счету, это не дает — в случае блокировок VPN, как сейчас в России, этот вариант не будет работать. Но рассказать о нем стоит.

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

Первый — OpenVPN, «золотой стандарт» протоколов. Он разрабатывается давно и имеет немного уязвимостей, поддерживается всеми возможными операционными системами и очень хорошо защищен. Правда, он и один из самых сложных в установке — здесь есть подробный гайд по установке через скрипт (при выборе DNS мы советуем выбрать вариант 1.1.1.1). Здесь есть большой гайд по установке и настройкам сервера OpenVPN без скрипта — это более безопасный вариант.

IKEv2, протокол, разработанный Microsoft и Cisco с прицелом на высокую скорость с достаточной безопасностью. Проблема в том, что клиенты для подключения к нему есть не во всех системах (кроме Windows). Вот  гайд по его настройке на сервере. 

Wireguard — самый новый, самый быстрый и сравнительно простой в настройке. Но у него проблемы с конфиденциальностью. Например, если вы его установите на свой сервер, он будет вести там логи подключений к перезагрузке сервера (которая возможна де-факто только вручную). Также Wireguard назначает статические адреса сервера каждому пользователю, что весьма непрактично. То есть ставить его следует с осторожностью. Вот гайд по установке Wireguard на Ubuntu.

Кроме них, если вы имеете силы и желание, следует освоить и другие возможности. К примеру, здесь рассказывается, как создать собственный сервер v2ray для обхода блокировок. А в этой статье есть хорошее описание того, какие еще современные технологии существуют и как ими воспользоваться. Есть еще проект Geneva, который предлагает проанализировать трафик в заблокированной среде, чтобы предложить вариант обхода блокировок по «сценариям» внутри программы.

Можно попробовать и браузер TOR, о котором мы подробнее писали в нашем гайде по обходу цензуры..

Итог

К сожалению, на сегодня существует очень мало простых сервисов по созданию собственных сервисов обхода цензуры, которые требуют минимума действий и знаний от пользователя. Даже Outline и Amnezia требуют определенных технических знаний, хотя являются де-факто самыми простыми.

Но важно знать — сервисы обхода блокировок имеет смысл изучать и настраивать заранее, ведь в момент блокировки будет уже поздно.

Читайте также:

Как читать независимые СМИ и не подставляться — подробный гайд

Многие VPN собирают данные и могут передать их силовикам. Рассказываем, как от этого защититься

«Есть способы». Минчанин рассказал, как он и его друзья минимизируют риски чтения независимых СМИ

Nashaniva.com