Настройка VPN/прокси-сервера на хостинге – для чайников

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

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

В интернете есть куча и маленькая тележка VPN-сервисов, от бесплатных до очень платных. Недостатки бесплатных VPN-сервисов:

  • ограничены в скорости
  • нестабильность (то всё хорошо, то жутко тормозит)
  • ограничения трафика (от 500Мб в месяц)
  • ограничения периода бесплатного пользования
  • периодически нужно искать другие сервисы
  • не факт, что передаваемые данные будут в безопасности, совсем не стоит надеяться на анонимность, я бы сказал.

Недостатки платных:

  • не всегда есть нужная страна или город
  • заезженные IP-адреса (используются сотнями клиентов), относится и к бесплатным
  • бывает просто обман без возврата денег, например, трафик не безлимитный, некоторые сервера не работают или слишком медленные

Есть и преимущества VPN-сервисов – это простота использования, относительная дешевизна.

Собственный VPN-сервер на хостинге VPS/VDS

Итак, если нужна конкретная страна или город, или требуется много трафика, который не дают VPN-сервисы, гарантия безопасности — тогда есть смысл заморочиться настройкой личного VPN-сервера. Как правило, это требует глубоких знаний системного администрирования серверов. Но я постарался объяснить всё просто, чтобы разобрался даже чайник)

Недостатки у этого способа тоже есть:

  • всего один IP-адрес, на который вы можете «пересесть»
  • нетривиальная настройка в первый раз
  • платно

Дочитайте до конца, и я покажу как использовать свой VPS сервер для обхода блокировок без настройки на нём VPN.

Что такое VPS/VDS сервер?

Хостинг-провайдеров в интернете бесчисленное множество. Все они позволяют размещать у них свои веб-сайты. Самая популярная услуга – это виртуальный хостинг. Более продвинутая – это выделенный виртуальный сервер – VPS (VDS — это, считай, тоже самое). На VPS можно размещать сайты, поднимать VPN-сервер, почтовый сервер, игровой сервер – да что угодно!

Вам нужно знать, что VPS-сервера бывают нескольких видов: OpenVZ, Xen и KVM. Для работы VPN-сервера нужно KVM. Тип сервера указан в тарифах хостинга. OpenVZ и Xen тоже иногда подходят, но нужно писать в техподдержку хостинга и спрашивать, подключён ли модуль “TUN”. Не вдаваясь в подробности для чего это, просто спрашиваете это. Если нет, то могут ли они включить его. Не помешает также спросить, будет ли работать VPN как таковой (даже на KVM), т.к. некоторые компании прикрывают эту возможность. Ах да, операционная система сервера – Debian, Ubuntu или CentOS (в общем, Linux-подобная). Мощность сервера не имеет значения.

Настройка VPN-сервера

В моём распоряжении имеется VPS-сервер KVM хостинг-провайдера vStoike и альтернативный Webstix. Здесь сразу всё работает, никуда писать не надо. При заказе услуги можно выбрать самый простой тарифный план «Hosting 1»

Заказ VPS-сервера

На Вебстиксе есть тарифы вдвое дешевле. Далее, «Hostname» вводим любой или имя своего сайта (если в будущем будете размещать на хостинге свой сайт). «OS Template» выбираем «Ubuntu 14.04 64bit» или любую из Ubuntu, Debian, CentOS:

Выбор ОС

Операционную систему потом можно поменять, если вдруг что не получится.

После оплаты на почту приходят данные для входа в панель управления и Root-пароль для настройки сервера. А также IP-адрес сервера, и именно он будет вашим IP-адресом, когда мы поднимем VPN и подключимся к нему с компьютера

Данные для входа в панель управления

Переходим по ссылке в письме и входим в панель управления. На вкладке «Virtual Servers» будет ваш сервер:

Управление виртуальным сервером

Нажимаем кнопку «Manage» и попадаем в окно администрирования:

Панель управления и переустановка ОС

Здесь нам ничего не нужно трогать. Единственное что может понадобится – это переустановка операционной системы – кнопка «Reinstall», об этом позже.

Теперь нам нужно подключиться к серверу чтобы посылать ему команды. Для этого будем использовать бесплатную программу Putty.

Скачать Putty

Распаковываем архив с программой и запускаем файл

putty.org.ru\PuTTY PORTABLE\ PuTTY_portable.exe

В поле «Имя хоста» вставляем IP-адрес сервера, который пришёл в письме, также его можно скопировать с панели управления:

Подключение к серверу с помощью Putty

и нажимаем «Соединиться». Если выскочило вот такое окно, то жмём «Да»:

Предупреждение о безопасности

Перед нами должно появиться чёрное окно консоли (командная строка). Именно здесь мы и будем давать команды. Но сперва нужно залогиниться. Для этого в поле «login» вводим «root»

Логин root

Затем копируем из письма root-пароль и вставляем его в поле «password». Чтобы вставить сюда из буфера обмена нужно просто кликнуть один раз правой кнопкой мышки по окну консоли. При этом пароль не печатается на экране, такое чувство что ничего не произошло. Всё нормально, жмём «Enter». Должны проскочить строчки с информацией о системе, если же написало какую-то ошибку, то проверьте всё ещё раз. Также, консоль не будет долго ждать, пока вы ищете root-пароль. Если к тому моменту выскочит ошибка, то запускайте Putty заново.

Установка и запуск главного скрипта

Мы уже на финишной прямой в настройке собственного VPN-сервера. Существует множество инструкций в интернете как установить сервер, но все они требуют знаний системного администратора, ибо мелкие нюансы упускаются из виду. На радость всем чайникам, существует универсальный скрипт «OpenVPN road warrior», который сделает всю работу сам. Нам нужно только дать команду скачать и запустить его.

Итак, копируем эту строчку и вставляем в консольное окно правой кнопкой и жмём «Enter»:

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

Настройка VPN сервера

Проскочат всякие строчки и, если скрипт успешно скачался и запустился, с нами начнётся диалог мастера настройки VPN-сервера:

ip-adres

Скрипт находит предполагаемое значение для каждого параметра и предлагает с ним согласиться, т.е. нажать «Enter», либо ввести своё значение.

  1. Первый параметр – это «IP address». Скрипт должен предложить тот самый айпи VPS-сервера. Так должно быть в 99.9% случаев, но если это, почему-то, не так, то исправьте на правильный адрес.
  2. Второе — протокол UDP или TCP. Оставляем по умолчанию UDP.
  3. Идём дальше, «Port: 1194» — соглашаемся.
  4. «What DNS do you want to use with the VPN?» — выбираем «Google», т.е. вбиваем цифру «2» вместо единички, Enter.
  5. «Client name» — имя пользователя. Можно создать доступ для разных пользователей. По умолчанию «client» — соглашаемся.
  6. «Press any key…» — нажать «Enter» и подождать несколько минут, пока всё установится и сконфигурируется.

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

cat ~/client.ovpn

cat_client.ovpn

На экран будет выведено содержимое файла «client.ovpn». Теперь его надо аккуратно скопировать в буфер обмена. Листаем вверх до ввода команды, выделяем мышкой все строчки, кроме самой последней для новых команд, т.е. последняя выделенная строчка будет “</tls-auth>”. Чтобы скопировать выделенное в буфер обмена жмём «Ctrl-V». Теперь на компьютере в Windows 7/8/10 открываем блокнот и вставляем в него скопированный текст. Сохраняем файл на рабочем столе под именем «client.ovpn».

Пример файла

Если планируется давать доступ к серверу другим людям, то лучше создать для них отдельные файлы, например vasya.ovpn. Для этого просто запускаем скрипт ещё раз и выбираем теперь 1-й пункт — создание нового пользователя.

Установка клиента для Windows 7/8/10/XP и Android

Поздравляю, мы на финишной линии! Теперь только осталось установить бесплатную программу, которая будет подключаться к нашему VPN-серверу. Называется она «OpenVPN».

Скачать OpenVPN

Скачиваем версию для Windows и устанавливаем её, запускать не надо.

Скачать программу

Если в процессе установки будут выскакивать всякие окошки, со всем соглашаемся.

Чтобы подключиться к серверу кликаем на рабочем столе по файлу «client.ovpn» правой кнопкой и выбираем «Start OpenVPN on this config file»:

Подключаемся к серверу VPN

Появится чёрное окошко с процессом инициализации подключения. Если всё прошло успешно, то последняя строчка должна быть, типа:

Успешное соединение

Ещё может выпадет окно с вопросом типа новой сети, тогда выбираем «Общественная сеть».

Можно проверять, заходим на сайт 2ip.ru и смотрим свой IP, должен совпадать с IP VPS-сервера:

Новый IP

Также можно проверить какая скорость вашего интернет-подключения через VPN.

Окно консоли сервера теперь смело можно закрывать. А чтобы закрыть впн-соединение и вернуть старый айпи – нужно закрыть окошко от OpenVPN.

Чтобы подключиться в следующий раз, достаточно просто запустить правой кнопкой файл «client.ovpn» с рабочего стола, больше ничего делать не требуется.

С телефоном всё ещё проще, нужно установить через плеймаркет приложение OpenVPN, закачать в память  файл client.ovpn и подключиться к нашему vpn-серверу.

Что если что-то пошло не так

Если чувствуете что из-за вашей ошибки теперь всё идёт наперекосяк, то можно переустановить операционную систему на хостинге. Для этого в панели управления кликаем «Reinstall» (см. скриншот панели) и выбираем новую операционную систему (или ту же):

reinstall

Давим кнопку «Reinstall» и ждём 10 минут. Также будет выдан новый Root-пароль, не потеряйте его!

new_root

Ошибки при подключении

Большинство проблем возникает на этапе подключения к серверу в программе OpenVPN, особенно в Windows 8/10. В чёрном окошке могут быть ошибки, например: «FlushIpNetTable failed on interface», «All TAP-Win32 adapters on this system are currently in use», «CreateFile failed on TAP device» или «DNS failed..».

При этом первое что надо сделать — это дать программе права администратора и, соответственно, заходить в систему с правами администратора. Идём в «C:\Program Files\OpenVPN\bin\», кликаем правой кнопкой по файлу openvpn.exe -> свойства. На вкладке «Совместимость» ставим галку «Выполнять эту программу от имени администратора». Теперь всё должно работать.
Ещё варианты лечения:

  • удалить программу и переустановить от имени админа
  • выключить службу «Маршрутизация и удалённый доступ» (“Routing and Remote Access”)
  • попробовать переустановить из этого инсталлятора или отсюда
  • удалить все впн’овские программы и приблуды от других платных и бесплатных сервисов

Понять, точно ли проблема в компьютере, можно, если установить через плеймаркет приложение OpenVPN на телефон, закачать на него файл client.ovpn и подключиться к нашему vpn-серверу. Если и так не получится, то нужно искать причину на сервере, написать в службу поддержки.

Пускаем трафик через прокси вообще без настроек

Можно использовать наш VPS/VDS сервер как Proxy Server. Для этого делаем всё как раньше до момента нажатия кнопки «Соединиться». Идём на вкладку «SSH->Tunnel», прописываем Source Port: 3128

прокси-сервер

Упс, статью дописывал позже, тут у меня Putty на английском, но суть та же.

Если пишет ошибку «You need to specify a destination address in the form host.name:port», то переключите на «Dynamic» вместо «Local».

Ещё на вкладке «Connection» в поле «Seconds between keepalives…» ставим 100 секунд, это надо чтобы коннект не разрывался из-за простоя. Теперь подключаемся — нажимаем «Open», вводим логин/пароль. Далее идём в настройки сети в браузере и прописываем там прокси-сервер. В хроме это «Настройки->Показать дополнительные настройки->Сеть->Изменить настройки прокси-сервера». Делаем всё как на скриншоте:

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

Как пускать через прокси только отдельные сайты

Устанавливаем расширение для Google Chrome или Mozilla Firefox, называется FoxyProxy. В настройках надо добавить наш прокси-сервер:

FoxyProxy

Добавляем сервер

На вкладке «URL Patterns» добавляем маски сайтов, которые должны открываться через наш сервер. Маска сайта это его имя со звёздочками по бокам.

Добавляем маску сайта

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

Ярлык для автоматическое подключения

Подключать Putty к прокси можно одним кликом. Для этого нужно перед подключением в разделе «Connection->Data» прописать логина сервере, тот, что обычно root

Автологин

и сохранить сессию со всеми настройками:

Сохранение сессии

Теперь нужно создать ярлык на рабочем столе, в котором указать такие параметры:

Ярлык для Putty

«C:\Program Files\PuTTY\putty.exe» -load myvpn -pw пароль

где myvpn — это имя сохранённой сессии, пароль к серверу. Всё, осталась одна деталь, чтобы убрать окно Putty из панели задач в системный трей нужно скачать модификацию утилиты отсюда и заменить exe-файл. Теперь в настройках на вкладке Behaviour появится соответствующая галочка, но этого можно и не делать.

Успехов!

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(66 голосов, в среднем: 4.7 из 5)