Digitalocean vpn настройка
Инструкция: как настроить и запустить собственный VPN-сервер за 15 минут, даже если вы не разбираетесь в программировании
- Статьи, 17 апреля 2017 в 23:49
Материал предоставлен Нуру Набиевым, нашим подписчиком
На фоне новых законов о регулировании трафика все больше людей начинают волноваться о своей конфиденциальности в сети. Однако это не означает, что вы должны платить большие деньги VPN-сервисам и туннелировать весь ваш интернет-трафик через незнакомые VPN-серверы. В этой статье я расскажу о создании собственного VPN-сервера за 15 минут.
VPN не делает вас анонимным пользователем интернета
Так что же такое тогда VPN и для чего она нужна? В этой части статьи я кратко расскажу о функции VPN, а далее разберемся с настройкой собственного сервера.
Каждый раз, когда вы подключаете свой компьютер или смартфон к VPN-серверу, вы устанавливаете зашифрованный туннель между вашим устройством и этим сервером. Никто не может видеть, какие данные передаются внутри этого туннеля, даже ваш провайдер.
И все же, это не делает вас анонимным пользователем. Вы просто перекладываете риск на тот самый туннель VPN, а компания, которая предоставляет VPN-сервис, может видеть весь ваш интернет-трафик. Такие компании могут продавать ваши данные в рекламных целях.
Вот почему я не рекомендую подписываться на незнакомые вам VPN-сервисы и еще и платить им — третьи лица могут продавать ваши данные налево и направо.
В качестве примечания, многие сайты теперь полагаются на HTTPS для установления безопасного соединения между вашим браузером и веб-сайтом, который вы используете. Вы должны устанавливать расширение HTTPS везде и использовать его при любой возможности.
Но VPN-сервисы могут быть и полезны. Иногда вы не можете получить доступ к веб-сайту из общедоступной сети, так как он заблокирован. Например, если вы находитесь в Китае, то вам придется использовать VPN, чтобы иметь доступ к своей учетной записи Gmail.
Инструкция: настраиваем и запускаем собственный VPN-сервер
Нам подойдет Algo VPN — набор скриптов, которые позволят нам настроить VPN в облаке за очень короткое время, даже если вы не очень разбираетесь в программировании.
Я создал VPN-сервер на DigitalOcean, это сервер Scaleway в связке с Amazon Web Services. Через пару минут после этого я уже смог подключиться ко всем этим VPN-сетям с моего Mac и iPhone.
Algo VPN автоматизирует процесс установки VPN, поэтому вам не нужно устанавливать соединение SSH с сервером и запускать сложные командные строки.
Для начала, вы должны подписаться на облачного провайдера (в данном случае это DigitalOcean) и запустить мастер настройки Algo VPN на вашем терминале. Я подробно опишу процесс установки позже, однако он может измениться после публикации этого поста. Все объявления можете найти в официальном репозитории GitHub.
В DigitalOcean нам не нужно создавать и настраивать собственный сервер. Algo VPN позаботится об этом для нас, так как он использует API DigitalOcean для создания сервера и установки всего необходимого для VPN.
В конце установки вы получите несколько файлов на локальном жестком диске. Например, в macOS двойной щелчок на профиле конфигурации добавит VPN-сервер к вашим сетевым настройкам и подключит вас к вашему VPN-серверу. Вам не нужно устанавливать VPN-клиент, он работает изначально на macOS и iOS.
Подробная инструкция со скриптами
1. Создайте учетную запись на хостинг-провайдере DigitalOcean.
Algo поддерживает DigitalOcean (наиболее доверенный), Amazon EC2, Google Compute Engine, и Microsoft Azure.
2. Загрузите Algo VPN на свой локальный компьютер.
Содержимое архива разархивируйте в отдельную директорию.
3. Установите зависимости с командной строкой на этой странице.
Откройте терминал. Интерпретатор python, который вы используете для развертывания Algo, должен быть второй версии. cd в algo-master директорию (где вы разархивировали Algo), далее:
Для macOS:
Для Linux (deb-based):
Более подробная информация для каждой ОС содержится в официальной документации.
4. Установите остальные зависимости Algo для вашей операционной системы.
Используя то же окно терминала, что и на предыдущем шаге, выполните команду ниже:
В macOS вам может быть предложено установить cc , установите его, если это так.
5. Укажите пользователей, которых вы хотите создать.
Откройте config.cfg в вашем любимом текстовом редакторе, после чего укажите пользователей в списке users .
6. Начинайте развертывание.
Вернитесь к своему терминалу. В директории Algo запустите ./algo и следуйте инструкциям. Существует несколько дополнительных функций. Эти дополнительные функции более подробно описаны в ROLES.md (на GitHub).
На этом все! Подробную инструкцию вы сможете найти в официальном репозитории GitHub.
Одноразовые VPN
Запуск собственного VPN-сервера не означает, что вы будете в полной безопасности в Интернете. Еще раз, вы переносите ваш риск на туннель к провайдеру облачного хостинга.
Если вы используете Algo VPN для Microsoft Azure, Роскомнадзор или АНБ может запрашивать у Microsoft дополнительную информацию о вас, если они посчитают это необходимым. Не забывайте, что у Microsoft есть ваша платежная информация.
Но в Algo VPN есть возможность настроить одноразовые VPN. Вы можете загрузить новый VPN-сервер и подключиться к этой VPN всего за несколько минут. Как только вы закончите, вы можете просто удалить свой экземпляр и сделать вид, что этот VPN-сервер никогда не существовал.
Это намного дешевле, чем подписка на услугу VPN, оплата которой стоит около 0,006 долл. США за час использования или даже меньше. И вы получите гораздо лучшую производительность, так как вы не будете передавать свой VPN-сервер другим пользователям VPN. Я добился удивительных сетевых характеристик от моего сервера AWS VPN:
Хотя Algo VPN упрощает настройку VPN-сервера на DigitalOcean, AWS, Microsoft Azure и Google Cloud, он отлично справится и на самом маленьком облачном сервере под Ubuntu.
UPD от 13 апреля 2018 г.
Ещё более быстрый способ развёртывания собственного VPN:
- Заходим на DigitalOcean и регистрируемся по этой ссылке (да, она реферальная, но вы получите 10 долларов на счёт);
- Затем заходим сюда и логинимся через DO;
- В итоге скрипт соберёт дроплет с VPN и после установки предоставит вам все необходимые настройки.
Инструкция по созданию собственного VPN-сервера
Инструкция: настраиваем и запускаем собственный VPN-сервер
Нам подойдет Algo VPN — набор скриптов, которые позволят нам настроить VPN в облаке за очень короткое время, даже если вы не очень разбираетесь в программировании.
Я создал VPN-сервер на DigitalOcean, это сервер Scaleway в связке с Amazon Web Services. Через пару минут после этого я уже смог подключиться ко всем этим VPN-сетям с моего Mac и iPhone.
Algo VPN автоматизирует процесс установки VPN, поэтому вам не нужно устанавливать соединение SSH с сервером и запускать сложные командные строки.
Для начала, вы должны подписаться на облачного провайдера (в данном случае это DigitalOcean) и запустить мастер настройки Algo VPN на вашем терминале. Я подробно опишу процесс установки позже, однако он может измениться после публикации этого поста. Все объявления можете найти в официальном репозитории GitHub.
В DigitalOcean нам не нужно создавать и настраивать собственный сервер. Algo VPN позаботится об этом для нас, так как он использует API DigitalOcean для создания сервера и установки всего необходимого для VPN.
В конце установки вы получите несколько файлов на локальном жестком диске. Например, в macOS двойной щелчок на профиле конфигурации добавит VPN-сервер к вашим сетевым настройкам и подключит вас к вашему VPN-серверу. Вам не нужно устанавливать VPN-клиент, он работает изначально на macOS и iOS.
Подробная инструкция со скриптами
1. Создайте учетную запись на хостинг-провайдере DigitalOcean.
Algo поддерживает DigitalOcean (наиболее доверенный), Amazon EC2, Google Compute Engine, и Microsoft Azure.
2. Загрузите Algo VPN на свой локальный компьютер.
Содержимое архива разархивируйте в отдельную директорию.
3. Установите зависимости с командной строкой на этой странице.
Откройте терминал. Интерпретатор python, который вы используете для развертывания Algo, должен быть второй версии. cd в algo-master директорию (где вы разархивировали Algo), далее:
$ python -m ensurepip —user
$ python -m pip install —user —upgrade virtualenv
Для Linux (deb-based):
$ sudo apt-get update && sudo apt-get install
build-essential
libssl-dev
libffi-dev
python-dev
python-pip
python-setuptools
python-virtualenv –y
Более подробная информация для каждой ОС содержится в официальной документации.
4. Установите остальные зависимости Algo для вашей операционной системы.
Используя то же окно терминала, что и на предыдущем шаге, выполните команду ниже:
$ python -m virtualenv env && source env/bin/activate && python -m pip install -r requirements.txt
В macOS вам может быть предложено установить cc, установите его, если это так.
5. Укажите пользователей, которых вы хотите создать.
Откройте config.cfg в вашем любимом текстовом редакторе, после чего укажите пользователей в списке users.
6. Начинайте развертывание.
Вернитесь к своему терминалу. В директории Algo запустите ./algo и следуйте инструкциям. Существует несколько дополнительных функций. Эти дополнительные функции более подробно описаны в ROLES.md (на GitHub).
На этом все! Подробную инструкцию вы сможете найти в официальном репозитории GitHub.
Запуск собственного VPN-сервера не означает, что вы будете в полной безопасности в Интернете. Еще раз, вы переносите ваш риск на туннель к провайдеру облачного хостинга.
Если вы используете Algo VPN для Microsoft Azure, Роскомнадзор или АНБ может запрашивать у Microsoft дополнительную информацию о вас, если они посчитают это необходимым. Не забывайте, что у Microsoft есть ваша платежная информация.
Но в Algo VPN есть возможность настроить одноразовые VPN. Вы можете загрузить новый VPN-сервер и подключиться к этой VPN всего за несколько минут. Как только вы закончите, вы можете просто удалить свой экземпляр и сделать вид, что этот VPN-сервер никогда не существовал.
Это намного дешевле, чем подписка на услугу VPN, оплата которой стоит около 0,006 долл. США за час использования или даже меньше. И вы получите гораздо лучшую производительность, так как вы не будете передавать свой VPN-сервер другим пользователям VPN. Я добился удивительных сетевых характеристик от моего сервера AWS VPN:
Хотя Algo VPN упрощает настройку VPN-сервера на DigitalOcean, AWS, Microsoft Azure и Google Cloud, он отлично справится и на самом маленьком облачном сервере под Ubuntu.
Contents
- Русский
- English
- Português
Share
Sign up for our newsletter.
Get the latest tutorials on SysAdmin and open source topics.
Как настроить VPN с помощью PPTP
By Bulat Khamitov
Введение
Один из часто задаваемых нашими пользователями вопросов — как добавить другой IP-адрес к их серверу. Вы можете назначить свой приватный IP-адрес Вашему дроплету путем создания VPN-туннеля. Для построения своей собственной виртуальной частной сети (VPN) или присвоения SSL-сертификата этому IP-адресу существует несколько вариантов. Из всех возможных вариантов наиболее оптимальным является выбор между PPTP и OpenVPN. Point-To-Point Tunneling Protocol (PPTP) позволяет Вам поднять свой VPN очень быстро и является совместимым с большинством мобильных устройств. И хотя PPTP менее безопасен, чем OpenVPN, он быстрее и использует меньше ресурсов процессора.
Шаг 1 — Установка PPTP
Вам необходимо выбрать один сервер, который будет отвечать за раздачу IP-адресов другим серверам и авторизацию всех Ваших серверов в Вашей VPN. Он и станет Вашим PPTP-сервером.
На CentOS 6 x64:
На Ubuntu 12.10 x64:
Теперь необходимо отредактировать файл /etc/pptpd.conf , добавив в него следующие строчки:
В данном случае, localip — это IP-адрес вашего сервера, а remoteip — IP-адреса, которые будут присваиваться клиентам, которые в ним соединяются.
Затем Вам необходимо настроить авторизацию для PPTP путем добавления пользователей и их паролей. Просто добавьте их в /etc/ppp/chap-secrets :
Здесь сlient — это имя пользователя (логин), server — тип сервиса (в нашем примере — pptpd), secret — пароль, а в IP addresses указывается, какие IP-адреса могут авторизоваться (с данным логином и паролем). Установив в поле IP-адресов звёздочку * Вы указываете, что данная пара логин/пароль должна приниматься с любого IP.
Шаг 2 — Добавление DNS-серверов в /etc/ppp/pptpd-options
Теперь Вы можете запустить PPTP-демон:
Проверьте, что он работает и принимает соединения:
Шаг 3 — Настройка форвардинга (Forwarding)
Очень важно включить форвардинг IP на Вашем PPTP-сервере. Это позволит Вам пересылать пакеты между публичным IP и приватными IP, которые Вы настроили при помощи PPTP. Просто отредактируйте /etc/sysctl.conf , добавив туда следующую строку, если ее там еще не было:
Для применения изменений выполните команду sysctl -p
Шаг 4 — Создание NAT-правил для iptables
Если Вы также хотите, чтобы Ваши PPTP-клиенты могли общаться между собой, добавьте следующие правила для iptables:
Теперь Ваш PPTP-сервер также работает и как роутер.
Если Вы хотите установить ограничение на то, какие сервера могут соединяться с Вашими дроплетами, Вы можете задать правило для IP-таблиц, которое ограничивает TCP-соединения к порту 1723.
Шаг 5 — Настройка клиентов
Установите PPTP-клиент на Ваших клиентских серверах:
Шаг 6 — Добавление необходимого модуля ядра
Создайте новый файл /etc/ppp/peers/pptpserver и добавьте туда следующие строчки, заменяя имя и пароль Вашими значениями:
Здесь 198.211.104.17 — публичный IP-адрес нашего PPTP-сервера, box1 и 24oiunOi24 — это пара логин/пароль, которые мы задали в файле /etc/ppp/chap-secrets на нашем PPTP-сервере.
Теперь мы можем “вызывать” этот PPTP-сервер. В следующей команде необходимо использовать имя, которое Вы дали файлу с пирами (peers) в директории /etc/ppp/peers/ . Поскольку в нашем примере мы назвали этот файл pptpserver , наша команда выглядит следующим образом:
Вы должны увидеть успешное подключение в логах PPTP-сервера:
На Вашем PPTP-клиенте настройте маршрутизацию на Вашу приватную сеть через интерфейс ppp0:
Ваш интерфейс ppp0 должен быть настроен, что можно проверить путем запуска ifconfig
Теперь Вы можете сделать пинг к Вашему PPTP-серверу и любым другим клиентам, подключенным к этой сети:
Мы можем добавить второй PPTP-клиент к этой сети:
Добавьте необходимые строки в файл /etc/ppp/peers/pptpserver (заменяя логины и пароли своими):
Теперь на втором клиенте выполните следующие команды:
Вы можете сделать пинг к первому клиенту, при этом пакеты будут идти через PPTP-сервер и перенаправляться по правилам ip-таблиц, которые мы задали ранее:
Такая настройка позволит Вам создать Вашу собственную виртуальную частную сеть:
Если Вы хотите, чтобы все ваши устройства общались безопасно в рамках одной сети, это наиболее быстрый способ сделать это.
Вы можете использовать такой подход совместно с Nginx, Squid, MySQL и любыми другими приложениями.
Поскольку трафик внутри сети шифруется 128-битным шифрованием, PPTP меньше нагружает процессор, чем OpenVPN, но все же обеспечивает дополнительный уровень безопасности Вашего трафика.
Umputun тут был
Свой собственный VPN за 3 минуты
Это простое руководство для обычных людей, тем кому нужен VPN для каких-то благих целей. Например, доступаться к тому к чему вас не подпускают, обходить разные глупые цензуры и, наконец, немного скрыть свои следы в сети.
Мое мини-руководство рассчитано на человека с улицы, без особого гиковского опыта, но достаточно комфортно чувствующего себя в мире компьютеров. Если у вас возникнут уточнения, пояснения и прочие поправки упрощающие процесс понимания — пишите в комментарии и я добавлю в основной текст.
- Поднять подходящий дроплет в DigitalOcean
- Добавить в этот дроплет VPN
- Настроить ваш компьютер для доступа через этот VPN
Поднимаем дроплет
Первым делом надо завести себе экаунт на DigitalOcean. Это можно (и нужно 😉 сделать по моей реферальной ссылке либо прямо с их сайта. Цена вопроса — $5/мес. За эти деньги вы получите 1Т трафика в месяц, что на практике более чем достаточно. В принципе и четверти от этого нормальному человеку хватит на месяц, а значит можно скооперироваться с друзьями/коллегами и использовать общий VPN дроплет для целой группы товарищей. И еще в сети можно найти вполне законные промо-коды для скидок и подарков, например у нас на радио-т есть такой на $10, что хватит на целых 2 месяца работы нашего VPN.
Далее запускаем новый дроплет кликнув на зеленый “CREATE”. Даем ему какое-нибудь имя (любое) на ваш вкус. Я, например, дал своему “vpn.umputun.com”. Выбираем (в “Select Size”) 512MB/1CPU, а в “Select Region” то место, где вы хотите расположить свой VPN. Если вас не волнует доступ к ресурсам которые работают только из США, то разумнее всего выбирать регион близкий к вам (Amsterdam или London для жителей бывшего СССР).
В секции “Select Image” переходим в “Applications” и там выбираем “Docker 1.4.1 on Ubuntu”
После этого жмем на “Create Droplet” и ждем минуту (иногда чуть больше) пока оно создается.
Добавляем VPN в наш дроплет
Первым делом надо зайти в консоль вновь созданного дроплета. Это звучит страшно, но на самом деле все очень просто. К этому моменту вам на почту уже должен добраться email с паролем. Если по какой-то причине он не пришел, то в списке Droplets находим наш свеже-созданный, выбираем Access и просим “Reset Root Password”.
Через пару минут пароль придет в почту и мы готовы к доступу. Нажимаем на “Console Access” и на запрос “login” вводим root, а на запрос Password – полученный на почту пароль.
В нашей консоли создаем VPN сервер набрав вот это и нажав Enter: C >
Это будет работать несколько минут выказывая минимальные признаки жизни. Не волнуемся, оно все, что надо сделает и выйдет.
Следующим шагом делаем это: docker run -t -i -p 8080:8080 —volumes-from $CID umputun/dockvpn serveconfig
Оно должно выдать нечто типа https://1.1.1.1:8080/ (у вас будет другой адрес). Берем эту строку и вносим в ваш браузер. Оно (в зависимости от бразуера) может пожаловаться на сертификат и попросить подтверждения, которое надо дать. После этого загрузится файл который нам понадобится на следующем, последнем этапе. А пока нажмем Ctrl-C в консоли и переходим к последнему шагу.
Если вы ввели адрес в браузере а файл не загрузился – попробуйте запустить docker run -t -i -p 8181:8080 —volumes-from $CID umputun/dockvpn serveconfig и потом откройте https://1.1.1.1:8181/ , может помочь.
Устанавливаем VPN соединение
Нам понадобится поставить OpenVPN клиент для вашей платформы. Я установил Tunnelblick на Mac, но клиенты есть и для всех прочих систем. А на этом сайте понятная и подробная инструкция по установке для windows.
После этого переименуйте файл который мы загрузили на прошлом этапе в vpn.ovpn и кликните по нему. Это добавит наш вновь созданный сервер в вашу, вновь установленную программу клиента и приготовит все, что надо приготовить. В процессе, в зависимости от вашей ОС и установленного OpenVPN клиента, оно может попросить согласиться с тем и этим и задать пару вопросов на которые смело отвечайте “Да”.
Собственно на этом и все. Кликаем на Connect и мы подключены.
Теперь можно убедиться в том, что все работает. Если зайти на wanip.info то оно покажет вам всю правду, а именно то, что вы подключены с адреса вашего VPN сервера и, с точки зрения всех сайтов, приходите из Амстердама/Лондона/NY в зависимости от того, что выбрали в “Select Region” на первом этапе.
Для подключения дополнительных компьютеров просто повторите последний шаг. Да, и имейте в виду, что раздавать свой vpn.ovpn файл всему интернету — это плохая идея. 1Т это конечно много, но не настолько много, чтоб хватило всем.
Если после соединения вы не можете ни к чему подключится, то возможно проблемы с DNS на стороне DigitalOcean. Лично у меня таких проблем никогда не возникало, но в комментариях люди жаловались. Чтоб это починить откройте скаченный файл (vpn.ovpn) и добавьте в него строку dhcp-option DNS 8.8.8.8 .
образ umputun/dockvpn это копия jpetazzo/openvpn из его свежих исходников. Единственная цель зачем я его собрал это то, что у автора он не строится автоматически и последние изменения там сами не появились.
Последнее обновление: 1 Июля 2014 (для umputun/dockvpn с длинным ключом)