Приветствую! И сразу к делу. Для чего нужен VPN-сервер? В основном его используют для смены IP-адреса и своей страны чтобы обойти различные блокировки сайтов на работе и дома. Кроме этого, VPN-соединение помогает зашифровать трафик и, таким образом, обеспечивает безопасность передаваемых данных.
В интернете есть куча и маленькая тележка VPN-сервисов, от бесплатных до очень платных. Недостатки бесплатных VPN-сервисов:
- ограничены в скорости
- нестабильность (то всё хорошо, то жутко тормозит)
- ограничения трафика (до нескольких Гигабайт в месяц)
- ограничения периода бесплатного пользования
- периодически нужно искать другие сервисы
- не факт, что передаваемые данные будут в безопасности, совсем не стоит надеяться на анонимность, я бы сказал.
Недостатки платных:
- не всегда есть нужная страна или город
- заезженные 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-сервера
Вы можете посмотреть видео или читать расширенную статью:
Настройка VPN сервера на хостинге – для чайников
В моём распоряжении имеется VPS-сервер KVM хостинг-провайдера AdminVPS. Здесь сразу всё работает, никуда писать не надо.
- При заказе услуги можно выбрать самый простой тарифный план «Micro»
- Все сайты открываются даже на серверах в России
- Есть бесплатный тестовый период 7 дней
- Техподдержка помогает
- Для моих посетителей, при вводе промокода: itlike60 — вы получите реальную скидку 60% на первый платёж.
Далее, первые скриншоты остались от старого хостинга, но всё так же.
«Hostname» вводим любой или имя своего сайта (если в будущем будете размещать на хостинге свой сайт). «OS Template» выбираем «Ubuntu 14.04 64bit» или любую из Ubuntu, Debian, CentOS:
Операционную систему потом можно поменять, если вдруг что не получится.
После оплаты на почту приходят данные для входа в панель управления и Root-пароль для настройки сервера. А также IP-адрес сервера, и именно он будет вашим IP-адресом, когда мы поднимем VPN и подключимся к нему с компьютера
Переходим по ссылке в письме и входим в панель управления. На вкладке «Virtual Servers» будет ваш сервер:
Нажимаем кнопку «Manage» и попадаем в окно администрирования:
Здесь нам ничего не нужно трогать. Единственное что может понадобится – это переустановка операционной системы – кнопка «Reinstall», об этом позже.
Теперь нам нужно подключиться к серверу чтобы посылать ему команды. Для этого будем использовать бесплатную программу Putty.
Распаковываем архив с программой и запускаем файлputty.org.ru\PuTTY PORTABLE\ PuTTY_portable.exe
В поле «Имя хоста» вставляем IP-адрес сервера, который пришёл в письме, также его можно скопировать с панели управления:
и нажимаем «Соединиться». Если выскочило вот такое окно, то жмём «Да»:
Перед нами должно появиться чёрное окно консоли (командная строка). Именно здесь мы и будем давать команды. Но сперва нужно залогиниться. Для этого в поле «login» вводим «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-сервера:
Скрипт находит предполагаемое значение для каждого параметра и предлагает с ним согласиться, т.е. нажать «Enter», либо ввести своё значение.
- Первый параметр – это «IP address». Скрипт должен предложить тот самый айпи VPS-сервера. Так должно быть в 99.9% случаев, но если это, почему-то, не так, то исправьте на правильный адрес.
- Второе — протокол UDP или TCP. Оставляем по умолчанию UDP.
- Идём дальше, «Port: 1194» — соглашаемся.
- «What DNS do you want to use with the VPN?» — выбираем «Google», т.е. вбиваем цифру «2» вместо единички, Enter. Если гугл заблокирован, то оставляем по умолчанию.
- «Client name» — имя пользователя. Можно создать доступ для разных пользователей. По умолчанию «client» — соглашаемся.
- «Press any key…» — нажать «Enter» и подождать несколько минут, пока всё установится и сконфигурируется.
В общем-то, создание VPN сервера на этом закончено, пора пожинать плоды. В процессе инсталляции скрипт создал файл с настройкой для нашего компьютера. Чтобы мы могли использовать сервер, этот файл нужно скачать. Для этого вставляем в командную строку: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».
Скачиваем версию для Windows и устанавливаем её, запускать не надо.
Если в процессе установки будут выскакивать всякие окошки, со всем соглашаемся.
Чтобы подключиться к серверу кликаем на рабочем столе по файлу «client.ovpn» правой кнопкой и выбираем «Start OpenVPN on this config file»:
Появится чёрное окошко с процессом инициализации подключения. Если всё прошло успешно, то последняя строчка должна быть, типа:
Ещё может выпадет окно с вопросом типа новой сети, тогда выбираем «Общественная сеть».
Можно проверять, заходим на сайт 2ip.ru и смотрим свой IP, должен совпадать с IP VPS-сервера:
Также можно проверить какая скорость вашего интернет-подключения через VPN.
Окно консоли сервера теперь смело можно закрывать. А чтобы закрыть впн-соединение и вернуть старый айпи – нужно закрыть окошко от OpenVPN.
Чтобы подключиться в следующий раз, достаточно просто запустить правой кнопкой файл «client.ovpn» с рабочего стола, больше ничего делать не требуется.
С телефоном всё ещё проще, нужно установить через плеймаркет приложение OpenVPN, закачать в память файл client.ovpn, выбрать его в приложении и подключиться к нашему vpn-серверу.
Что если что-то пошло не так
Если чувствуете что из-за вашей ошибки теперь всё идёт наперекосяк, то можно переустановить операционную систему на хостинге. Для этого в панели управления кликаем «Reinstall» (см. скриншот панели) и выбираем новую операционную систему (или ту же):
Давим кнопку «Reinstall» и ждём 10 минут. Также будет выдан новый 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-серверу. Если и так не получится, то нужно искать причину на сервере, написать в службу поддержки.
Если всё заработало, на сайты тупят и открываются с перебоями
Обратите внимание на сообщения в чёрном окне, нет ли там повторяющихся строчек «read from TUN/TAP … (code=234)»
а также на сообщение где-то в середине «WARNING: ‘tun-mtu’ is used inconsistently, local…»:
В этом случае открываем файл client.ovpn в блокноте и в новой самой первой строке пишем:
tun-mtu ‘значение сервера’
значение сервера — это число, указанное в конце строчки в тексте «remote=’tun-mtu 1500′». Подставляем своё значение! В итоге должно получится так:
Делается это потому, что по каким-то причинам значение MTU на компьютере и на VPS-сервере различаются. Файл .ovpn для смартфона оставляем нетронутым!
Пускаем трафик через прокси вообще без настроек
Можно использовать наш VPS/VDS сервер как Proxy Server. Для этого делаем всё как раньше до момента нажатия кнопки «Соединиться» в программе Putty. Не нужно открывать консоль и запускать скрипт. Идём на вкладку «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», вводим логин/пароль. Далее, идём в настройки сети в браузере и прописываем там прокси-сервер. В хроме это «Настройки->Поиск настроек->пишем ‘прокси’->Настройки прокси-сервера». Делаем всё как на скриншоте:
Теперь все сайты будут работать через наш сервер, но только в браузере и некоторых программах. Другие программы не увидят прокси, будут работать напрямую. Нужно в каждой программе в настройках подключения, если они предусмотрены, прописать адрес, порт и тип прокси: Socks4/5. Или устанавливайте OpenVPN и не используйте прокси.
Как пускать через прокси только отдельные сайты
Устанавливаем расширение для Google Chrome или Mozilla Firefox, называется FoxyProxy. В настройках надо добавить наш прокси-сервер:
На вкладке «URL Patterns» добавляем маски сайтов, которые должны открываться через наш сервер. Маска сайта это его имя со звёздочками по бокам.
Всё, теперь добавленный сайт будет ходить через proxy, а все остальные напрямую. Если кликнуть по значку расширения, то можно выбрать пускать все сайты через него или вообще никакие.
Ярлык для автоматическое подключения
Подключать Putty к прокси можно одним кликом. Для этого нужно перед подключением в разделе «Connection->Data» прописать логин сервера, тот, что обычно root
и сохранить сессию со всеми настройками:
Теперь нужно создать ярлык на рабочем столе, в котором указать такие параметры:
«C:\Program Files\PuTTY\putty.exe» -load myvpn -pw пароль_к_серверу
где myvpn — это имя сохранённой сессии. Всё, осталась одна деталь — убрать окно Putty из панели задач в системный трей. Нужно скачать модификацию утилиты отсюда и заменить exe-файл. Теперь в настройках на вкладке Behaviour появится соответствующая галочка, но этого можно и не делать.
Успехов!
Материал взят с сайта it-like.ru