Делаем свой VPN — Streisand и Digital Ocean

У вас в стране блокируют сайты? Используйте VPN. Проще всего купить готовый доступ у компании вроде Astrill или ExpressVPN. А если вас одолевает паранойя, или чем-то не устраивают чужие решения, или в вашей стране блокируют сайты с VPN, можно сделать свой собственнй сервер с кучей примочек. Сейчас расскажу, как сделать свой VPN (и Shadowsocks), для теста на пару месяцев даже денег не надо.

Что понадобится

  1. Компьютер
    Буду показывать на примере Windows, для других систем процесс очень похож.
  2. 1-2 часа
    Для настройки всего софта
  3. PayPal или карта Visa / Mastercard без денег
    Снимут не более 0.1 доллара и вернут; нужно для активации бонусных 10 долларов провайдера (хватит на два месяца)

Что будем делать

  1. Арендуем виртуальный сервер на Digital Ocean
    Можно и любой другой хостинг, главное чтобы он находился в стране, где нет блокировок интернета. Выбрал именно DO потому, что они дают новичку $10 при регистрации по реферальной ссылке, этого хватит на 1-2 месяца аренды сервера. Пропустите этот шаг, если вы любите другой хостинг.
  2. Установим пакет Streisand
    Полный готовый набор с несколькими вариантами VPN, включая ориентированный на Китай Shadowsocks
  3. Настроим свой ПК и смартфон
    Чтобы смотреть YouTube и пользоваться Google Play из-за Великого Китайского Фаервола, либо заходить на LinkedIn в обход Роскомнадзора.

Арендуем сервер

Сделайте всё по этой инструкции (выбирайте Ubuntu 16.04 x64) и возвращайтесь.

Устанавливаем Streisand на сервер

Внимание: инструкция написана для нового пустого сервера. Не используйте её там, где у вас уже что-то работает (блог, NAS, ещё что-нибудь). Эта инструкция сломает существующие настройки сервера. Используйте её только на новом сервере.

Будем вводить команды в терминал Putty. После каждой команды нужно нажать Enter.

  1. Создадим SSH для Streisand

    ssh-keygen
    Нажимаем Enter несколько раз.

  2. Обновляем список пакетов

    sudo apt-get update

  3. Устанавливаем Git

    sudo apt-get install git

  4. Устанавливаем нужные пакеты Python

    sudo apt-get install python-paramiko python-pip python-pycurl python-dev build-essential

  5. Устанавливаем Ansible

    sudo pip install ansible markupsafe

  6. Клонируем ветку Streisand с Github

    git clone https://github.com/jlund/streisand.git && cd streisand

  7. Запускаем Streisand

    ./streisand

  8. Выбираем пукт Localhost
    Вводим цифру 7, нажимаем Enter

    Внимание: инструкция написана для нового пустого сервера. Не используйте её там, где у вас уже что-то работает (блог, NAS, ещё что-нибудь). Эта инструкция сломает существующие настройки сервера. Используйте её только на новом сервере.

  9. Подтверждаем действие
    Вводим streisand, нажимаем Enter.
  10. Ждём 15-30 минут.
    Во время установки в терминале будет бегать много текста, не обращайте внимания. Когда всё закончится, вы увидите строчку вроде root@test-streisand-wtigga: ~/streisand#
  11. Установим логин и пароль для веб-интерфейса

    htpasswd -b -c /etc/nginx/htpasswd ваш_логин ваш_пароль

  12. Перезапустим веб-сервер

    service nginx reload

     

Откроем страницу с настройками

Откройте браузер, напишите там https://ваш_IP_адрес, например

https://104.138.37.80

Браузер ругнётся на плохой сертификат. Если у вас Chrome, в левом нижнем углу будет ссылка Advanced, она позволит открыть страниу по ссылке Proceed to XXXXXX. Введите логин и пароль, которые вы задали в предыдущем шаге.

Если всё сделано правильно, вы увидите вот такую страницу:

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

Shadowsocks

Рекомендую попробовать Shadowsocks, настроить проще всего. В соответствующем пункте страницы настроек уже есть пошаговые инструкции. Например, для Windows она выглядит так:

  1. Скачайте Shadowsocks for Windows
    Если официальный сайт не открывается, клиент можно скачать прямо с собственного сервера, ссылка так же в инструкции. Запустите Shadowsocks.
  2. Пролистайте так, чтобы QR-код из инструкции был примерно по центру экрана
  3. Нажмите правой кнопкой на значок Shadowsocks в трее рядом с часами, перейдите в Servers > Scan QRCode from Screen…
  4. Снова нажмите на Shadowsocks правой кнопкой, выберите Enable.

Вот и всё. Попробуйте зайти на заблокированный сайт.

Без Shadowsocks

 

Shadowsocks работает

Для Android ещё проще: установите клиент (на вашем сервере лежит копия для Android, можно без Google Play), отсканируйте QR-код с этой страницы.

Заключение

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

Свой сервер — как правило, равноценен или дороже готового решения, сложнее в настройке, отсутствует выбор серверов в других странах, может быть медленнее или вообще не работать. Зато “всё своё”, никто не собирает ваши данные, нет ограничений на количество пользователей (зависит от того, сколько потянет арендованный сервер), доступны разнообразные протоколы.

Кроме того, обладая некоторой квалификацией, на том же сервере можно поднять и другие вещи: своё облачное хранилище Nextcloud, например, или блог на WordPress. Мой блог как раз на Digital Ocean и крутится, так что каждая регистрация по реферальной ссылке помогает мне его поддерживать. 🙂

5 комментариев

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *